Commit Graph

202 Commits

Author SHA1 Message Date
Daniel Gultsch
de941f6036 use escaped jid for invites 2020-05-21 08:41:04 +02:00
Daniel Gultsch
a0920b83e2 use Account.getDomain() for direct access to domain jid 2020-05-17 10:24:46 +02:00
Daniel Gultsch
198a7db954 use escaped jid in more places 2020-05-15 18:44:55 +02:00
Daniel Gultsch
b6703dbe38 switch xmpp-addr to jxmpp-jid 2020-05-15 17:06:16 +02:00
Daniel Gultsch
8183c54ba0 use stanza-id for display markers in group chats 2020-04-28 08:25:21 +02:00
Daniel Gultsch
442b952700 add jingle message init namespace to features 2020-04-21 14:59:03 +02:00
Daniel Gultsch
8c273e7eee parse media from session proposal 2020-04-20 15:57:30 +02:00
Daniel Gultsch
5b98107e9a put jingle messages in MAM and parse call log during catchup 2020-04-20 15:57:30 +02:00
Daniel Gultsch
07e671d7c3 do not offer jingle calls when using Tor 2020-04-20 15:57:30 +02:00
Daniel Gultsch
9d83981f2c respond with busy if there is anthor rtp session 2020-04-20 15:57:30 +02:00
Daniel Gultsch
6884e427ef require dtls and ensure procceds get tracked 2020-04-20 15:57:30 +02:00
Daniel Gultsch
9edadc9835 process retract jingle messages 2020-04-20 15:57:30 +02:00
Daniel Gultsch
7909a72d43 make retract jingle messages work 2020-04-20 15:57:30 +02:00
Daniel Gultsch
f8c0328416 dummy Jingle activity 2020-04-20 15:57:30 +02:00
Daniel Gultsch
3b857e6894 create temporary RtpSessionPropsoal as placeholder before we can create actual session 2020-04-20 15:57:30 +02:00
Daniel Gultsch
385692ea28 route jingle message inits 2020-04-20 15:57:30 +02:00
Daniel Gultsch
f9650b95d8 create stub JingleRTPConnection 2020-04-20 15:57:30 +02:00
Daniel Gultsch
eb22bd0499 create 'Description' object 2020-04-20 15:57:29 +02:00
Daniel Gultsch
b3c00d7163 use Base64.NO_WRAP instead of trim() 2019-12-04 17:35:06 +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
f530e395ca bookmarks2. introduce #compat namespace 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
Daniel Gultsch
02351dc0fb fixed direct invites after adhoc 2019-09-18 09:55:18 +02:00
Daniel Gultsch
be4953b1e4 parse LMC 1.1 2019-09-13 16:38:15 +02:00
Daniel Gultsch
7ec1b443ab implemented support for for jingle encrypted transports (XEP-0396) 2019-09-04 16:14:01 +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
fddd974412 do not put version info into disco
This will reduce traffic by limiting the variety of different caps version hashes.
It might also improve privacy by not leaking fdroid vs playstore vs self build information
2019-08-18 13:03:58 +02:00
Daniel Gultsch
7e93c1021b handle blocking and unblocking of full jids 2019-07-10 17:58:48 +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
9fc1ead74f use ibb if other party doesn’t annouce s5b feature 2019-06-16 22:57:10 +02:00
af8a524db1
137d48810d Make use of Namespace.REGISTER constant (#3446) 2019-04-29 07:51:46 +00: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
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
ce5dffdbfb transmit display name (nick) in subscription requests and display them on Quicksy 2018-11-26 12:56:30 +01:00
Daniel Gultsch
1de385dcb9 set access model to open when publishing avatar. fixes #3291 2018-11-25 20:58:48 +01:00
Daniel Gultsch
5012ff3545 added interface to edit nick 2018-11-09 17:47:36 +01:00
Daniel Gultsch
52ecd9347c added dialogs for rate limiting and out of date version 2018-10-31 13:33:55 +01:00
linkmauve
49349d898b add id="current" on every published PEP item (#3133)
This makes sure even misconfigured PEP nodes still get only one item, as
defined in XEP-0060 §12.20.
2018-08-18 18:24:29 +02:00
Daniel Gultsch
dc5e7e5d95 store bookmarks in pep if conversion xep is running 2018-08-18 16:27:50 +02:00
Daniel Gultsch
7b64a031cd store own affiliation and role to disk 2018-07-08 20:52:55 +02:00
Daniel Gultsch
0f233022a6 standards. right? 2018-07-07 11:29:50 +02:00
Daniel Gultsch
48e366e410 support mam:1 2018-07-07 11:20:39 +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
fcfb695e7a permit empty values for subject and roster name 2018-06-10 19:12:46 +02:00