Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Changes to streaming? #825

Open
IBBoard opened this issue Apr 6, 2018 · 14 comments
Open

Changes to streaming? #825

IBBoard opened this issue Apr 6, 2018 · 14 comments

Comments

@IBBoard
Copy link
Contributor

IBBoard commented Apr 6, 2018

I just saw this via Tim Bray and wondered whether it would affect Corebird:

http://apps-of-a-feather.com/

After June 19th, 2018, “streaming services” at Twitter will be removed. This means two things for third-party apps:

Push notifications will no longer arrive
Timelines won’t refresh automatically

If you use an app like Talon, Tweetbot, Tweetings, or Twitterrific, there is no way for its developer to fix these issues.

I think that Corebird just polls the API, so it shouldn't break anything, but I wanted to check/report it if it did.

@baedert
Copy link
Owner

baedert commented Apr 6, 2018

It doesn't poll at all and uses the userstream API, so is affected.

@IBBoard
Copy link
Contributor Author

IBBoard commented Apr 6, 2018

Okay. I couldn't remember how it worked. I thought I remembered code that asked for X posts since ID YYY, but maybe that was just scrollback.

Hopefully someone works out a solution before everything breaks, because the Twitter web interface is AWFUL.

@IBBoard
Copy link
Contributor Author

IBBoard commented Aug 11, 2018

I'm getting desperate and working on this myself. It's not going to be pretty, and it'll never have all of the functionality (like updating "Liked" counts or muting of existing messages) but I've got the core of it working locally!

@Vistaus
Copy link

Vistaus commented Aug 11, 2018

@IBBoard But Corebird will stop working within a few weeks, so why bother?
https://www.patreon.com/posts/corebirds-future-18921328

And it's not like you could just turn this into a fork, unless you're a millionaire who can pay Twitter's absurd prices ($2,899 per month for 250 users).

@IBBoard
Copy link
Contributor Author

IBBoard commented Aug 11, 2018

The streaming API will stop in under a week so I'm "fixing" this the ugly way - I'm turning it into a polling client rather than migrating to the expensive new API.

As far as I can tell, I'll still have working timeline and notifications. What I'll lose is the minor stuff - like "live" updates (rather than every X minutes), updates for deletions/likes of existing tweets, updates for blocking users of existing tweets etc.

I'm not promising it'll be good or pretty, but if my alternative is to use the Twitter web UI then I'll give it a go hacking something together! (At least for my personal use)

@baedert
Copy link
Owner

baedert commented Aug 11, 2018

As far as I can tell, I'll still have working timeline and notifications. What I'll lose is the minor stuff - like "live" updates (rather than every X minutes), updates for deletions/likes of existing tweets, updates for blocking users of existing tweets etc.

and all the lists, dms, favorite and retweet updates, tweet deletes, the friends list is implemented that way, etc.

Regardless, I'm not going to merge or support anything at this point. If you want to make this public, you'll have to fork.

@IBBoard
Copy link
Contributor Author

IBBoard commented Aug 11, 2018

Like I said, it won't be pretty. It's basically a personal thing to avoid using Twitter for now.

I don't use lists in Corebird, so that's no loss to me. I think I can reimplement DMs as polling. Favourite and retweet updates are nice but not vital Tweet deletions is a minor loss but it just means you'll continue to see tweets after people delete and repost a fix (then get a "not found" when you view it).

Basically, if I can get a stream of tweets and just have some lists that don't update until the next restart then that's fine by me for now.

I'd like to stay with Corebird, but this will at least keep me going until I can see how everything settles and what the Linux client looks like in a few month's time.

@IBBoard
Copy link
Contributor Author

IBBoard commented Aug 12, 2018

I've just checked my mobile client, and streaming is optional (and I've currently got it disabled). Doing the most important features by polling the old, non-streaming API still seems to be possible.

So far I'm doing it as "fake streaming" (i.e. poll and then push the tweets through the existing Corebird streaming functions one-by-one), which reduces the re-architecting. I've just got to work out how to do some of this in Vala and then some bits in C.

@IBBoard
Copy link
Contributor Author

IBBoard commented Aug 17, 2018

Apparently I can't reimplement DMs as polling. It's possible with the old APIs, but it appears that they've removed streaming and DMs with the new change. I'd only read about streaming and hadn't noticed the DMs.

Still, it's not like I DM much, and I've got other ways of contact almost everyone I've ever DMed! Having a tweet stream will be enough for me for now.

@IBBoard
Copy link
Contributor Author

IBBoard commented Aug 18, 2018

Sorry for the noise. It is possible to maintain DMs. They changed the API, rather than replacing it entirely with the new "account activity" API. I should read more!

@kmac
Copy link

kmac commented Aug 20, 2018

@IBBoard are you planning on pushing to your fork? I've temporarily switched to choqok but the corebird interface is much nicer. I'm like you I think - I'm fine with polling and I basically just want to avoid reading the timeline in the web client.

@IBBoard
Copy link
Contributor Author

IBBoard commented Aug 20, 2018

Sorry - it's been up a couple of days now: https://github.com/IBBoard/corebird/tree/non-streaming

It's all still experimental for now, though - half of the features don't work and the other half probably have some bugs! Plus there are obviously limitations now that we don't get the full stream of events.

@dilinger
Copy link

@IBBoard - thanks for the repo link. I just built it for debian stable, and it seems to be functional for basic tweeting. Are you still working on it, and are you planning to do any releases?

@IBBoard
Copy link
Contributor Author

IBBoard commented Dec 17, 2018

As I said earlier, it's just a personal fix that I make the source code available for (and publish openSUSE builds for on a "use at your own risk" basis). It has been working for me since August with no obvious issues, but I can't support Corebird on my own.

What's there now is as good as it gets for a "release" from me but people are welcome to take the patch (it's open source, after all) and make a fork. I'd use it and contribute fixes where I could, but primary maintenance is a whole other commitment!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants