Ivan Enderlin
d00cfb0ba8
fix(base): Take the state store lock before updating it.
...
This patch updates
`BaseClient::receive_sync_response_with_requested_required_states` to
take the state store lock before applying any change onto it.
2025-09-24 14:26:14 +02:00
Ivan Enderlin
f7e1866bda
feat(sdk,ui): Automatically subscribe to LatestEvents if EventCache has subscribed.
2025-09-24 14:26:14 +02:00
Ivan Enderlin
b316c534ea
feat(sdk): Call LatestEvents::listen_to_room for rooms in sync response.
...
This patch updates `SlidingSyncResponseProcessor::handle_room_response`
to automatically call `LatestEvents::listen_to_room` based on
`http::Response`'s `rooms`.
Why? Because when a sync is received, we want its `LatestEventValue`
to be computed, so that it can trigger a `RoomInfoNotableUpdate`,
which will update the `RoomList`, which will re-sort the
rooms. So far, `LatestEvents::listen_to_room` was called by
`RoomListService::subscribe_to_rooms`, but it's possible to receive a
room update via the sync for a room that is not subscribed, i.e. out
of the viewport of the room list in Matrix clients (it's recommended
to subscribe to rooms that “enter” the viewport). Without this
patch, rooms are receiving updates but the room list is not entirely
refreshed/recalculated.
2025-09-24 14:26:14 +02:00
multi prise
fa7fd5df42
Remove unusual import
2025-09-24 12:35:17 +02:00
multi prise
adc8276162
Add key opening logic to the media store
2025-09-24 12:35:17 +02:00
multi prise
abecb33e34
Lint code
2025-09-24 12:35:17 +02:00
multi prise
b26ce417f0
Add comments documenting the new structure
2025-09-24 12:35:17 +02:00
multi prise
5a1bd54bb1
Implement use of Zeroizing struct for string
2025-09-24 12:35:17 +02:00
multi prise
0d0e2aa472
Add ZeroiseOnDrop trait to secret and make the key a Box
2025-09-24 12:35:17 +02:00
multi prise
88ed0afcb3
Replace missing line
2025-09-24 12:35:17 +02:00
multi prise
9938ab8b1f
Reimplement previous tests for the store and on top of the one testing the opening with a key
2025-09-24 12:35:17 +02:00
multi prise
eed7384934
Remove some superfluous change
2025-09-24 12:35:17 +02:00
multi prise
32255cd178
Update changelog
2025-09-24 12:35:17 +02:00
multi prise
c51536a054
reformat
2025-09-24 12:35:17 +02:00
multi prise
6099928b40
Remove conditional logic for running tests
2025-09-24 12:35:17 +02:00
multi prise
fac1f295b2
Correct wrong borrow
2025-09-24 12:35:17 +02:00
multi prise
24d02a72e3
implement zeroizing of secrets after use
2025-09-24 12:35:17 +02:00
multi prise
2a073043fd
Revert "Use of lifetime in order to not clone/copy the data"
...
This reverts commit 009ee3a0e5fdff1332aaf0b1e62ab2577d728b82.
2025-09-24 12:35:17 +02:00
multi prise
c5b35209b3
Revert "Update matrix-sdk with new lifetimes"
...
This reverts commit 3a8f5f110cd755158e3a5605a282556da6060417.
2025-09-24 12:35:17 +02:00
multi prise
8e759befd3
Refactorize tests config to correspond with the new api
2025-09-24 12:35:17 +02:00
multi prise
9faffa5b10
Temporary comment insecure function
2025-09-24 12:35:17 +02:00
multi prise
31200357a0
Update matrix-sdk with new lifetimes
2025-09-24 12:35:17 +02:00
multi prise
75b8c9fe93
Use of lifetime in order to not clone/copy the data
2025-09-24 12:35:17 +02:00
multi prise
004d98230c
Uncomment the config directives and allows test to run faster by usinf an insecure export function
2025-09-24 12:35:17 +02:00
multi prise
eb37a0d2e1
Update some expect text to make sure they reflect the use of secret instead of a only a key to encrypt a store
2025-09-24 12:35:17 +02:00
multi prise
8a0e61e95b
correct comment on the state store file
2025-09-24 12:35:17 +02:00
multi prise
a2e2765298
correct comment on the crypto store file
2025-09-24 12:35:17 +02:00
multi prise
6e1e0981b1
remove typo
2025-09-24 12:35:17 +02:00
multi prise
b2120a8f3d
Update changelog to represent changes
2025-09-24 12:35:17 +02:00
multi prise
5d169ae765
Comment the use
2025-09-24 12:35:17 +02:00
multi prise
34dd7ea3cd
Revert get_or_create_store_cypher to use
2025-09-24 12:35:17 +02:00
multi prise
4930c589a8
Refactorize SqliteStoreConfig::key and SqliteStoreConfig::passphrase method
2025-09-24 12:35:17 +02:00
multi prise
f6d2e73cab
More reformarting of files
2025-09-24 12:35:17 +02:00
multi prise
2bd5ec30d1
Correct some tests
2025-09-24 12:35:17 +02:00
multi prise
425b502977
Format files
2025-09-24 12:35:17 +02:00
multi prise
0dfecd78d6
Updated the store encryption to use a enum Secret instead of passphrase
2025-09-24 12:35:17 +02:00
multi prise
4754ac2cbf
Updated changelog
2025-09-24 12:35:17 +02:00
multi prise
72bb452b5b
Remove all passphrase mention
2025-09-24 12:35:17 +02:00
multi prise
c17dbf9ebe
Replace the passphrase logic with a key logic in the implementation of encrypted store
2025-09-24 12:35:17 +02:00
multi prise
5fd7c9e179
Add the key logic to the SqliteStoreConfig struct
2025-09-24 12:35:17 +02:00
Hubert Chathi
840ce43fed
Add function to check if the user has another device to verify against ( #5699 )
...
Part of the fix for
https://github.com/element-hq/element-x-android/issues/4864 and
https://github.com/element-hq/element-x-ios/issues/4190
Allows applications to determine whether the user can verify against
another device in order to cross-sign their new device.
2025-09-24 11:31:42 +01:00
Benjamin Bouvier
e71d565346
test: add a test for is_threaded when the focused timeline points to an in-thread event
2025-09-23 17:43:22 +02:00
Benjamin Bouvier
5a06f5f351
test: use a RoomContextResponseTemplate builder pattern to create responses to /context
2025-09-23 17:43:22 +02:00
Benjamin Bouvier
1e01e3fc62
refactor(timeline): don't allocate a vector for the in-thread events when initially loading a thread permalink
2025-09-23 17:43:22 +02:00
Jorge Martín
bcba5f4571
chore(doc): Add changelogs
2025-09-23 14:13:34 +02:00
Jorge Martín
7736b50c04
fix(ui): Fix tests again.
...
The wrong pair of 'from' tokens were used for the forward paginations in the unit test
2025-09-23 14:13:34 +02:00
Jorge Martín
6e1dc121a5
fix(sdk+ui): Expose TimelineController::focus so the right backwards pagination case is used for focused thread pagination
...
Before, the same pagination as for the live thread timeline was used by mistake.
Fix the tests and check the right tokens are used for `/relations`.
2025-09-23 14:13:34 +02:00
Jorge Martín
08f0200174
refactor(sdk): Use .expect to unwrap the AnyPaginator, remove PaginationError::NotInstantiated
...
Also, improve the legibility of some usages
2025-09-23 14:13:34 +02:00
Jorge Martín
eda561e00e
refactor(ffi): Replace derefs and add doc comment to thread_root_event_id
2025-09-23 14:13:34 +02:00
Jorge Martín
578320cefc
fix(sdk): Make sure we only include the events received from the /context request that are part of the thread in the case where the event focus is for a threaded event
...
Modify the tests and mocks so this filtering is checked.
2025-09-23 14:13:34 +02:00