Benjamin Bouvier
6dcc744b48
refactor(event cache): remove unused impl of PaginableRoom for WeakRoom
2025-06-30 10:48:27 +02:00
Benjamin Bouvier
9d1c296657
doc(ffi): fix incorrect reference to a function that's been renamed
2025-06-30 10:48:27 +02:00
Damir Jelić
3c7683ea53
chore(sdk): Add a missing dot
2025-06-30 09:53:47 +02:00
Jonas Platte
cd03a58083
refactor(examples): Use if-let chains in oauth_cli
2025-06-29 20:58:05 +02:00
Jonas Platte
4a1249fa96
chore(examples): Upgrade to Rust edition 2024
2025-06-29 20:58:05 +02:00
Kévin Commaille
06732ca71a
refactor(common): Use a constant for the room version to use as a fallback
...
It avoids using different versions in several places for consistency. It
also allows to be able to change it in a single place when needed.
This also bumps the fallback to v11 everywhere, since it is the default
version for new rooms since Matrix 1.14 and it has the sanest redaction
rules.
Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr >
2025-06-29 16:59:37 +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
Kévin Commaille
8a847a99d4
ci: Bump the version of Rust nightly
...
Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr >
2025-06-28 09:47:28 +02:00
Jonas Platte
3d642356c6
refactor: Clean up formatting in many places
...
Process:
- set style_edition to 2024 in .rustfmt.toml
- run `cargo fmt`
- undo .rustfmt.toml change
- run `cargo fmt` again
- manually rewrap some strings
2025-06-27 19:54:13 +02:00
Kévin Commaille
b4b0f3a203
refactor(sdk): Remove fallback support for the /auth_issuer endpoint
...
The `/auth_metadata` endpoint has been supported by Synapse for 6 months
now so there shouldn't be any homeserver that still depend exclusively
on it. This endpoint is also part of Matrix 1.15.
Support for this endpoint has been removed from Ruma so this is
necessary before an upgrade of the dependency.
Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr >
2025-06-27 17:24:30 +00:00
Kévin Commaille
ca99977207
ui: Inline format! args
...
Detected by lint clippy::uninlined_format_args.
Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr >
2025-06-27 19:04:00 +02:00
Kévin Commaille
dd02274883
base: Avoid clone in test
...
Detected by lint clippy::cloned_ref_to_slice_refs.
Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr >
2025-06-27 19:04:00 +02:00
Kévin Commaille
ad2e3a3b8f
common: Put UpdatesSubscriber behind test cfg
...
Since it is only used in tests, it is now detected as dead code.
Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr >
2025-06-27 19:04:00 +02:00
Kévin Commaille
96119f9a30
crypto: Use Ord implementation of SequenceNumber for its PartialOrd implementation
...
Detected by lint clippy::non_canonical_partial_ord_impl.
Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr >
2025-06-27 19:04:00 +02:00
Damir Jelić
737e06b581
Add a missing changelog entry for PR 5177
2025-06-27 14:54:21 +02:00
Richard van der Hoff
4ecd599c15
fix(sdk): correctly import e2ee history in join_room_by_id ( #5284 )
...
It turns out that downstream clients can and do call
`Client::join_room_by_id()` rather than `Room::join`, so we need to do
the room key history import in the lower-level method.
---------
Signed-off-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com >
Co-authored-by: Benjamin Bouvier <benjamin@bouvier.cc >
2025-06-27 12:29:01 +01:00
Doug
c6521a8aaf
ffi: Remove the ElementWellKnown struct and related function.
2025-06-27 12:00:33 +02:00
Benjamin Bouvier
4046a59786
refactor(event cache): make filter_duplicate_events operate on a linked chunk id
2025-06-26 16:23:39 +02:00
Benjamin Bouvier
d931cd0ea7
refactor(event cache): include non_empty_all_duplicates in the DeduplicationOutcome
2025-06-26 16:23:39 +02:00
Benjamin Bouvier
a14488617e
refactor(common): don't parse the full bundled latest thread event, but only its type
...
The previous code would parse the entire bundled event, only to look at
its type indirectly. We can do better than this, and only look at the
type instead. This brings a few benefits:
- it is faster, as we don't have to deserialize the entire event
- while the spec seems to indicate that the latest thread event has a
`room_id`, it seems that, under some circumstances, it does not, as
indicated by some rageshakes. As such, not parsing as `AnyMessageLike`
(which mandates a room id) makes it more robust to the absence of a
room id in there, marking more events as latest events.
2025-06-26 15:33:26 +02:00
Jorge Martín
1de51614f1
fix: Add m.room.avatar to the required state
...
This works around the issue with removed avatars not being explicitly flagged by sliding sync until https://github.com/element-hq/synapse/issues/18598 is fixed
2025-06-26 14:21:00 +02:00
Robin
6cc98ee9f7
feat(widget): Allow Element Call to learn the room name
...
The latest mobile designs for Element Call have it displaying the room name in an "app bar". So the Element Call widget will soon start requesting the capability to learn the room name, and the SDK should auto-approve this capability.
2025-06-26 13:28:34 +02:00
Damir Jelić
3a98d46bfa
feat: Add a stream to listen for historic room key bundles
2025-06-26 13:22:24 +02:00
Damir Jelić
1558858bde
chore: Add a TODO item reminding us that we should zeroize room key bundle contents
2025-06-26 13:22:24 +02:00
Damir Jelić
e4d2f62d48
docs: Document the store/types module properly
2025-06-26 12:11:16 +02:00
Benjamin Bouvier
70f48be582
refactor(sliding sync): avoid an unwrap by inlining a function into its one caller
2025-06-26 12:08:43 +02:00
Ivan Enderlin
836c643769
doc(indexeddb): Add documentation about IndexedKeyBounds and IndexedKeyComponentBounds.
2025-06-25 16:17:34 +02:00
Michael Goldenberg
a48099d5ac
refactor(indexeddb): add function to transaction type for clearing all data from an object store in IndexedDB
...
Signed-off-by: Michael Goldenberg <m@mgoldenberg.net >
2025-06-25 16:17:34 +02:00
Michael Goldenberg
09d8be7b4c
doc(indexeddb): add docs to transaction type where they are missing
...
Signed-off-by: Michael Goldenberg <m@mgoldenberg.net >
2025-06-25 16:17:34 +02:00
Michael Goldenberg
03b8cabc22
refactor(indexeddb): add functions to transaction type for deleting data from IndexedDB
...
Signed-off-by: Michael Goldenberg <m@mgoldenberg.net >
2025-06-25 16:17:34 +02:00
Michael Goldenberg
07372c475c
refactor(indexeddb): add functions to transaction type for adding data to IndexedDB
...
Signed-off-by: Michael Goldenberg <m@mgoldenberg.net >
2025-06-25 16:17:34 +02:00
Michael Goldenberg
a00e4089e8
refactor(indexeddb): add functions to transaction type for getting data out of IndexedDB
...
Signed-off-by: Michael Goldenberg <m@mgoldenberg.net >
2025-06-25 16:17:34 +02:00
Michael Goldenberg
1a24b21d42
refactor(indexeddb): add type to represent IndexedDB transactions specific to event cache store
...
Signed-off-by: Michael Goldenberg <m@mgoldenberg.net >
2025-06-25 16:17:34 +02:00
Michael Goldenberg
f51496fa0f
refactor(indexeddb): track corresponding index for type in IndexedKey trait
...
Signed-off-by: Michael Goldenberg <m@mgoldenberg.net >
2025-06-25 16:17:34 +02:00
Michael Goldenberg
c6ce9c560b
refactor(indexeddb): track corresponding object store for type in Indexed trait
...
Signed-off-by: Michael Goldenberg <m@mgoldenberg.net >
2025-06-25 16:17:34 +02:00
Michael Goldenberg
60af16ada8
refactor(indexeddb): add function for encoding key range from key component range
...
Signed-off-by: Michael Goldenberg <m@mgoldenberg.net >
2025-06-25 16:17:34 +02:00
Michael Goldenberg
159fb73b0a
refactor(indexeddb): join key range encoding functions using indexed key range enum
...
Signed-off-by: Michael Goldenberg <m@mgoldenberg.net >
2025-06-25 16:17:34 +02:00
Michael Goldenberg
0fa0f2329d
refactor(indexeddb): add enum for representing ranges over indexed keys
...
Signed-off-by: Michael Goldenberg <m@mgoldenberg.net >
2025-06-25 16:17:34 +02:00
Michael Goldenberg
3b64d18c99
refactor(indexeddb): move key component bounds into a separate trait
...
Signed-off-by: Michael Goldenberg <m@mgoldenberg.net >
2025-06-25 16:17:34 +02:00
Michael Goldenberg
f67fd87e57
refactor(indexeddb): rename IndexedKeyBounds fn's so they are consistent
...
Signed-off-by: Michael Goldenberg <m@mgoldenberg.net >
2025-06-25 16:17:34 +02:00
Michael Goldenberg
5e64da660c
refactor(indexeddb): add default impls for IndexedKeyBounds::{encode_lower, encode_upper}
...
Signed-off-by: Michael Goldenberg <m@mgoldenberg.net >
2025-06-25 16:17:34 +02:00
Michael Goldenberg
d152ce13a0
refactor(indexddb): add fn's to IndexedKeyBounds to get bounds of key components
...
Signed-off-by: Michael Goldenberg <m@mgoldenberg.net >
2025-06-25 16:17:34 +02:00
Michael Goldenberg
d021020ee6
refactor(indexeddb): use generic type rather than dynamic type in serializer error
...
This prevents us from having to add type constraints on the dynamic type
and instead only having to specify the type constraint at the call site.
Signed-off-by: Michael Goldenberg <m@mgoldenberg.net >
2025-06-25 16:17:34 +02:00
Timo
7e5f22ba9e
feat(widgets) Add backwards compatibility hide_header for element-call url query parameter
2025-06-25 16:12:28 +03:00
Timo
6bc6ea4e72
feat(widgets): Update the widget url parameters to use the new header property (was hideHeader which is now deprecated)
2025-06-25 16:12:28 +03:00
Timo
585ae29868
refactor(uniffi): make the sdk widget config struct derive uniffi.
...
This allows to not duplicate the struct in the uniffi crate.
2025-06-25 16:12:28 +03:00
Benjamin Bouvier
3919c2a89a
feat(ffi): also disable the send queues when clearing caches
...
And beef up the doc comment.
2025-06-25 14:32:25 +02:00
Benjamin Bouvier
7c85e7aa4f
feat(room list service): allow to manually expire sessions
...
This can be used to invalidate the persisted state on disk related to
the sliding sync positions. It's useful to do so when clearing up all
the caches, since the sliding sync `pos`itions are stored in the crypto
store (to benefit from the cross-process lock).
2025-06-25 14:32:25 +02:00