Ivan Enderlin
b1c28f4bc1
feat(ui): sync_service::State::Error contains the cause error.
...
This patch updates the `State::Error` variant to contain the error that
led to this state.
2025-09-05 22:31:53 +02:00
Damir Jelić
0bed6afc29
fix(multiverse): Define the color of the placeholder text of the input line
...
This ensures that we're using the same color despite what your color
scheme of your terminal is. Some color schemes might produce unreadable
combinations of foreground color and background color.
2025-09-03 15:45:48 +02:00
Benjamin Bouvier
5fb728e8f0
feat(sdk): use local thread subscription data if it's accurate \o/
2025-09-02 14:57:49 +02:00
Damir Jelić
1e30916754
chore: Bump most of our deps
2025-09-01 16:33:10 +02:00
Benjamin Bouvier
8c0a918e6e
refactor(sdk): introduce a lightweight ThreadSubscription for external consumers, and rename previous one to StoredThreadSubscription
...
External consumers are likely not interested about unsubscriptions and
the bump stamp values themselves, so let's not expose these to them.
2025-09-01 10:38:34 +02:00
Benjamin Bouvier
33c317e6d2
refactor(sdk): put the subscription status + bumpstamp back into the stored thread subscription
2025-09-01 10:38:34 +02:00
dragonfly1033
385f1a824f
feat(multiverse): Add search feature to multiverse
2025-08-21 14:50:11 +01:00
dragonfly1033
dfc0ef8b35
refactor(multiverse): Create generic PopupInput widget
2025-08-21 14:50:11 +01:00
Benjamin Bouvier
4fc28c4701
feat(multiverse): enable threading support for multiverse with subscriptions
2025-08-18 15:10:50 +02:00
dragonfly1033
683f0f4027
feat(multiverse): Add room creation to multiverse
2025-08-08 12:33:48 +01:00
Benjamin Bouvier
0cdec9d912
refactor(threads): flatten the ThreadStatus enum
2025-08-06 15:28:43 +02:00
Benjamin Bouvier
d180d49c07
refactor(threads): do not store the unsubscribed state in the DB
2025-08-06 15:28:43 +02:00
Benjamin Bouvier
ebb7059d55
refactor(threads): adapt to Ruma API changes for thread subscriptions
2025-08-06 15:28:43 +02:00
Benjamin Bouvier
d57d3c4124
feat(sdk): save the unsubscribed status in the store, and use it to return something more precise than unknown when fetching a subscription
2025-07-30 12:07:07 +02:00
Benjamin Bouvier
770f65ede0
feat(multiverse): add support for subscribing/unsubscribing/showing the current sub status
2025-07-28 10:39:38 +02:00
Benjamin Bouvier
5ae7d0f60f
feat(timeline): Timeline::send() automatically includes the thread relationship for thread foci
2025-07-23 15:05:23 +02:00
Ivan Enderlin
d7550ec645
feat(ui): RoomListService::subscribe_to_rooms calls LatestEvents::listen_to_room.
...
This patch updates `RoomListService::subscribe_to_rooms` to call
`LatestEvents::listen_to_room` automatically. This method becomes async,
which propagates to a couple of callers.
The idea is that when one is interested by a specific room, a
subscription will be applied. This is an opportunity to also “activate”
the computation of the `LatestEvent` for this specific room, so that the
user doesn't have to do that manually (except if room subscription is
never used).
2025-07-09 12:31:22 +02:00
Benjamin Bouvier
40c08335ee
feat(multiverse): add support for read receipts
2025-07-09 11:05:09 +02:00
Benjamin Bouvier
935ffa5aea
chore(multiverse): paginate fewer events, to better test the behavior of pagination
2025-07-07 11:40:18 +02:00
Benjamin Bouvier
6a1576a085
refactor(timeline): make use of the threaded event cache in the timeline
2025-07-07 11:40:18 +02:00
Jonas Platte
07808b4301
refactor: Enable extra code style clippy lints
2025-07-05 21:20:34 +02:00
Jonas Platte
115c7578d4
refactor(multiverse): Rewrite condition for readability
2025-06-29 09:42:27 +02:00
Jonas Platte
9f3e7debb1
refactor(multiverse): Use let chains
2025-06-29 09:42:27 +02:00
Jonas Platte
58d2ae4c39
chore(multiverse): Upgrade to Rust edition 2024
2025-06-29 09:42:27 +02:00
Damir Jelić
145d6c5782
refactor(multiverse): Use a paragraph to render an individual read receipt
2025-06-16 12:54:40 +02:00
Damir Jelić
a955af61e1
refactor(multiverse): Simplify the selected read receipt rendering
...
This patch simplifies the selected read receipt rendering by the fact
that we can simply fetch the selected timeline item instead of the event
ID and then do a search for the selected item.
Co-authored-by: Benjamin Bouvier <benjamin@bouvier.cc >
Signed-off-by: Damir Jelić <poljar@termina.org.uk >
2025-06-16 12:54:40 +02:00
Damir Jelić
2a78b5b67a
chore: Fix a clippy lint
2025-06-16 12:54:40 +02:00
Damir Jelić
9d29c36531
feat(multiverse): Only render read receipts for a single event if one is selected
2025-06-16 12:54:40 +02:00
Damir Jelić
ed9c7d90b4
feat(multiverse): Allow event selection even if the details view is open
2025-06-16 12:54:40 +02:00
Damir Jelić
2af23d052c
feat(multiverse): Show the selected event in the read receipts view
2025-06-16 12:54:40 +02:00
Damir Jelić
fb80e06839
feat(multiverse): Show read receipts for individual messages
2025-06-16 12:54:40 +02:00
Daniel Salinas
5b20136a50
Stop using tokio::runtime::Handle directly
...
Use our platform aware export from matrix-sdk-common instead
2025-06-16 09:09:28 +02:00
Benjamin Bouvier
bcea1d32e6
refactor(multiverse): use a log line instead of a status message for showing intent to open a thread view
2025-06-12 13:25:08 +02:00
Benjamin Bouvier
346f11319c
refactor(multiverse): move the opening of a threaded timeline to its own function
2025-06-12 13:25:08 +02:00
Benjamin Bouvier
937b223627
chore(multiverse): add missing help lines for the new functionalities
2025-06-12 13:25:08 +02:00
Benjamin Bouvier
000d8514f6
refactor(multiverse): store the selected room in the TimelineKind::Room field
2025-06-12 13:25:08 +02:00
Benjamin Bouvier
72692b7b33
feat(multiverse): add basic support for threads
2025-06-12 13:25:08 +02:00
Benjamin Bouvier
0f84d482b9
refactor(multiverse): inline send_message_impl into its own caller
...
Also don't clear the input if the timeline wasn't found yet.
2025-06-12 13:25:08 +02:00
Benjamin Bouvier
c609150a3e
refactor(multiverse): introduce RoomView::get_selected_timeline()
2025-06-12 13:25:08 +02:00
Benjamin Bouvier
2f46a6c8a0
refactor(multiverse): use Client to get a Room object by room id
2025-06-12 13:25:08 +02:00
Benjamin Bouvier
7bdddc9d35
refactor(multiverse): misc tiny changes
...
Notably, avoid holding a lock if it's not going to be used later.
2025-06-12 13:25:08 +02:00
Jonas Platte
65bb20c965
refactor: Clean up tracing and formatting macro uses ( #5192 )
...
Signed-off-by: Jonas Platte <jplatte+matrix@posteo.de >
2025-06-09 12:15:59 +02:00
Damir Jelić
34d3cd496b
feat(multiverse): Show thread roots even if we can't find the latest message
2025-06-05 16:29:54 +02:00
Damir Jelić
1f9c3394c5
refactor(multiverse): Split out the timeline item formatting logic
2025-06-05 16:29:54 +02:00
Damir Jelić
005f002747
feat(multiverse): Start to render threads
2025-06-05 16:29:54 +02:00
Damir Jelić
80b8a6d8cc
feat(multiverse): Allow timeline items to be selected
2025-06-05 16:29:54 +02:00
Daniel Salinas
d3be744244
feat(wasm): Remove direct use of tokio::spawn in favor of matrix-sdk-common ( #5159 )
...
Mechanical move from tokio::spawn to matrix_sdk_common::executor::spawn
that has support for Wasm platforms. On non-Wasm, this shim defaults to
tokio::spawn.
2025-06-03 12:22:53 -04:00
Damir Jelić
8cc3b0fa33
refactor(multiverse): Add a common method to execute commands on rooms
2025-06-03 16:46:17 +02:00
Damir Jelić
bf201e317e
feat(multiverse): Add a /leave command
2025-06-03 16:46:17 +02:00
Damir Jelić
13306be4ed
fix(multiverse): Wait for the join task to finish before switching the view
2025-06-03 14:07:37 +02:00