lyricat / Hotot

A Twitter Client
http://hotot.org
GNU Lesser General Public License v3.0
485 stars 130 forks source link

Twitter June 11, 2013 API changes breaking hotot functionality #553

Open samundra opened 11 years ago

samundra commented 11 years ago

Twitter changed its API in June 11, 2013. The change in API might have caused the problem in Hotot. Hotot is not able to show the columns user tweets, mentions. May be developer need to re-implement the feature changes.

Dukecz commented 11 years ago

Same reason propably causing authentication error upon login attempt.

Simounet commented 11 years ago

It's weird 'cause it might be fixed by 55a746c21db9fc5e2bae1ec942fb5a3c8d0eaf0f , a14885cbd94e19bda6dd395d6bcd3ba09788c505 and 76064e971ca2cd89c9c2f9e43b241c95b03243b7 . Plus, Hotot works well as a Chromium / Chrome extension.

samundra commented 11 years ago

Below is the output I receive when I run hotot -d.

I am using hotot - version 0.9.8.7 (Ada)

As you can see data is empty and I also tried re-generating the token, but that didn't work.

[init] overlay_variables()
[init] on_load_finish()
[init] on_load_finish() -> ext.load_builtin_exts();
[Load Extension] ./ext/org.hotot.cfw/entry.js
[Load Extension] ./ext/org.hotot.gmap/entry.js
[Load Extension] ./ext/org.hotot.instapaper/entry.js
[Load Extension] ./ext/org.hotot.sample/entry.js
[Load Extension] ./ext/org.hotot.shorturl/entry.js
[Load Extension] ./ext/org.hotot.translate/entry.js
[Load Extension] ./ext/org.hotot.stat/entry.js
[Load Extension] ./ext/org.hotot.readitlater/entry.js
[Load Extension] ./ext/org.hotot.appmask/entry.js
[init] on_load_finish() -> ext.load_exts();
[init] on_load_finish() -> ext.init_exts();
[Init Extension] Hotot Content Firewall
[Init Extension] Hotot GMap
[Init Extension] Hotot Instapaper
[Init Extension] Sample
[Init Extension] Hotot Short URL
[Init Extension] Hotot Translate
[Init Extension] Hotot User Stat
[Init Extension] Hotot Readitlater
[Init Extension] AppMask
[init] on_load_finish() -> push settings
Xlib.protocol.request.QueryExtension
[init] on_load_finish() -> i18n.init()
[i18n] Use locale: en
[init] on_load_finish() -> init_ui()
[init] init_dialogs()
X protocol error:
<class 'Xlib.error.BadAccess'>: code = 10, resource_id = 187, sequence_number = 9, major_opcode = 33, minor_opcode = 0
X protocol error:
<class 'Xlib.error.BadAccess'>: code = 10, resource_id = 187, sequence_number = 10, major_opcode = 33, minor_opcode = 0
X protocol error:
<class 'Xlib.error.BadAccess'>: code = 10, resource_id = 187, sequence_number = 11, major_opcode = 33, minor_opcode = 0
X protocol error:
<class 'Xlib.error.BadAccess'>: code = 10, resource_id = 187, sequence_number = 12, major_opcode = 33, minor_opcode = 0
X protocol error:
<class 'Xlib.error.BadAccess'>: code = 10, resource_id = 187, sequence_number = 13, major_opcode = 33, minor_opcode = 0
X protocol error:
<class 'Xlib.error.BadAccess'>: code = 10, resource_id = 187, sequence_number = 14, major_opcode = 33, minor_opcode = 0
X protocol error:
<class 'Xlib.error.BadAccess'>: code = 10, resource_id = 187, sequence_number = 15, major_opcode = 33, minor_opcode = 0
X protocol error:
<class 'Xlib.error.BadAccess'>: code = 10, resource_id = 187, sequence_number = 16, major_opcode = 33, minor_opcode = 0
X protocol error:
<class 'Xlib.error.BadAccess'>: code = 10, resource_id = 187, sequence_number = 17, major_opcode = 33, minor_opcode = 0
X protocol error:
<class 'Xlib.error.BadAccess'>: code = 10, resource_id = 187, sequence_number = 18, major_opcode = 33, minor_opcode = 0
X protocol error:
<class 'Xlib.error.BadAccess'>: code = 10, resource_id = 187, sequence_number = 19, major_opcode = 33, minor_opcode = 0
X protocol error:
<class 'Xlib.error.BadAccess'>: code = 10, resource_id = 187, sequence_number = 20, major_opcode = 33, minor_opcode = 0
X protocol error:
<class 'Xlib.error.BadAccess'>: code = 10, resource_id = 187, sequence_number = 21, major_opcode = 33, minor_opcode = 0
X protocol error:
<class 'Xlib.error.BadAccess'>: code = 10, resource_id = 187, sequence_number = 22, major_opcode = 33, minor_opcode = 0
X protocol error:
<class 'Xlib.error.BadAccess'>: code = 10, resource_id = 187, sequence_number = 23, major_opcode = 33, minor_opcode = 0
X protocol error:
<class 'Xlib.error.BadAccess'>: code = 10, resource_id = 187, sequence_number = 24, major_opcode = 33, minor_opcode = 0
[init] done!
[Req] {"type":"GET","url":"https://api.twitter.com/1/account/verify_credentials.json?oauth_consumer_key=SCEdx4ZEOO68QDCTC7FFUQ&oauth_nonce=647689109435305&oauth_signature=8Wmx4MgnrIrSR2otx%2Bdq2bCFj6Y%3D&oauth_signature_method=HMAC-SHA1&oauth_timestamp=1371040746&oauth_token=251517626-    c3PvHrHLOad5A3ENXysw3LWM2aqinbix78RLLXWY&oauth_version=1.0&source=Hotot","data":{}}
Simounet commented 11 years ago

