From 797b620055bbc7f5c901a1255861a905684449f4 Mon Sep 17 00:00:00 2001 From: dequis Date: Wed, 29 Mar 2017 12:45:09 -0300 Subject: Release 1.1.0 with fixes to server-side changes --- ChangeLog | 27 +++++++++++++++++++++++++++ configure.ac | 2 +- 2 files changed, 28 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 6df0dc3..8f25fda 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,2 +1,29 @@ +bitlbee-facebook-1.1.0 (2017-01-29): + - Fix connection errors after facebook discontinued support for old versions + of facebook messenger for android. While most of the protocol implementation + was already above that version, there was a subtle change that broke fetching + of sync_sequence_id, and the previously empty MQTT user agent string is now + considered an old version too (#138) + - Fix receiving topic/groupchat membership events (#119) + - Fix creating channels, inviting, kicking members (#120) + - Fix setting channel topics (#121) + - Fix contacts pagination for accounts with more than 500 friends (#74) + - Fix chats with only two members including self, like the Marketplace ones + - Fix crash on some kinds of SSL connection failure (#82) + - Fix crash when glib is compiled with G_ENABLE_DEBUG + - Deduplicate echoes of sent messages (#76) + - Set a non-empty HTTP user agent for api/graphql queries, since the empty + user agent often gets flagged for suspicious activity (#108) + - Prevent disconnections due to contacts with incomplete profiles (#89) + - Prevent disconnections on invalid attachment errors (#73) + - Prevent disconnections when trying to join a chat after being kicked (#244) + - Use FetchContactsDeltaQuery to incrementally sync contacts. Uses less + traffic, can be done more often and fixes issues with non-friends (#116) + - Parse URL attachments generated by the android share feature (#97) + - Add `mark_read_reply` setting to only mark messages as read on reply (#69) + - Add support for the bitlbee 3.5 plugin information API (bitlbee 3.4 is + still supported by this version, but will be dropped in the next one) + - Improve url comparison to avoid showing urls twice on attachments + bitlbee-facebook-1.0.0 (2016-01-16): - Initial release diff --git a/configure.ac b/configure.ac index 031ec7e..e27bb58 100644 --- a/configure.ac +++ b/configure.ac @@ -15,7 +15,7 @@ AC_INIT( [bitlbee-facebook], - [1.0.0], + [1.1.0], [https://github.com/bitlbee/bitlbee-facebook/issues], [bitlbee-facebook], [https://github.com/bitlbee/bitlbee-facebook], -- cgit v1.2.3 From 2f17542c7a866f1963b0b51b01736652d53dd70d Mon Sep 17 00:00:00 2001 From: dequis Date: Thu, 30 Mar 2017 00:53:46 -0300 Subject: Send orca-formatted user agent for all HTTP requests too Fixes "Failed to parse thread information" errors when joining channels. Facebook rolled a hotfix update today and they are requiring the same user agent for HTTP requests too. As far as I can see the main affected request is ThreadQuery. Hopefully this also solves issues some a tiny minority of people were still having with sync sequence ids. --- facebook/facebook-api.h | 28 +++++++++++++++++++--------- 1 file changed, 19 insertions(+), 9 deletions(-) diff --git a/facebook/facebook-api.h b/facebook/facebook-api.h index fa38d3d..7236b48 100644 --- a/facebook/facebook-api.h +++ b/facebook/facebook-api.h @@ -88,27 +88,37 @@ */ #define FB_API_SECRET "374e60f8b9bb6b8cbb30f78030438895" +/** + * FB_ORCA_AGENT + * + * The part of the user agent that looks like the official client, since the + * server started checking this. + * + * We announce ourselves as compatible with Orca-Android 38.0 since that's the + * closest version to the last major protocol update. Some parts use older + * features, some parts use newer ones. + * + * Fun fact: this version sends old-style MQIsdp CONNECT messages for the first + * connection, with JSON payloads instead of compressed thrift. + * + */ + +#define FB_ORCA_AGENT "[FBAN/Orca-Android;FBAV/38.0.0.22.155;FBBV/14477681]" + /** * FB_API_AGENT: * * The HTTP User-Agent header. */ -#define FB_API_AGENT "Facebook plugin / BitlBee / " PACKAGE_VERSION +#define FB_API_AGENT "Facebook plugin / BitlBee / " PACKAGE_VERSION " " FB_ORCA_AGENT /** * FB_API_MQTT_AGENT * * The client information string sent in the MQTT CONNECT message - * - * We announce ourselves as compatible with Orca-Android 38.0 since that's the - * closest version to the last major protocol update. Some parts use older - * features, some parts use newer ones. - * - * Fun fact: this version sends old-style MQIsdp CONNECT messages for the first - * connection, with JSON payloads instead of compressed thrift. */ -#define FB_API_MQTT_AGENT FB_API_AGENT " [FBAN/Orca-Android;FBAV/38.0.0.22.155;FBBV/14477681]" +#define FB_API_MQTT_AGENT FB_API_AGENT /** -- cgit v1.2.3