Commit Graph

124 Commits

Author SHA1 Message Date
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
8217346399 feat: Use moxdns' federated plugins
Also replace the git repositories with a selfhosted
pub repository.
2022-04-30 16:23:45 +02:00
689e115559 meta: Use moxplatform for platform-specific tasks 2022-04-28 21:43:01 +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
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
46ea8cb1a5 ui,service: Fix app stalling in debug mode 2022-04-19 16:12:54 +02:00
8800be6423 service: Fix the app getting stuck in release mode
It turns out that a release build is much faster than a
development build. The issue was that the UI sent the
[PerformPreStartCommand] too early as the background service
still had work to do before being considered ready.

As a solution we now either wait for the event to arrive by
itself, as the service sends it at the end of its initilization, or
after an explicit request if the service is already running.
2022-04-19 13:30:56 +02:00
3dffef1670 service: Move [setupBackgroundHandler] into events.dart 2022-04-17 23:42:32 +02:00
64d6fa9228 service: Add forgotten event handler 2022-04-17 23:40:28 +02:00
2b79d7a491 xmpp: Fix issue with the connection being stuck on StartTLS 2022-04-17 23:06:38 +02:00
65a5a3e283 service: Implement log out 2022-04-17 11:53:00 +02:00
09a8d909b9 service: Show 'Idle' in the notification when we're not logged in 2022-04-15 23:34:39 +02:00
97db5aefc3 meta: Fix issue with path_provider in the background service 2022-04-15 13:34:40 +02:00
9171112d6f wip: Migrate flutter_background_service to 2.0.0 2022-04-15 12:46:08 +02:00
fac8066dad meta: Set flutter_background_service to 0.2.2 2022-04-15 01:35:28 +02:00
402f1ed72c service: wip: Upgrade flutter_background_service 2022-04-15 00:23:58 +02:00
50473389e2 service: Fix logging being cut off in the terminal if its too long 2022-04-14 23:27:59 +02:00
23ac5939a3 ui: Add a display showing if the server supports certain XEPs 2022-04-13 22:20:01 +02:00
2f263e1ade ui: Generate video thumbnails in a different Isolate
Also, lock the pre-start command until the services are all
initialized.
2022-04-13 15:38:05 +02:00
fa16a12fd3 service: Move database initializatio into the [DatabaseService] 2022-04-12 22:51:45 +02:00
febc052d7b service: Add [MessageService] and update [RosterService] 2022-04-12 22:47:37 +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
6566f64963 meta: Create the [ConversationService] to keep track of chat states 2022-04-10 14:39:31 +02:00
ae545ce26d ui: Implement a basic chat state indicator 2022-04-10 12:30:20 +02:00
3c6543add1 ui: Fix closing conversations 2022-04-09 22:31:40 +02:00
e259d69ef1 service: Add a possibility to set the presence subscription state 2022-04-08 13:20:52 +02:00
75811d7dee service: Make [XmppState] and [PreferencesState] migratable 2022-04-06 14:46:08 +02:00
4f0d6fdb53 service: Implement setting the avatar 2022-04-05 20:04:53 +02:00
3ce67cd1bc service: Track received files with their mime type 2022-04-03 13:11:32 +02:00
88e48bccf1 ui: First restructuring of the inline chat widgets
This commit moves the widgets around and fully implements
the base widget for alot of others: [FileChatWidget].
2022-03-30 12:49:35 +02:00
c7dd5961f7 ui: Convert the settings to Bloc 2022-03-26 14:32:41 +01:00
f0bd41bc2a ui: Re-implement CSI support 2022-03-25 18:48:34 +01:00
75fa6b20ee ui: Re-implement the blocklist page 2022-03-25 15:00:35 +01:00
f6bc539037 ui: Re-connect the blocking support to the conversation page 2022-03-25 14:27:42 +01:00
f6e60bfa4e ui: Allow sending messages 2022-03-25 12:25:32 +01:00
321e663df4 service: Re-implement currently opened chat 2022-03-24 21:17:19 +01:00
dc3e77b3dd ui: Almost re-implement [ConversationPage] 2022-03-24 15:26:48 +01:00
de0a8a27b1 ui: Implement more of [NewConversationPage] 2022-03-23 20:42:13 +01:00
1615ab347a meta: Load conversations after PreStart 2022-03-23 15:50:54 +01:00
fe09961d85 service: Re-enable the XMPP connection 2022-03-23 12:29:36 +01:00
7fcaca6491 service: Implement the [EventHandler] 2022-03-22 13:27:47 +01:00
2157eab77a ui: Stub the [ConversationsPage] 2022-03-21 20:15:40 +01:00
7c6d2cb64b ui: Kind of implement the login 2022-03-21 19:40:28 +01:00
01399bb6ae meta: Implement the [AwaitableDataSender] in a test phase 2022-03-21 19:03:31 +01:00
e39463dc0a ui: Kind of implement setting an avatar 2022-03-17 11:40:57 +01:00
5d21177841 meta: Implement user blocking 2022-03-14 20:58:32 +01:00
8a5b0ebdc3 xmpp: Implement Blocking Command 2022-03-13 16:43:27 +01:00
1a55412eab xmpp: Parse message replies 2022-03-11 22:30:51 +01:00
ae643e7009 xmpp: Rework the stanza handler 2022-03-11 21:39:42 +01:00
255d0ef8ea ui: Re-implement the new conversation page 2022-03-10 17:38:53 +01:00
9ea2664111 service: Fix messages not appearing after re-adding a contact 2022-03-09 18:08:45 +01:00
4a17ec9812 ui: Refactor the ConversationPage
This refactor was needed to add the line for adding a conversation
to the user's roster or block them.

