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
b9bdb3df55
use Tor on http upload is account uses onion domain. fixes #3075
2018-06-16 18:31:55 +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
1accf9d961
migrate to xmpp-addr
2018-03-07 22:30:36 +01:00
Daniel Gultsch
ad601e47c8
fixed roster items w/o subscription (request) not being shown
2017-07-28 18:34:55 +02:00
Daniel Gultsch
24768d051d
upgrade to signal-protocol-java. thanks @ysangkok
...
fixes #1384
closes #2509
2017-06-18 16:36:30 +02:00
Daniel Gultsch
2cf05528b4
add the 4 most frequently contacted contacts as app shortcuts
2017-05-31 16:45:51 +02:00
cijo-saju
3467a67e75
Removed unused imports from entire project.
2017-04-12 20:24:36 +05:30
Daniel Gultsch
1c56b74e41
closing the corresponding conversations after blocking a contact. fixes #2347
2017-03-06 16:53:54 +01:00
Daniel Gultsch
c740386297
rename the Xmlns class to Namespace
2017-03-01 13:01:46 +01:00
Daniel Gultsch
780d1daf7e
fixed some issues around ibb
2017-01-20 22:37:50 +01:00
Daniel Gultsch
e5d7357e6e
mark conversations as read after receiving blocklist push for that conversations
2016-11-28 15:51:11 +01:00
Daniel Gultsch
0af13fc746
be more careful parsing integers in omemo
2016-10-06 22:05:18 +02:00
Daniel Gultsch
ed2fa20414
handle invalid prekey ids in bundle
2016-08-02 10:40:24 +02:00
Daniel Gultsch
27690865a6
respond to XEP-0202: Entity Time
2016-07-13 18:10:10 +02:00
Daniel Gultsch
4ba5472d0c
respond to block list push
2016-06-22 12:22:36 +02:00
Daniel Gultsch
36ae840d76
log all background stanzas when background logging is enabled
2016-06-05 02:04:31 +02:00
Daniel Gultsch
9ce2cfa3d2
resetting fetch status error when mutual subscription is reestablished
2016-05-19 10:47:27 +02:00
Daniel Gultsch
a25912c32c
log incoming iq requests
2016-05-15 09:55:06 +02:00
Daniel Gultsch
f37098a54f
catch all axolotl parse exception at once. fixes #1692
2016-02-11 12:26:43 +01:00
Daniel Gultsch
f30df7a535
catch a few NPE when parsing invalid pep nodes
2016-02-02 11:21:07 +01:00
Daniel Gultsch
88523bbb50
more detailed logging
2015-12-12 15:58:22 +01:00
Daniel Gultsch
cfeb67d71d
introduced code to verify omemo device keys with x509 certificates.
...
cleaned up TrustKeysActivity to automatically close if there is nothing to do
2015-10-16 23:48:42 +02:00
Daniel Gultsch
8f4b7686c9
catch invalid base64 on omemo key decoding
2015-08-30 11:11:54 +02:00
Daniel Gultsch
d0b8bd0f8a
catch invalid base64 in axolotl key parsing
2015-08-24 18:18:01 +02:00
Daniel Gultsch
0dfb9bd1a0
introduce special iq type for internal timeouts. always use != result to check for error in callbacks
2015-08-23 17:53:23 +02:00
Daniel Gultsch
496f531e2e
modified clearIqCallbacks into 2-step process
2015-08-23 08:01:47 +02:00
Andreas Straub
3458f5bb91
Clean up logging
...
Add a fixed prefix to axolotl-related log messages, set log levels
sensibly.
2015-07-19 22:17:57 +02:00
Andreas Straub
6867b5c3ab
Return empty set on invalid PEP devicelist
2015-07-19 21:32:27 +02:00
Andreas Straub
c1d23b2395
Migrate to new PEP layout
...
Merge prekeys into bundle node
2015-07-19 21:32:26 +02:00
Andreas Straub
299bbdf27f
Reformat code to use tabs
...
This really sucks to do it like this. Sorry. :(
2015-07-19 21:32:26 +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
iNPUTmice
4e14c89ff8
support for XEP-0092: Software Version
2015-02-16 10:06:09 +01:00
Daniel Gultsch
85f24c9106
avoid requesting blocklist after stream resumption
2015-01-05 16:17:05 +01:00
Sam Whited
88704ce5cd
Verify IQ responses
...
Fixes #20
Move fromServer/toServer to AbstractStanza
2015-01-04 08:28:13 -05:00
Sam Whited
eb7e683403
Make IqPacket type an enum
2015-01-04 08:20:30 -05:00
Daniel Gultsch
8f93f9c314
improved fromServer filter
2014-12-30 09:36:00 +01:00
Daniel Gultsch
04de77261b
fixed #818
2014-12-30 01:13:35 +01:00
Sam Whited
b48bddb852
Fix typo in method name
2014-12-29 14:21:20 -05:00
iNPUTmice
d5f99560ff
made method private that is no longer required to be public
2014-12-23 18:09:29 +01:00
Sam Whited
e152ed1e07
Simplify roster handling code
...
Merge result handling code into IqParser
Fixes #20
2014-12-22 12:53:31 -05:00
Sam Whited
af7a64491f
Add support for XEP-0191 (Blocking command)
...
Fixes #791
Squash of commits:
534f25d7dae3ce6852243e28fdd0a69ac01e9463
808fdf5147f27a912a60bee39aa4bf1ddd4f43b4
1eaf8a8330710ad35ba7c368e04f909af623ae4c
31585242c2359efdcd0eeddb9745077f54dbc9eb
2e69bd0bd0286ed1e98a42f4c3421ba4d8cf524b
e904fb5015bf3a1904ab941a1957edf3b1e7abd2
eebbadf3b3816bbf8fcccb763e419fed252d266f
7c5b87724ce494e5a6e8026557ed50a8fd9f23e8
b0eaaf446937794fe19cbdb4f8309c3ff83d4e42
8c652f9e8bb3512958d9ad8c6f1326505f2d98c8
ad0ea1ad948ff6f8fde7b0b10f5163dc8852032f
f5d49897e0dba691ef53a0eddb9ed34d129ad442
a08fa64c505bd895b7c626cfad182380373be20b
de67079113e08394a276048c31f6b21baa300829
9069f342173ba30c2b20c67529c7ff497a6a257d
0169fa79d161ee898c4b6762e207087682a952d8
8585a5bd75a5d56927fed8317729bd15fffe4dcc
0053528a078369e0b65dcf71bda251072a1299c7
e901a9c3554bd7cca193e92919b463991eadfea7
c5c78257434813c69ab9b7558bcc8f7cbe858433
e905af348d46d77bc46b5f7211527684acc02fab
13a0f9a10c7892b0f90f5fabd2f2615701b0fd66
2cfba1e24b0139839e4453b92be7e20634d150cf
58e074fb5bb44b05a8104250fccd7c024c808c1a
0d6cf98fc8eab212d798ac79b336f9b70a14f06d
e23620f56b85bcab9f3b5d9ce1c01524cd9674dc
d72cd2fcc8d54176c3ff53411a69b9bb4642eff3
195143dff8836623a37094a6b8fa6aa01ef31580
5f5f3caf3a1e480a99d27ee5c34ba516419c52e4
1dee3d5861c9f9c710da4cbda3688d94c622ca93
23949b8aa32c78b27bab49bb3c4f3ff588925ce1
9bf97f8ae522796e0dacb7f6fe7a7f90f86a93a1
2014-12-22 08:19:00 -05:00
iNPUTmice
627982df90
fixed #755
2014-12-19 13:40:16 +01:00
iNPUTmice
5992d4ac00
fixed npe if roster jid couldnt be parsed
2014-12-01 10:25:36 +01:00
iNPUTmice
86241a260a
clear avatar cache with new roster push from server
2014-11-17 21:28:16 +01:00
iNPUTmice
abbadcb58b
avoided some null pointers
2014-11-17 20:45:00 +01:00
iNPUTmice
cf00f3fade
happy hanukkah
2014-11-16 17:21:21 +01:00
Sam Whited
180a0e4408
Rework `Account.getJid()' to return full JIDs
...
Remove `Account.getFullJid()'
2014-11-09 10:57:22 -05:00
Sam Whited
f15900426d
Update more files to use JID objects
2014-11-09 07:00:40 -05:00