Commit Graph

245 Commits

Author SHA1 Message Date
25be4bc177 xmpp: Fix awaited stanzas being bounced 2022-06-26 11:44:10 +02:00
0912cdf2b3 xmpp: Remove onBadCertificate code 2022-06-05 20:28:52 +02:00
0fc34649a7 xmpp: Fix _pendingAcks for multi-stanza acks
If we send 5 stanzas, we expect 5 acks. But if the server acks them all
at once, it won't work.
2022-06-05 17:19:20 +02:00
81e827dda0 feat: Implement a network-connection-aware reconnection
We don't need to do an exponential backoff when we know that
it won't work. So just idle until we are connected again.
2022-06-05 15:40:12 +02:00
aae126a3de xmpp: Add support for setting reconnection policies 2022-05-30 16:26:34 +02:00
dfacbca446 refactor: Make [SASLScramNegotiator] use a DFA 2022-05-13 14:10:01 +02:00
e89b360fed xmpp: Use the federated moxdns 2022-04-30 16:08:20 +02:00
15eaccb822 xmpp: Handle ack timeouts 2022-04-22 23:12:20 +02:00
9f0ad970de xmpp: Ignore cap hash broadcasts from clients on our account 2022-04-22 23:11:40 +02:00
79f2b582b2 xmpp: Make the XEP-0030 name attribute optional 2022-04-21 14:43:40 +02:00
a5be79b0d4 xmpp: Move the ping management out of [StreamManagementManager]
This allows the socket to say whether whitespace pings are allowed
and whether it manages its own keepalives or not.
2022-04-20 22:57:30 +02:00
cc8b822e3e xmpp: Hopefully reduce the amount of times the connection just dies 2022-04-20 22:23:53 +02:00
7e0d6194ce meta: Replace mutex with synchronized
It turnes out that [Mutex.protect] would sometimes just never
release the Mutex and thus deadlock the entire connection.
2022-04-20 20:52:07 +02:00
f9dc1346d7 xmpp: Do not bounce stanzas with a type of 'error' 2022-04-20 20:28:59 +02:00
226e0bcba2 xmpp: Fix Issue with stream management (And null-operator on null)
As it turns out, there is a race-condition in sendStanza, if the
response is fast enough here. So the solution is to simply put
_awaitingResponse behind a mutex lock and turn code accessing it
into a critical section.
2022-04-20 18:33:12 +02:00
299e4fd80c xmpp: Fix _connectionCompleter not getting resolved after SASL failure 2022-04-20 13:02:22 +02:00
79dddebacb xmpp: Send messages with a type of 'chat', not 'normal' 2022-04-20 12:33:02 +02:00
9368a9d83b xmpp: Fix bouncing every presence back with an error 2022-04-20 12:32:40 +02:00
0c36207df8 service,xmpp: Fix roster not appearing 2022-04-19 16:02:50 +02:00
75fc24f79e xmpp: Redact sending of SASL nonzas 2022-04-18 17:12:22 +02:00
96a251ec87 xmpp: Add a test for XEP-0363 2022-04-18 13:23:25 +02:00
45b5d51e10 style: Make _decoder const 2022-04-18 00:16:47 +02:00
3c51a19636 xmpp: Remove _buffer from XmlStreamBuffer 2022-04-17 23:36:15 +02:00
4da2b13384 xmpp: Fix stream subscriptions not being ended if _socket == null 2022-04-17 23:09:23 +02:00
cc7acae24c xmpp: Make JID parsing ignore whitespaces 2022-04-17 23:08:51 +02:00
2b79d7a491 xmpp: Fix issue with the connection being stuck on StartTLS 2022-04-17 23:06:38 +02:00
de9c81b50a xmpp: Add more debug statements 2022-04-17 23:06:25 +02:00
112e23ba9a xmpp: Use the xml package for putting the data together 2022-04-17 11:01:32 +02:00
23ac5939a3 ui: Add a display showing if the server supports certain XEPs 2022-04-13 22:20:01 +02:00
43081d7959 xmpp: Lock the SM state behind a mutex lock 2022-04-12 21:51:59 +02:00
78c4ce50e6 xmpp: Clear SM state when disconnecting 2022-04-12 21:39:52 +02:00
c38cbd0638 style: Fix unneeded interpolation 2022-04-12 19:01:35 +02:00
a58cec32db xmpp: Allow disconnecting and detect socket closure 2022-04-12 18:13:58 +02:00
8556f61012 style: Fix a lot of linter warnings 2022-04-10 22:57:04 +02:00
5762bce056 meta: Fully implement chat states 2022-04-10 17:45:37 +02:00
ae545ce26d ui: Implement a basic chat state indicator 2022-04-10 12:30:20 +02:00
503f36cb38 xmpp: Implement XEP-0085 2022-04-10 11:48:17 +02:00
8a518a8aa1 xmpp: Improve Stream Management by looking at Conversations 2022-04-09 19:47:33 +02:00
dcc19c461d service: Correctly deal with carbon messages 2022-04-09 11:46:15 +02:00
bfd7e5ef04 xmpp: Fix more subscription request functions 2022-04-08 20:31:02 +02:00
efa7e43b0f xmpp: Log in the socket rather than in the connection class 2022-04-08 20:30:42 +02:00
441c795bf8 style: Fix linter warning 2022-04-08 20:30:10 +02:00
dfecaba50e service: Implement setting the subscription state of a contact 2022-04-08 20:29:46 +02:00
c43b446abf xmpp: Fix presence subscription approval and denial 2022-04-08 19:56:51 +02:00
d17610ff76 xmpp: Add [MayFail] 2022-04-07 20:03:06 +02:00
d1cbd9e5c5 xmpp: Implement XEP-0363 2022-04-07 17:19:31 +02:00
08ccc7246e ui: Request our own avatar in case it differs from the local value 2022-04-06 17:55:23 +02:00
6b321a8f13 xmpp: Fix queue growing in size if a stanza cannot be sent 2022-04-05 20:27:24 +02:00
4f769c6cc8 xmpp: Add an awaitable connect method 2022-03-23 12:22:19 +01:00
e39463dc0a ui: Kind of implement setting an avatar 2022-03-17 11:40:57 +01:00