This also removed one unnecessary event.
2022-03-08 18:18:33 +01:00
92731677a3 meta: Implement swipe-to-quote 2022-03-08 14:13:58 +01:00
213d777750 ui: Add privacy settings 2022-03-04 15:26:30 +01:00
347c45163b xmpp: Implement XEP-0060 and XEP-0084 2022-03-03 18:04:34 +01:00
3cdaccbdf7 service: Prevent the vCard request from blocking the addition process 2022-03-03 14:41:39 +01:00
9144ab7493 service: Create the [AvatarService]
Also fetch an avatar when adding a roster entry.
2022-03-03 14:08:52 +01:00
d344e82792 xmpp: Implement read-only avatars using XEP-0053 and XEP-0153 2022-03-03 13:05:23 +01:00
0a280caa01 service: Fix removing items from the roster 2022-03-02 15:52:04 +01:00
91c5bfcf57 xmpp: Implement Message Carbons 2022-03-01 20:26:55 +01:00
fd4134d61b service: Improve media messages 2022-02-28 16:06:08 +01:00
4af9ee96a1 service: Implement the download request 2022-02-28 12:57:35 +01:00
b5e1da839a service: Migrate all F2S commands to classes 2022-02-26 18:16:56 +01:00
5f0075d04d service: Port over all Service-to-Foreground events to classes 2022-02-26 13:27:54 +01:00
8394728f3b service: Port over the first events to classes 2022-02-26 12:19:19 +01:00
6816f0446b service: Fix the roster duplicating 2022-02-25 21:55:52 +01:00
cdaf57c761 service: Replace awesome_notifications
Replace awesome_notifications with flutter_local_notifications,
which allows big picture notifications to be used.
2022-02-25 13:18:31 +01:00
ef4826c619 meta: Receive images using OOB data 2022-02-24 21:47:30 +01:00
7c55434c50 ui: Restore the 'Debug enabled' switch 2022-02-23 14:35:46 +01:00
f0552888c9 service: Fix bug where roster items duplicate 2022-02-23 13:00:15 +01:00
6f022b873f xmpp: Implement a DiscoCacheManager 2022-02-23 12:44:47 +01:00
0b9431638c style: Refactor Repositories to Services 2022-02-22 22:10:52 +01:00