8266765ff8
feat(core): Add encryption info to MessageEvent
2023-06-07 23:42:05 +02:00
e234c812ff
feat(core): Add a shorthand for MessageEvent.extensions.get
2023-06-07 21:11:11 +02:00
4ff2992a03
fix(all): Last minute fixes
2023-06-07 21:04:05 +02:00
09fd5845aa
feat(core): Re-fix the subscription functions
2023-06-07 18:54:05 +02:00
963f3f2cd9
feat(core): Check if we can do subscription pre-approval
2023-06-07 18:41:08 +02:00
da1d28a6d6
feat(core): Remove the PresenceReceivedEvent
2023-06-07 15:12:34 +02:00
cbd90b1163
feat(core): Add a list constructor to TypedMap
2023-06-07 14:13:46 +02:00
f0538b0447
feat(xep): Write a test for XEP-0334
2023-06-06 21:46:33 +02:00
968604b0ba
fix(tests): Fix SFS parsing test
2023-06-06 21:31:14 +02:00
60279a84e0
feat(all): Restrict extensions to StanzaHandlerExtension
2023-06-06 21:19:42 +02:00
cf3287ccf4
feat(core): Remove freezed artifact
2023-06-06 20:26:35 +02:00
1ab0ed856f
feat(all): Bump version to 0.4.0
2023-06-06 20:22:13 +02:00
10a5046431
feat(core): Rework [MessageEvent]
2023-06-06 16:19:16 +02:00
4d76b9f57a
feat(core): Remove [MessageDetails]
2023-06-06 15:57:55 +02:00
0ec3777f44
feat(xep): Managers register the sending callback
2023-06-06 15:14:19 +02:00
6f5de9c4dc
feat(xep): Implement the message sending callbacks
2023-06-06 14:12:49 +02:00
79d7e3ba64
feat(all): Move all managers to the new data system
2023-06-04 21:53:47 +02:00
8270185027
feat(core): Implement a typed map
2023-06-03 00:41:23 +02:00
9e0f38154e
feat(all): Various changes
...
- Fix unavailable presence being sent *after* connecting
- Migrate more APIs to the JID class
- Advertise +notify for user avatar metadata
2023-06-02 22:00:44 +02:00
1475cb542f
fix(xep): Just receiving <stanza-id/>s does not require disco
...
It is only required when we try to use them.
2023-05-25 12:42:42 +02:00
b949ec6ff5
fix(docs): Fix typo
2023-05-24 23:44:48 +02:00
83ebe58c47
feat(tests): Test emptying stanza queue on connect
2023-05-24 22:03:17 +02:00
4db0ef6b34
feat(core): Expose StanzaDetails
2023-05-24 20:41:02 +02:00
b95e75329d
feat(all): Remove StanzaAddFrom
2023-05-24 20:27:01 +02:00
3163101f82
feat(all): Migrate to the new StanzaDetails API
2023-05-24 14:28:42 +02:00
bd4e1d28ea
feat(core): Implement the send queue
2023-05-24 13:34:36 +02:00
b1da6e5a53
chore(xep): Move DiscoManager from String to JID
2023-05-23 17:28:20 +02:00
c6552968d5
feat(core): Remove resumed from connection state change events
2023-05-23 15:56:38 +02:00
1d87c0ce95
feat(xep): Separate XEP-0030 and XEP-0115 support
...
Also, we now validate whatever we get in terms of disco#info
and capability hashes before caching.
2023-05-23 15:52:48 +02:00
da591a552d
fix(xep): Fix discovery of XEP-0191 and XEP-0280
2023-05-16 19:06:50 +02:00
47b679d168
fix(xep): Do not set C2S counter to 0 after connecting
2023-05-16 13:45:52 +02:00
320f4a8d4c
fix(xep): Fix issues with enhanced enums
2023-05-16 00:59:50 +02:00
1fdefacd52
feat(xep): Improve API using enhanced enums
2023-05-15 20:40:39 +02:00
09b8613c80
fix(style): Style fixes
2023-05-07 00:15:37 +02:00
f3d906e69b
feat(core): Re-add xmlns for StanzaHandler
2023-05-07 00:13:25 +02:00
483cb0d7f1
fix(core): Fix stream parsing breaking after some time
2023-05-07 00:09:35 +02:00
f73daf4d1c
fix(core): Fix getting stuck on invalid stream ends
...
Whenever the stream ends in a weird state, for example with
`<some-tag`, initiating a new stream will confuse the XML parser
and lead errors causing the connection to get stuck.
To fix this, we had to work around xml's extension methods and implement
the extensions in the new "stream parser" where we can reset the parser
(and by reset I mean replace) and thus continue with a fresh parsing state
whenever we reconnect (or connect).
2023-05-06 20:58:34 +02:00
a8693da262
chore(xep): Formatting
2023-04-09 13:17:21 +02:00
0fb66f6aca
fix(xep,core): Fix some reconnection issues
...
- Use handleError instead of directly invoking onFailure
- Stop the ack timer only when we receive ack responses
- NoConnectionPossibleErrors are not irrecoverable
2023-04-09 13:14:53 +02:00
4d312b2100
chore(docs): Update changelog
2023-04-07 15:28:43 +02:00
c1ad646905
fix(core,xep): Fix multiple issues
...
- Fix a deadlock in the RandomBackoffReconnectionPolicy on failure
- Fix enablement of stream management happening too early
2023-04-07 15:26:49 +02:00
c88ab940c4
release: Version 0.3.1
2023-04-05 13:20:16 +02:00
916be1c927
fix(core): Fix components' stanza matching
2023-04-05 13:17:18 +02:00
7f3538875b
feat(core): Make all managers optional
2023-04-04 15:59:07 +02:00
f6efa20ff4
chore(meta): Bump versions
2023-04-04 15:55:52 +02:00
8443411f07
fix(docs): XEP-0144 -> XEP-0114
2023-04-04 15:53:57 +02:00
dc24b3c48a
chore(core): Remove useDirectTLS
2023-04-04 15:52:56 +02:00
f6abf3d5b5
feat(xep): Implement XEP-0114
2023-04-04 15:48:26 +02:00
63c84d9479
feat(core): Allow tracking the stream id
2023-04-03 23:18:10 +02:00
3e43ac22d7
feat(core): Remove getter and setter for connectionSettings
2023-04-03 17:56:31 +02:00
47d821c02e
docs(core): Add comments to NegotiationsHandler
2023-04-03 16:17:09 +02:00
355d580a9a
fix(tests): Fix negotiator tests
2023-04-03 16:15:46 +02:00
03328bdf7a
feat(core): Allow implementing different negotiation strategies
...
Fixes #27 .
2023-04-03 16:05:20 +02:00
275d6e0346
feat(core): Attempt to improve the ReconnectionPolicy
2023-04-03 13:40:13 +02:00
0d9afd546c
feat(core): Remove ignoreLock
2023-04-03 12:47:38 +02:00
3da334b5cf
feat(core): Remove the connection lock
2023-04-03 12:46:15 +02:00
ac8433f51f
chore(core): Refactor RFC6120 implementations
2023-04-02 23:33:53 +02:00
808371b271
chore(tests): Fix tests
2023-04-02 23:23:50 +02:00
7fdd83ea69
chore(xep): Clean the SASL2 implementation
2023-04-02 23:06:02 +02:00
d977a74446
feat(tests): Add an integration test for SASL2
2023-04-02 17:20:14 +02:00
29f0419154
feat(meta): Remove log redaction
2023-04-02 14:38:32 +02:00
b354ca8d0a
feat(xep): Improve the ergonomics of Bind2 negotiators
2023-04-02 13:39:43 +02:00
ec6b5ab753
feat(xep): Allow inline enablement of carbons
2023-04-02 12:44:09 +02:00
ce1815d1f3
fix(tests): Fix namespace of <bound />
2023-04-02 12:43:28 +02:00
fbb495dc2f
feat(xep): Allow inlining CSI
2023-04-01 23:16:37 +02:00
4a6aa79e56
fix(xep): When using FAST, fallback to other SASL mechanisms on failure
2023-04-01 21:42:52 +02:00
0033d0eb6e
feat(xep): Implement FAST
2023-04-01 21:10:46 +02:00
24cb05f91b
feat(xep): Handle inline stream enablement with Bind2
2023-04-01 17:38:40 +02:00
91f763ac26
feat(xep): Allow negotiating SM enabling inline with Bind2
2023-04-01 17:16:29 +02:00
51edb61443
feat(xep): Implement SASL2 inline stream resumption
2023-04-01 15:50:13 +02:00
4e01d32e90
feat(xep): Allow setting a tag when using Bind2
2023-04-01 13:15:46 +02:00
f2fe06104c
fix(core): Fix formatting
2023-04-01 13:13:19 +02:00
89fe8f0a9c
feat(core): Make the PresenceManager optional
2023-04-01 13:09:43 +02:00
9358175925
feat(xep): Inline resource binding with Bind2
2023-04-01 13:00:35 +02:00
564a237986
feat(xep): Set the resource if SASL2 resulted in a resource
2023-04-01 12:51:26 +02:00
cf425917cf
feat(core): Reset the resource if lastResource is null
2023-04-01 12:39:15 +02:00
63b7abd6f9
fix(core): Prevent resource binding if we already have a resource
2023-04-01 12:38:18 +02:00
f460e5ebe9
feat(core): Handle less resource binding in the core connection class
2023-04-01 12:28:11 +02:00
af8bc606d6
feat(xep): Guard against random data in the SASL2 result
2023-04-01 00:51:51 +02:00
30482c86f0
feat(xep): Implement inline negotiation
2023-04-01 00:47:45 +02:00
f86dbe6af8
feat(core): Verify the server signature with SASL2
2023-03-31 23:52:48 +02:00
478b5b8770
feat(core): Make SCRAM SASL2 aware
2023-03-31 21:09:16 +02:00
7ab3f4f0d9
feat(xep): Implement negotiating PLAIN via SASL2
2023-03-31 20:53:06 +02:00
2e60e9841e
feat(xep): Begin work on SASL2
2023-03-31 19:02:57 +02:00
52ad9a7ddb
fix(core): Reset the connection tracker when timing out
2023-03-31 15:53:11 +02:00
ac5e0c13b7
fix(xep): Do not subscribe to the data node
2023-03-31 15:52:50 +02:00
d4a972e073
feat(core): Close the socket on an error
2023-03-30 16:17:42 +02:00
1009a2f967
feat(core): Fix typing and remove logging parameter
2023-03-30 16:17:12 +02:00
f355f01fc8
fix(tests): Fix integration tests
2023-03-30 16:15:44 +02:00
85995d51e4
feat(core): Remove SendPingEvent
2023-03-29 17:18:03 +02:00
2557a2fe5b
feat(core): Make the ping manager optional
2023-03-29 15:25:17 +02:00
4321573dfb
fix(core): Fix reconnections not working properly
2023-03-21 12:01:22 +01:00
70d4d6c56f
feat(core): Use _testAndSetIsConnectionRunning
2023-03-18 18:41:58 +01:00
e1e492832e
chore(tests): Format and lint tests
2023-03-18 16:13:45 +01:00
de85bf848d
fix(core): Fix crash when no negotiator matches
...
Fixes #30 .
Also removes the `allowPlainAuth` attribute of `ConnectionSettings` as
users who want to disable SASL PLAIN can just not register the
negotiator or extend it.
2023-03-18 14:54:39 +01:00
7a6bf468bc
test(xep): Add a test for parsing sticker packs
2023-03-16 22:04:25 +01:00
9cb6346c4d
fix(style): Format and lint test helpers
2023-03-12 19:19:53 +01:00
f49eb66bb7
fix(xep): Fix usage of 'max' in publish options ( #33 )
...
This commit fixes two issues:
1. Fix an issue where [PubSubManager.publish] would always, if given
publish options with maxItems set to 'max', use 'max' in the
max_items publish options, even if the server indicates it does not
support that.
2. Fix an issue with the StanzaExpectation, where it would let every
stanza pass.
2023-03-12 19:11:55 +01:00
5b4dcc67b2
refactor(core): Remove XmppConnectionResult
2023-03-11 19:07:03 +01:00
9010218b10
refactor(core): Move connection errors into their own file
2023-03-11 19:06:28 +01:00