Daniel Gultsch
7809af9b57
implement FCM push for group chats
2019-06-25 18:15:51 +02:00
Daniel Gultsch
e467fe341e
implement client support for muc push
...
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.
2019-06-24 18:16:06 +02:00
Daniel Gultsch
6862b60c3f
self ping (xep-0410) after receiving invite to muc
2019-06-18 13:20:24 +02:00
Daniel Gultsch
9fc1ead74f
use ibb if other party doesn’t annouce s5b feature
2019-06-16 22:57:10 +02:00
Daniel Gultsch
a53774bc6d
resend presence to muc avatar update. fixes #3175
2019-01-17 17:55:47 +01:00
Daniel Gultsch
d02fd73af8
explicitly start service (instead of just bind) service from contact chooser
2019-01-13 09:42:44 +01:00
Daniel Gultsch
6dcac6f7cf
add versioning to sync namespace
2018-11-13 15:36:53 +01:00
Daniel Gultsch
5012ff3545
added interface to edit nick
2018-11-09 17:47:36 +01:00
Daniel Gultsch
87cc53b8b5
renamed build flavors
2018-10-31 13:33:55 +01:00
Daniel Gultsch
cf879dd8e8
fixed sni and alpn for kitkat
2018-09-27 10:00:58 +02:00
Daniel Gultsch
dc5e7e5d95
store bookmarks in pep if conversion xep is running
2018-08-18 16:27:50 +02:00
Daniel Gultsch
f9c5cdee6e
fall back to random subject langugae in case there is no english one
2018-07-11 13:20:06 +02:00
Daniel Gultsch
48e366e410
support mam:1
2018-07-07 11:20:39 +02:00
Daniel Gultsch
e8a1f069c2
reset subject and name on empty
2018-06-24 16:33:15 +02:00
Daniel Gultsch
1854e37e7a
reintroduce support for old http upload
2018-05-26 21:43:50 +02:00
Daniel Gultsch
70d95c7903
upload files using p1s3 - sending part
2018-05-25 12:24:23 +02:00
Daniel Gultsch
effeb7b585
convert empty resources in messages to bare jid
2018-04-28 21:30:30 +02:00
Daniel Gultsch
322463bab7
return InvalidJid object instead of null if Jid can not be parsed
2018-04-28 16:26:40 +02:00
Daniel Gultsch
9908af6286
sync roster to disk after roster push
2018-03-18 12:24:28 +01:00
Daniel Gultsch
72388e37f5
fixed some issues with jid escaping
2018-03-11 18:32:16 +01:00
Daniel Gultsch
1accf9d961
migrate to xmpp-addr
2018-03-07 22:30:36 +01:00
Daniel Gultsch
3bff110587
use translated version of subject if available
2018-03-07 22:30:36 +01:00
Marc Schink
9af7b7ae1e
Namespace: Add constant for 'jabber ❌ data'
2018-02-16 16:12:53 +01:00
Daniel Gultsch
e48788e821
support new http upload namespace
2018-01-28 14:17:42 +01:00
Daniel Gultsch
f2bbb6087c
remove wakelocks in XmlReader
2018-01-21 12:30:31 +01:00
Daniel Gultsch
6458351f6c
use countdownlatch to check if TagWriter has finished
2018-01-20 23:13:36 +01:00
Daniel Gultsch
3a8855a672
fixed interupt handling
2018-01-20 21:57:09 +01:00
Daniel Gultsch
2b39acf352
postpone notification actions (mark as read, reply) until after messages are loaded
2018-01-20 20:05:39 +01:00
Daniel Gultsch
6009b8ebf0
disable offline messages. postpone prekey handling until after mam catchup
2018-01-19 18:17:13 +01:00
Daniel Gultsch
e6a67a6c26
made avatar cache cleaning more efficent after name changes
2017-08-23 21:49:25 +02:00
Daniel Gultsch
9a57673130
use publish-options instead of always pushing node configuration
2017-07-18 12:51:15 +02:00
Daniel Gultsch
50f61a4d91
do not check if namespace equals prefix for attributes
2017-05-30 19:05:36 +02:00
Daniel Gultsch
e973117aed
deal with namespace attributes. fixes #2495
2017-05-30 08:38:33 +02:00
Daniel Gultsch
5056a28553
differentiate starttls failure and sasl failure
2017-05-13 08:08:05 +02:00
Daniel Gultsch
c837e0616a
make sure tag writer thread shuts down
2017-04-22 10:08:51 +02:00
Daniel Gultsch
b34a1f7f5e
parse message that only contain oob tag. fixes #2359
2017-04-04 22:15:38 +02:00
Daniel Gultsch
76b9010c39
rework last activity logic to something that should work pretty well in Conversations only enviroments
2017-03-20 17:58:58 +01:00
Daniel Gultsch
c740386297
rename the Xmlns class to Namespace
2017-03-01 13:01:46 +01:00
Daniel Gultsch
cf9ab4d302
synchronize modifications of output stream in tag writer
2017-02-17 10:26:12 +01:00
Daniel Gultsch
c8f97be68e
only force close tagwriter before creating a new one
2017-02-13 13:01:00 +01:00
Daniel Gultsch
b72d7ec8d0
make sure to properly stop tagwriter
2017-01-22 12:54:39 +01:00
Daniel Gultsch
121312d103
catch all throwables when parsing xml
2016-08-02 10:58:54 +02:00
Daniel Gultsch
d28d968985
make sure that we always release wake lock even after throwing exception
2016-06-22 12:22:03 +02:00
Daniel Gultsch
40f81f19df
make sure tagwriter is clear before force closing socket
2016-06-13 19:05:32 +02:00
Daniel Gultsch
fb7525e0b9
catch all exceptions thrown by xml pull parser
2016-05-07 11:34:45 +02:00
Daniel Gultsch
41dcd8005b
parse stanza-id from messages
2015-12-04 22:03:46 +01:00
Daniel Gultsch
b9002d7fd5
added missing type='submit' to mam queries
...
fixed some nasty inheritance problems along the way
fixes #1411
2015-09-15 22:52:39 +02:00
Daniel Gultsch
496f531e2e
modified clearIqCallbacks into 2-step process
2015-08-23 08:01:47 +02:00
Andreas Straub
012f036840
Optimize imports
2015-07-20 14:26:29 +02:00
Andreas Straub
77619b55e4
Added PEP and message protocol layers
...
Can now fetch/retrieve from PEP, as well as encode/decode messages
2015-07-19 21:32:26 +02:00