Commit graph

622 commits

Author SHA1 Message Date
Daniel Gultsch e38a9cd729 omemo changes: use 12 byte IV, no longer accept auth tag appended to payload 2020-01-18 12:08:03 +01:00
Daniel Gultsch abc1cb5a89 remove 'indicate received' setting and default to true 2019-11-08 12:06:38 +01:00
Daniel Gultsch 07786d4576 optionally search local muc rooms instead of jabber.network 2019-11-02 09:43:37 +01:00
Daniel Gultsch 2bed0dad12 attempt to fix some rare crashes 2019-10-26 13:23:27 +02:00
Daniel Gultsch e0b5010f24 don’t mark pgp encrypted files received from dino as deleted 2019-10-11 15:37:41 +02:00
Daniel Gultsch 79c3135b4d properly guard bookmarks2 deletion 2019-10-07 13:49:39 +02:00
Daniel Gultsch 4df8343b05 set autojoin=true after following invite 2019-10-07 09:51:03 +02:00
Daniel Gultsch b96ef1e591 update ui after bookmark change 2019-10-07 09:37:12 +02:00
Daniel Gultsch f530e395ca bookmarks2. introduce #compat namespace 2019-10-07 09:37:12 +02:00
Daniel Gultsch 94c592f213 leave/join on bookmark modifactions 2019-10-07 09:37:12 +02:00
Daniel Gultsch 95bf66ca7d Bookmarks2: support retraction 2019-10-07 09:37:12 +02:00
Daniel Gultsch f1aa5f2cab support for delete bookmarks2 2019-10-07 09:37:12 +02:00
Daniel Gultsch 6923b2898c WIP Bookmarks 2 support 2019-10-07 09:37:12 +02:00
Marcin Mielniczuk c7bbfaf061 Use a more meaningful name for old status (#3552) 2019-10-01 19:42:05 +00:00
Daniel Gultsch 618d892ae7 account deletion: only attempt to delete omemo id when connected 2019-09-29 01:40:40 +02:00
Daniel Gultsch 9276eff1db delete omemo keys when deleting account 2019-09-28 21:52:07 +02:00
Daniel Gultsch abe01f18f2 improved logging for messages waiting for join 2019-09-19 10:00:50 +02:00
Daniel Gultsch 02351dc0fb fixed direct invites after adhoc 2019-09-18 09:55:18 +02:00
Daniel Gultsch d963d95e30 fixed some minor NPE 2019-09-16 14:20:15 +02:00
Daniel Gultsch ab57c59838 clear notifications when deleting account 2019-09-15 12:23:56 +02:00
Daniel Gultsch c84a89924e include pgp sig and status in presence to non anon muc 2019-08-19 14:27:11 +02:00
Daniel Gultsch f11adf4c02 do not put default nick into bookmark if none has been set before 2019-08-19 13:55:52 +02:00
Daniel Gultsch c039ffcf35 clean up logging 2019-08-14 18:44:57 +02:00
Daniel Gultsch 6e1394ab40 make config flag for leave before join 2019-08-14 12:04:27 +02:00
Daniel Gultsch 7e93c1021b handle blocking and unblocking of full jids 2019-07-10 17:58:48 +02:00
Daniel Gultsch 8c526de0af disable muc push on archive instead of leave
leave can be triggered on swipe and doesn’t mean we don’t want pushes
2019-07-01 14:35:00 +02:00
Daniel Gultsch 7ec8f7952f migrate copy ond write list to synchronized hashset for pending mucs 2019-06-30 21:57:37 +02:00
Daniel Gultsch 0ecdb43be6 rate limit muc pings / joins. never run two pings at same time 2019-06-30 19:54:07 +02:00
Daniel Gultsch 49224335fc attempt to unregister when receiving push for channel no longer joined
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)
2019-06-26 17:40:12 +02:00
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 17c8bf3452 attempt to keep messages waiting until muc is connected 2019-06-18 18:09:44 +02:00
Daniel Gultsch 6862b60c3f self ping (xep-0410) after receiving invite to muc 2019-06-18 13:20:24 +02:00
Daniel Gultsch 1cfba86aff don’t crash when attempting to publish bookmarks while offline 2019-06-16 18:05:06 +02:00
Daniel Gultsch b2ea91909b introduced type private_file_message to handle attachments in PMs. fixes #3372 2019-04-27 11:46:43 +02:00
Daniel Gultsch 6704db21fb added Tor support to channel search 2019-04-25 21:10:50 +02:00
Daniel Gultsch ff84ee6964 cache channel search results 2019-04-24 13:25:54 +02:00
Daniel Gultsch 2fa687b8ae refactor muc search to use http 2019-04-22 13:00:45 +02:00
Daniel Gultsch a0f88aa9b4 implement channel discovery over jabber.search.network 2019-04-22 10:42:21 +02:00
Daniel Gultsch 39bc067405 execute some dismiss error notification and reset error in background 2019-04-17 12:49:36 +02:00
Daniel Gultsch 3fabb52293 after switching from forced foreground to foreground notification needs update 2019-02-16 11:58:16 +01:00
Daniel Gultsch ad64058d25 hide lock icon in channels; modify muc user context 2019-02-07 13:18:42 +01:00
Daniel Gultsch 32ef3755e2 show different room settings for channels and groups 2019-02-06 18:29:07 +01:00
Daniel Gultsch 2b913f367d provide the same fab submenu for both tabs. rename tab to bookmark 2019-02-06 14:45:51 +01:00
Daniel Gultsch e0965a2bf2 remove warning messages for kick after ban failing. on modern servers ban is enough to also kick 2019-01-28 10:52:35 +01:00
Daniel Gultsch 0898783309 schedule another ping 30s after connectivity_change 2019-01-27 20:54:45 +01:00
Daniel Gultsch 8fbe445c99 scan all files in case some files were previously marked as deleted by accident 2019-01-24 15:03:58 +01:00
Daniel Gultsch a53774bc6d resend presence to muc avatar update. fixes #3175 2019-01-17 17:55:47 +01:00
Daniel Gultsch caf5fcad88 fixed enabled accounts check in onCreate 2019-01-13 22:18:32 +01:00
Daniel Gultsch 526c2637c1 provide Set as Profile intent. fixes #2594 2019-01-13 15:28:24 +01:00