It's because Hotot's using the old API https://api.twitter.com/1/ instead of the new one https://api.twitter.com/1.1/ .

sikthehedgehog commented 11 years ago

Tried forcing it to use the 1.1 API and while it does somewhat work, some functionality is broken and results in Hotot constantly spamming notifications regarding the errors (probably because the API is not fully backwards compatible so some functions are changed or missing).

I saw this though and I'm confused: https://github.com/lyricat/Hotot/pull/500 Does Hotot support the 1.1 API or not?

Simounet commented 11 years ago

I think it does. Do you use the ppa version ? Have you tried to compile it ?

sikthehedgehog commented 11 years ago

Redownloaded from PPA (looks like I had added the wrong repo before), but nope, it still insists on using the 1.0 API, even if I change the address to the 1.1 one. The Hotot version is reported as 0.9.8.10... site says 0.9.8.5 is the newest? I guess the version actually reported is 0.9.8.1?

I'd rather not have to compile anything if possible XD (even if I technically can, I'm just outright lazy)

sikthehedgehog commented 11 years ago

Whoops, it's probably 0.9.8.10, for some stupid reason I thought the latest update in the home page was from 2013, not 2012. Oh well, still, that should tell you which API it's supposed to be using.

xmw commented 11 years ago

As far as I could test, the latest tag, 0.9.8.14 does is still affected from the API issue (or maybe my token is ist not valid after downgrade). The latest commit (may 14th) works fine. Any chance to get an new release 0.9.8.15 tagged officially? I just pushed the mentioned commit into Gentoo. Thanks

samundra commented 11 years ago

I downloaded the latest sources from git and build sources for ubuntu from scratch and now it seems to work fine. :+1: for the hotot team :)

http://www.samundra.com.np/twitter-api-changes-breaking-hotot-functionality/1224 a blog post on how to compile hotot from sources with screenshots.The instructions is for Ubuntu only.

Simounet commented 11 years ago

Compiling ourselves is a solution but I think that we have to do something more here. I'll try to contact csslayer who is the ppa's maintainer.

@samundra : I read your article and you've made a little mistake make sudo make install instead of sudo make install

sikthehedgehog commented 11 years ago

Yeah, I would agree, with 1.0 officially dead and most users not going to bother compiling by themselves, making sure that there's at least a version supporting 1.1 that can be downloaded and used as-is is definitely a good idea. It's also probably a good idea to get distros to update Hotot in their own repos since their versions don't work anymore either (at least in the case of Ubuntu it's still stuck to the 1.0 API).

samundra commented 11 years ago

@Simounet Thank you for pointing out the mistake. It has been fixed.

@sikthehedgehog I totally agree with you and every distro should have updated hotot sources.

lemuelf commented 11 years ago

So, this an issue with the PPA package and not really with Hotot, right? Maybe these issues should be closed?

sikthehedgehog commented 11 years ago

