diff options
-rw-r--r-- | protocols/twitter/twitter.h | 1 | ||||
-rw-r--r-- | protocols/twitter/twitter_lib.c | 7 |
2 files changed, 8 insertions, 0 deletions
diff --git a/protocols/twitter/twitter.h b/protocols/twitter/twitter.h index 14e43824..47dbeb29 100644 --- a/protocols/twitter/twitter.h +++ b/protocols/twitter/twitter.h @@ -38,6 +38,7 @@ typedef enum TWITTER_DOING_TIMELINE = 0x10000, TWITTER_GOT_TIMELINE = 0x20000, TWITTER_GOT_MENTIONS = 0x40000, + TWITTER_DOING_TIMELINE_SLOW = 0x80000, } twitter_flags_t; struct twitter_log_data; diff --git a/protocols/twitter/twitter_lib.c b/protocols/twitter/twitter_lib.c index 4c680930..dd9c3ac6 100644 --- a/protocols/twitter/twitter_lib.c +++ b/protocols/twitter/twitter_lib.c @@ -726,6 +726,13 @@ void twitter_get_timeline(struct im_connection *ic, gint64 next_cursor) struct twitter_data *td = ic->proto_data; gboolean include_mentions = set_getbool(&ic->acc->set, "fetch_mentions"); + if ((td->flags & 0xf0000) == (TWITTER_DOING_TIMELINE | TWITTER_DOING_TIMELINE_SLOW)) { + imcb_log(ic, "Connection seems to have stalled again.\n" + "This is a known bug, if you see this happen a lot " + "please generate some traffic dumps."); + td->flags &= ~0xf0000; + } + if (td->flags & TWITTER_DOING_TIMELINE) { return; } |