Damir Jelić
d5d0368ba8
feat(multiverse): Add support to reset your identity
2025-04-07 14:17:10 +02:00
Damir Jelić
899eb04f05
feat(multiverse): Use F8 to open the details view instead of CTRL-D
...
CTRL-D might become important once we add scrolling to the timeline
2025-04-07 14:17:10 +02:00
Damir Jelić
187280d573
feat(multiverse): Show an exit screen instead of printing things to stdout
2025-04-07 14:17:10 +02:00
Damir Jelić
036d14e9e3
feat(multiverse): Settings view
2025-04-07 14:17:10 +02:00
Damir Jelić
226229d63b
refactor(multiverse): Move the widgets of the details mode into the details module
2025-04-07 14:17:10 +02:00
Damir Jelić
0cf018cc1b
feat(multiverse): Allow the help screen to be closed with ESC as well
2025-04-07 14:17:10 +02:00
Damir Jelić
c3d7a760f7
feat(multiverse): Add an input line so we can send messages
2025-04-07 14:17:10 +02:00
Damir Jelić
d51cf1e76e
refactor(multiverse): Change the keybinding for the reaction sending feature
2025-04-07 14:17:10 +02:00
Damir Jelić
71b6b213c4
refactor(multiverse): Move the details mode into a tab-based popout
2025-04-07 14:17:10 +02:00
Damir Jelić
ec23638567
refactor(multiverse): Move some global shortcuts behind modifiers
2025-04-07 14:17:10 +02:00
Damir Jelić
688a56a077
feat(multiverse): Always render the timeline, despite showing some details
2025-04-07 14:17:10 +02:00
Damir Jelić
8413e856fe
refactor(multiverse): Move the timeline rendering into a separate widget
2025-04-07 14:17:10 +02:00
Damir Jelić
3f16e77686
refactor(multiverse): Don't unwrap when subscribing to the event cache
2025-04-07 14:17:10 +02:00
Damir Jelić
a4779299f6
refactor(multiverse): Move the details views under the room view module
2025-04-07 14:17:10 +02:00
Damir Jelić
50934f5bc9
refactor(multiverse): Move the room view into a separate widget
2025-04-07 14:17:10 +02:00
Damir Jelić
fad63b9a64
feat(multiverse): Recovery support
2025-04-07 14:17:10 +02:00
Damir Jelić
d999cf9180
refactor(multiverse): Convert the status widget into a stateful widget
...
The status widget depends on the main app state, instead of cloning the
app state let's just use a StatefulWidget instead.
2025-04-07 14:17:10 +02:00
Damir Jelić
3cd60c5b01
doc(multiverse): Document the status widget a bit better
2025-04-07 14:17:10 +02:00
Damir Jelić
2e4587f824
refactor(multiverse): Move all the widgets into a separate module
2025-04-07 14:17:10 +02:00
Damir Jelić
3996f7c0d6
feat(multiverse): Add a help screen
2025-04-07 14:17:10 +02:00
Damir Jelić
774bff00a0
refactor(multiverse): Events view
2025-04-07 14:17:10 +02:00
Damir Jelić
d6196e6c5c
refactor(multiverse): Move the linked chunk view into a popout widget
2025-04-07 14:17:10 +02:00
Damir Jelić
b49fd2b473
feat(multiverse): Only open the read receipt screen if a room is selected
2025-04-07 14:17:10 +02:00
Damir Jelić
f31119a013
refactor(multiverse): Turn the read receipt rendering logic into a widget
2025-04-07 14:17:10 +02:00
Damir Jelić
fb4caf40aa
refactor(multiverse): Make the Status struct a true widget
2025-04-07 14:17:10 +02:00
Damir Jelić
238fbdbe82
refactor(multiverse): Use the Mutex from the common crate to avoid calling unwrap
2025-04-07 14:17:10 +02:00
Damir Jelić
a1d42cdf06
refactor(multiverse): Shorten some overly long lines
2025-04-07 14:17:10 +02:00
Damir Jelić
1c134a78de
refactor(multiverse): Use a mpsc channel to propagate status messages to the status widget
2025-04-07 14:17:10 +02:00
Damir Jelić
b5d1c14e29
refactor(multiverse): Rename set_status_message to set_message
2025-04-07 14:17:10 +02:00
Damir Jelić
a28ec70816
refactor(multiverse): Move the set_status_message under the Status widget
2025-04-07 14:17:10 +02:00
Damir Jelić
e1b393c39f
refactor(multiverse): Move the status message into a separate module
2025-04-07 14:17:10 +02:00
Damir Jelić
a345c47a31
refactor(multiverse): Merge the two App impl blocks
2025-04-07 14:17:10 +02:00
Damir Jelić
64feee41ef
refactor(multiverse): Move the room subscription logic into the RoomList
2025-04-07 14:17:10 +02:00
Damir Jelić
9f947e019f
refactor(multiverse): Split the get_selected_room_id method into two methods
2025-04-07 14:17:10 +02:00
Damir Jelić
be74cb4a16
refactor(multiverse): Move the get_selected_room_id under the RoomList
2025-04-07 14:17:10 +02:00
Damir Jelić
409f08dc2b
refactor(multiverse): Simplify the constructor
2025-04-07 14:17:10 +02:00
Damir Jelić
a94a03766b
refactor(multiverse): Move the closure listening for new data into a separate method
2025-04-07 14:17:10 +02:00
Damir Jelić
988fd18b78
refactor(multiverse): Move the RoomList widget into a separate module
2025-04-07 14:17:10 +02:00
Damir Jelić
68b848602a
refactor(multiverse): Turn the RoomList struct into a widget
2025-04-07 14:17:10 +02:00
Damir Jelić
f7d6fe2dbf
refactor(multiverse): Rename StatefulList to RoomList
...
While we're at it, move the impl block closer to the struct.
2025-04-07 14:17:10 +02:00
Damir Jelić
c2a9523cbb
refactor(multiverse): Remove the generics from the StatefulList struct
2025-04-07 14:17:10 +02:00
Ivan Enderlin
ee879354b7
doc(sqlite,ffi): Add #4894 in the CHANGELOG.mds.
2025-04-07 14:05:40 +02:00
Ivan Enderlin
c3fd571623
feat(ffi): Add ClientBuilder::system_is_memory_constrained().
...
This patch adds `ClientBuilder::system_is_memory_constrained`
so that the client can be built with that in mind.
Behind the scene, for the moment, it only calls
`SqliteStoreConfig::with_low_memory_config` instead of
`SqliteStoreConfig::new`, but this flag can be used for other use cases.
2025-04-07 14:05:40 +02:00
Ivan Enderlin
52ec6a4539
feat(sqlite): Add SqliteStoreConfig::with_low_memory_config.
...
This patch adds a new constructor for `SqliteStoreConfig`, which sets
some defaults tailored for low memory usage.
This patch adds tests asserting the defaults for `new` and
`with_low_memory_config`.
2025-04-07 14:05:40 +02:00
Ivan Enderlin
a57322466c
refactor(base): Simplify the e2ee response processor.
...
This patch explores a way to simplify the call sites of the `e2ee`
response processor by creating one response processor for `/v3/sync` and
one for MSC4186. The idea is to:
- simplify the call site by having less code,
- isolating the “dispatch” of a the response values into the `e2ee`
response processor,
- make it easier to test this response processor based on a `Response`
structs directly.
2025-04-07 13:52:29 +02:00
Ivan Enderlin
90ce6e85ad
refactor(base): Centralise processors that require e2e-encryption.
2025-04-07 13:52:29 +02:00
Ivan Enderlin
e94fd64276
refactor(base): BaseClient uses response processors and remove duplicated code.
...
This patch updates
`BaseClient::receive_sync_repsonse_with_requested_required_states` to
use the `response_processors`. This patch also removes duplicated code
with the processors.
2025-04-07 13:52:29 +02:00
Ivan Enderlin
0c7cf58d4d
refactor(base): BaseClient::process_sliding_sync_e2ee uses response processors.
2025-04-07 13:52:29 +02:00
Ivan Enderlin
e3b2e0fa3e
feat(base): Add the Verification request processor.
2025-04-07 13:52:29 +02:00
Ivan Enderlin
4619221429
feat(base): Add the DecryptLatestEvents response processor.
2025-04-07 13:52:29 +02:00