Commit log

4922433 attempt to unregister when receiving push for channel no longer joined

Click to expand commit body
when receiving a FCM push message for a channel the user is no longer in (this can happen when the disable command failed) an attempt will be made to explicitly unregister from the app server (which in turn will then send item-not-found on next push)

Daniel Gultsch created

7809af9 implement FCM push for group chats

Daniel Gultsch created

e467fe3 implement client support for muc push

Click to expand commit body
Staying connected to a MUC room hosted on a remote server can be challenging.

If a server reboots it will usually send a shut down notification to all
participants. However even if a client knows that a server was shut down it
doesn’t know when it comes up again. In some corner cases that shut down
notification might not even be delivered successfully leaving the client in a
state where it thinks it is connected but it really isn’t.

The possible work around implemented in this commit is to register the clients
full JID (user@domain.tld/Conversations.r4nd) as an App Server according to
XEP-0357 with the room. (Conversations checks for the push:0 namespace on the
room.)

After cycling through a reboot the first message send to a room will trigger
pubsub notifications to each registered full JID. This event will be used to
trigger a XEP-0410 ping and if necessary a subsequent rejoin of the MUC.

If the resource has become unavailable during down time of the MUC server the
user’s server will respond with an IQ error which in turn leads to the MUC
server disabling that push target.

Leaving a MUC will send a `disable` command. If sending that disable command
failed for some reason (network outage) and the client receives a pubsub
notification for a room it is no longer joined in it will respond with an
item-not-found IQ error which also disables subsequent pushes from the server.

Note: We 0410-ping before a join to avoid unnecessary full joins which can be
quite costly. Further client side optimazations will also surpress pings when
a ping is already in flight to further save traffic.

Daniel Gultsch created

b6d059e ping muc after receiving not-acceptable error

Daniel Gultsch created

17c8bf3 attempt to keep messages waiting until muc is connected

Daniel Gultsch created

6862b60 self ping (xep-0410) after receiving invite to muc

Daniel Gultsch created

e432710 version bump to 2.5.3 + changelog

Daniel Gultsch created

4c3cd89 syntax clean up

Daniel Gultsch created

782d889 disallow subsequent session-accept

Daniel Gultsch created

c1bdda0 reenable http upload that got disabled in last commit

Daniel Gultsch created

9fc1ead use ibb if other party doesn’t annouce s5b feature

Daniel Gultsch created

fe6c981 accept direct ibb jingle offers

Daniel Gultsch created

1cfba86 don’t crash when attempting to publish bookmarks while offline

Daniel Gultsch created

52c0bf7 handle some rare npe

Daniel Gultsch created

2fbd9e6 MessageStyle notifications replace car extender

Daniel Gultsch created

953307c use socks instead of http proxy for http upload

Click to expand commit body
http proxy doesn’t seem to work with onion v3

Daniel Gultsch created

997f922 put geo uri in attachment preview when shared

Daniel Gultsch created

b7781f1 add changelog for 2.5.2 release

Daniel Gultsch created

16ce476 show negative max files size (unknown/unlimited) simply as available

Daniel Gultsch created

631d9c8 version bump to 2.5.2

Daniel Gultsch created

9a8cc5b fixed some NPE

Daniel Gultsch created

e5378df synchronize around attributes in toContentValues()

Daniel Gultsch created

c7bd635 pulled translations from transifex

Daniel Gultsch created

10653df show error messages in text layout not edittext

Daniel Gultsch created

c965049 handle invalid canditates in jingle

Daniel Gultsch created

132f81d double check that activity is not null in updateSend button

Daniel Gultsch created

a909e1a fixed NPE in channel discovery after race to create menu

Daniel Gultsch created

1db07b8 Readme typo (#3462)

Licaon_Kter created

708476c explain omemo and backups. fixes #3454

Daniel Gultsch created

5bedde7 run postDelayed in background thread

Daniel Gultsch created

6785d8c set volume control channel to media volume / default. fixes #3451

Daniel Gultsch created

2869ed4 fixed typo in changelog

Daniel Gultsch created

4325466 version bump to 2.5.1 + changelog

Daniel Gultsch created

8736db3 pulled translations from transifex

Daniel Gultsch created

ba327d8 set own omemo devices to inactive after 14 days of inactivity; was 7 days

Daniel Gultsch created

82dcae5 added language tag in channel search results

Daniel Gultsch created

818f2ab fixed rare NPE cause by race

Daniel Gultsch created

3d208e6 pulled translations from transifex

Daniel Gultsch created

61604de jingle: send canditate error before fallback

Daniel Gultsch created

73d66fd go forward through cursor in message restore

Click to expand commit body
We have seen some weird CursorIndexNotFoundException that we were unable to reproduce.
We assume that going forward (moveToNext()) through the cursor instead of (moveToPrevious() fixes that issue

Daniel Gultsch created

442c1e3 version bump to 2.5.0

Daniel Gultsch created

137d488 Make use of Namespace.REGISTER constant (#3446)

af8a524db1 created

a99d65d pulled translations from transifex

Daniel Gultsch created

15791b7 fix export error for non-unicode numbers (#3444)

ialokim created

0e56dd8 version bump 2.5.0-beta.2

Daniel Gultsch created

ed8c5ec pulled translations from transifex

Daniel Gultsch created

7c35f28 do not synchronize twice when adding status and date bubbles

Daniel Gultsch created

d8010d7 updated transifex config to include conversations strings

Daniel Gultsch created

bcab77a wait with presence selection until attachment commit

Daniel Gultsch created

b2ea919 introduced type private_file_message to handle attachments in PMs. fixes #3372

Daniel Gultsch created