Technically it is, but given how important the issue is (the PPA packages don't work at all), maybe it's worth considering that part of the "bug" and keeping this report around until it's updated.

Simounet commented 11 years ago

Yep, as I said before, I'm trying to contact the package manager. So I think this issue must stay open for now.

grrrrr commented 11 years ago

@Simounet would a ticket noting it being an outdated PPA issue not be a better idea seeing as 0.9.8.15 works?

samundra commented 11 years ago

@grrrrr tested Hotot - version 0.9.8.14 (Ada) and it works smoothly. Don't know about 0.9.8.15 haven't tested it yet.

sikthehedgehog commented 11 years ago

Any news with the PPA? (or any downloadable binary, for that matter)

xmw commented 11 years ago

Ok, version 0.9.8.14 (compiled from source) work. There is no version 0.9.8.15 tagged or released yet.

Simounet commented 11 years ago

@sikthehedgehog I contacted the PPA's maintainer through Launchpad. I keep you posted.

dck commented 11 years ago

@Simounet Any news?

Simounet commented 11 years ago

No... I don't know what we can do except create a new PPA but I don't think it's a solution to publish a new source. I tried to join the guy throught Launchap & IRC. I didn't receive any answer. I think @lyricat is the last option to do the right move but if he didn't reply here for now, it's probably a bad sign. :/

dck commented 11 years ago

Thanks. Has anyone tried to email @lyricat ? He seems to be online and active (twitter and blog).

Simounet commented 11 years ago

I'll try that.

Simounet commented 11 years ago

I've still no news from @lyricat . I send a mail to his Gmail address 2 days ago. :(

sikthehedgehog commented 11 years ago

I guess somebody should go ahead and host pre-built binaries somewhere at least until the repos get over it?

Vetgans commented 11 years ago

Probably a bug, but worth mentioning it in this thread because it can be a safety issue in some countries:

I compiled Hotot according to the blogpost from samundra http://www.samundra.com.np/twitter-api-changes-breaking-hotot-functionality/1224. It's running on a Kubuntu 12.04 system, and everything seems to run fine.

However, it seems that Hotot doesn't honour its own proxy-settings. Even more strange, under preferences sometimes the proxy-settings part shows up, sometimes it doesn't. This can be a safety issue, if people in certain countries expect to tweet via a proxy while in fact they aren't.

This is not the same issue as https://github.com/lyricat/Hotot/issues/554

sikthehedgehog commented 11 years ago

That should be its own bug report if it isn't something else, really. This thread is about Hotot builds still using the 1.0 API which has been shut down, nothing to do with proxies.

Vetgans commented 11 years ago

'if it isn't something else', well, that's the thing...

Since everyone is waiting for a reaction of lyricat on the efforts of Simounet, everything has come to a standstill. Therefore many will eventually compile Hotot themselves via the guide of Samundra. By doing that, you'll probably end up with Hotot not honouring its own proxy.

I know that if it's a fault in the source itself, it would require its own bug report. But if it is caused by a fault during compiling (remember, you have to ignore some errors) it would not be an actual bug in the source. My technical knowledge about that is not big enough to clearly determine that.

Since this temporary solution was given in THIS thread, i thought it would be useful to mention it here. Particularly, since it can be a security issue if someone thinks he/she is tweeting via a proxy (TOR?), while in fact that is not the case. You can check it by entering a fake proxy address, and see whether you can still connect to twitter or not.

LukasThyWalls commented 11 years ago

Hello

I think it's time to know what really happen with hotot, from the developers. I have many problems with it, some probably are bugs, but i don't know if they are caused for the API shutdown and we haven't a proper last version, and i don't know if i have to report it or wait to a new version with a proper API use.

I test in linux the lastet git version in kubuntu, hotot version more or less works, hotot-qt (i should use this) crash every time i log in (i have crash data for reporting), and with all versions (including chrome) have problems with RT column (410, Gone). I don't know if i'm using API v1 or API v1.1 because all versions have v1 configured and if i change this the app doesn't work at all.

Hotot is the only passable and usable twitter client in linux and today isn't usable. The only official information about the API shutdown is here https://twitter.com/HototApp/status/344839913344204801 and it isn't really true, because hotot have problems with the API. And the actual developers don't say anything of problems with twitter, APIcalipsys and the future of hotot, and if they need help to continuing developing hotot or not. It's sad...

sikthehedgehog commented 11 years ago

The tone of that tweet makes it sound like Hotot Chrome is the only maintained version and that the Linux client is not being worked on anymore... (yes, baseless speculation, but that's how it feels)

And the problem is worse than you say. It seems that the only Twitter clients at all at the moment are on mobile - Windows is not faring much better than Linux. Of course, Twitter also encourages everybody to stick exclusively to mobile for tweeting (the web interface is not exactly the best), so I'm not surprised. Sucks for those who don't have modern phones or don't want to use the phone when on a proper computer.

xmw commented 11 years ago

Um, git HEAD checkouts are not supposed to be perfectly smooth working. That's what releases are made. Try the 0.9.8.14 tag, both gtk and qt4 versions work fine on Gentoo/Linux.

LukasThyWalls commented 11 years ago

@xmw I know the working version have bugs, i tested 0.9.8.14 too because is the version in PPA, and i'm testing, i will report the bugs and i'm collecting now data about them, but seeing the info about hotot and it seems there isn't intention to working in client versions (or, at least, developers have problems with them), but there isn't any information about the future of the client...

xmw commented 11 years ago

@LukasThyWalls I always observed hotot upstream as very shy with varying activity and delays between fixes and releases. Hopefully they keep up working on the standalone versions, regardless the unavailable download-counter due various mirrors.

http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/net-misc/hotot/?hideattic=0

grrrrr commented 11 years ago

Well I hate to do this but I think it's time to move to something more actively managed. Polly is looking very promising so far (https://twitter.com/PollyClient)

shahverd commented 10 years ago

The problem still exists on "retweets to me" ...