Commit graph

121 commits

Author SHA1 Message Date
Ferdinand Pöll 453ca7c0ed Migrate from Android Support Library to AndroidX
Unignored gradle.properties since androidX requires additions there
See also https://developer.android.com/jetpack/androidx/migrate
2021-01-18 20:49:35 +01:00
Daniel Gultsch 5b48b4027e code clean up 2021-01-15 10:45:03 +01:00
Daniel Gultsch d0a2f1f45f just xmpp things 2021-01-06 11:46:09 +01:00
Daniel Gultsch 1fafe4287d don’t send origin-ids to rooms that support stable-ids. fixes #3905 2020-11-14 11:59:35 +01:00
Daniel Gultsch c48499253b set content description for all avatars 2020-08-31 13:05:10 +02:00
Daniel Gultsch b6703dbe38 switch xmpp-addr to jxmpp-jid 2020-05-15 17:06:16 +02:00
Daniel Gultsch 418cecad11 remove XEP-0357 support for group chats 2020-04-28 06:50:04 +02:00
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 2bed0dad12 attempt to fix some rare crashes 2019-10-26 13:23:27 +02:00
Daniel Gultsch b96ef1e591 update ui after bookmark change 2019-10-07 09:37:12 +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 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 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 b9c4309a28 refactored group chat members into seperate screen 2019-01-25 17:58:23 +01:00
Daniel Gultsch dcdf340a41 normalize nicks before getting them from bookmarks or pep 2019-01-19 11:42:57 +01:00
Daniel Gultsch 1a1bfb3246 show warning snackbar before joining anon-non-private room. fixes #3306 2018-12-09 18:25:11 +01:00
Daniel Gultsch 846bba96f2 remove role=none participant when first online participant joins
in anticipations for muc services using registered nicks (and putting nicks
into the member list even if that user is offline) we need to remove that 'fake' user
from the online list when the real user comes online.
2018-11-30 16:28:43 +01:00
Daniel Gultsch 09f9baeeef do not add self as crytpo target in MUC 2018-11-12 20:14:06 +01:00
Daniel Gultsch 306e12b24e fixed race condition that prevented bookmark nick to be used 2018-11-10 17:33:24 +01:00
Daniel Gultsch 5012ff3545 added interface to edit nick 2018-11-09 17:47:36 +01:00
Daniel Gultsch f0d5dc583d use inContactList() instead inRoster() in the proper places 2018-11-03 16:32:08 +01:00
Daniel Gultsch bdb8d98eb1 show snackbar for remote server timeout in mucs 2018-10-08 10:31:11 +02:00
Daniel Gultsch 1985f6bdec store avatars received over muc presence in contact 2018-09-21 12:27:58 +02:00
Daniel Gultsch 516b6dcc1f code cleanup for group chat user context menu 2018-09-02 20:54:50 +02:00
Christoph Scholz 3ecb7136c1 start new conversations by long press on avatar 2018-09-01 21:05:31 +02:00
Daniel Gultsch 4871263d9c display propper toast after room has been destroyed 2018-07-11 21:33:27 +02:00
Daniel Gultsch 7b64a031cd store own affiliation and role to disk 2018-07-08 20:52:55 +02:00
Daniel Gultsch 48e366e410 support mam:1 2018-07-07 11:20:39 +02:00
Daniel Gultsch 0fa97bdc11 show snackbar for resource constraint in mucs 2018-07-07 10:28:31 +02:00
Daniel Gultsch ee3438b03a use + as build metadata delimiter 2018-06-28 08:49:48 +02:00
Daniel Gultsch db03470eb4 fixed MucOptions.getName() 2018-06-27 17:17:44 +02:00
Daniel Gultsch e6532e739a do not include white listed domains in room list. fixes #3082 2018-06-22 20:25:50 +02:00
Daniel Gultsch 6c27d07803 fixed some extended muc info handling. match what ejabberd does 2018-06-19 11:05:21 +02:00
Daniel Gultsch 159fedb358 use room name (if available and != localpart) as group name 2018-06-18 22:17:10 +02:00
Daniel Gultsch d7ebd7d453 WIP: set room avatar and slight redesign of group details 2018-06-18 14:15:19 +02:00
Daniel Gultsch afb7c0592b display avatar in groups 2018-04-14 17:54:04 +02:00
Daniel Gultsch d5c4a987a1 persist some muc configurations 2018-03-30 08:47:37 +02:00
Daniel Gultsch 1accf9d961 migrate to xmpp-addr 2018-03-07 22:30:36 +01:00
Daniel Gultsch e2ac1db225 do not cross reference bookmarks and conversations 2018-02-10 19:06:31 +01:00
Daniel Gultsch eee5d885ba make chat markers opportunistic in private mucs 2018-01-22 23:21:24 +01:00
Daniel Gultsch 6663eb0a12 show warning toast if PM is disabled in MUC 2018-01-18 17:35:42 +01:00
Daniel Gultsch 7ab8ed625d fix wrong avatar shown when true jid doesn't match in muc 2018-01-09 10:13:34 +01:00
Daniel Gultsch c5ee541906 clear muc avatar after going online 2017-12-18 13:19:11 +01:00
Daniel Gultsch 1753dcac76 save muc subject to disk and use crypto targets for offline name generation 2017-12-17 16:23:19 +01:00
Daniel Gultsch 946d97074f try to detect invalid nick (w/ emoji) in MUCs 2017-12-11 15:55:10 +01:00
Daniel Gultsch 28e005f926 send and show read markers in private, non-anonymous groups 2017-11-20 11:26:20 +01:00
Daniel Gultsch 08aad7d0aa black list certain local parts and show domain instead 2017-10-27 15:46:12 +02:00
Daniel Gultsch 94e0c6b38c don’t use xmpp or jabber as default muc nick 2017-08-23 10:06:32 +02:00
Daniel Gultsch dd5e321247 fixed conference naming for joined people not in your contact list 2017-08-15 12:56:32 +02:00