5b4fd33cc2
xmpp: Explicitly handle [RoutingState.error]
2022-01-23 12:25:00 +01:00
2aee1a814f
style: Remove unneccessary 'initializer'
2022-01-23 12:23:10 +01:00
3073321ecd
style: Fix filename issues
2022-01-23 12:18:30 +01:00
f8acf98ebd
style: Spent 6h fixing linter warnings
2022-01-21 17:44:48 +01:00
cbce0fb3df
xmpp: Factor out the double loops
2022-01-21 11:50:11 +01:00
1b4872f016
xmpp: Improve tests and fix our first vulnerability
...
In order to test the [RosterManager], I decided to add a test to ensure
vulnerabilities like CVE-2015-8688 won't happen. But as it turns out,
I got the logic wrong in the [RosterManager] base implementation which
would've allowed a malicious actor to inject a roster push. oof.
2022-01-21 11:23:09 +01:00
dadd659eba
xmpp: Remove a TODO
2022-01-21 09:39:12 +01:00
abadc0214f
xmpp: Implement plain resource binding
2022-01-21 09:34:38 +01:00
f678f1b26d
xmpp: Fix missing import
2022-01-21 09:02:05 +01:00
5abb3059bf
xmpp: Re-implement read-only support of chat markers
2022-01-20 22:06:01 +01:00
c09184597c
xmpp: Make StanzaHandler callbacks async
2022-01-20 17:55:26 +01:00
af458df136
xmpp: React to the capability node in disco#info requests
2022-01-20 17:38:11 +01:00
2d05abf552
xmpp: Make sendEvent private
2022-01-20 17:12:31 +01:00
e476978639
xmpp: Move initial presence to the PresenceManager
2022-01-20 17:10:33 +01:00
57e04efb98
xmpp: Move sendMessage to MessageManager
2022-01-20 16:57:10 +01:00
868290baca
xmpp: Add persistence overrides for RosterManager
2022-01-20 13:15:34 +01:00
cc2b837340
xmpp: Allow persistence overriding StreamManagementManager
2022-01-20 12:58:35 +01:00
136a1f0cef
xmpp: Move CSI into its own manager
2022-01-19 18:55:38 +01:00
8daee01915
xmpp: Move roster functions into the RosterManager
2022-01-19 16:28:09 +01:00
adc9979df8
xmpp: Huge rework of stanza handling
...
Instead of putting everything into [XmppConnection], let's put
everything into its own [XmppManagerBase] base subclass.
- Improves testability
- Makes extensions easier
- Allows easier usage of lib/xmpp as its own library
2022-01-19 15:59:48 +01:00
4de3ac8d5f
xmpp: Generate IDs using UUIDv4
2022-01-18 15:58:25 +01:00
7cf0a8a826
xmpp: Implement XEP-0115
2022-01-18 12:07:50 +01:00
725f195ef4
xmpp: Make the stream header completely XMLNode
2022-01-17 22:56:04 +01:00
4c87cae569
xmpp: Implement CSI
2022-01-17 22:46:23 +01:00
c1d9b50d8d
xmpp: Listen to the error stream
2022-01-17 16:55:16 +01:00
17b97d8c03
style: Small improvement
2022-01-17 14:13:54 +01:00
dd76e219ea
xmpp: Improve the socket
2022-01-17 14:12:04 +01:00
54cf44706a
xmpp: Make reconnecting work
2022-01-17 14:04:30 +01:00
05c8f40ae6
WIP: Fix crash when reconnecting
2022-01-16 21:43:33 +01:00
abb58b39c8
xmpp: Prepare network state watching
2022-01-16 21:29:01 +01:00
870869c3a1
test: Modularize the StubSocket
2022-01-16 13:33:52 +01:00
a5142bb6e0
xmpp: Add some comments
2022-01-14 21:52:19 +01:00
907caf20d7
WIP: Move the XMPP connection into a foreground service
2022-01-14 21:37:54 +01:00
a6ca1ef127
xmpp: Somewhat implement a send queue
2022-01-10 20:33:52 +01:00
bdb8530675
refactor: conversation.dart -> database.dart
2022-01-10 15:17:14 +01:00
8d3b0bc80c
ui: Implement conversation closing
2022-01-10 11:55:54 +01:00
209d56d6e5
xmpp: Send unsubscription request when removing
2022-01-09 23:40:15 +01:00
b02a344fb3
xmpp: Fix removing roster items
2022-01-09 23:38:28 +01:00
09d9d52a5b
xmpp: Rework
2022-01-09 22:50:15 +01:00
2dd29a612a
xmpp: Set the connection state to error on... error
2022-01-05 18:07:59 +01:00
2fd7cefa97
ui: Implement login failures
2022-01-05 18:06:55 +01:00
2212d778e1
xmpp: It's a mess but roster deletion kinda works
2022-01-05 14:45:24 +01:00
b3ddb33ebc
backend: Begin implementing roster removal
2022-01-04 22:41:39 +01:00
78a7eb8f77
xmpp: Implement basic roster mechanics
2022-01-04 17:37:06 +01:00
d79518c0dc
redux: Remove the (not commited) credentials from main.dart and enable login
2022-01-03 00:08:39 +01:00
51f4b21157
xmpp: Ckear stream features before processing them
2022-01-02 22:43:25 +01:00
a897eba033
xmpp: Ping open the connection every 5 minutes
2022-01-02 17:28:29 +01:00
2ee72c0345
xmpp: ALLOW SENDING MESSAGES
2022-01-02 16:21:31 +01:00
ca11e31876
xmpp: Remove testing comment
2022-01-02 14:48:47 +01:00
5eed04290e
xmpp: Factor out the stream buffering for testing
2022-01-02 14:44:31 +01:00