Michael Goldenberg
4d4ae79b7a
refactor(indexeddb): return indexed type and js value from indexed type serializer
...
Signed-off-by: Michael Goldenberg <m@mgoldenberg.net >
2025-10-27 16:59:00 +01:00
Michael Goldenberg
af0a3aa91b
refactor(indexeddb): add transaction fns for deleting media metadata
...
Signed-off-by: Michael Goldenberg <m@mgoldenberg.net >
2025-10-27 16:59:00 +01:00
Michael Goldenberg
84e5ce0a98
refactor(indexeddb): add transaction fns for add/putting media metadata
...
Signed-off-by: Michael Goldenberg <m@mgoldenberg.net >
2025-10-27 16:59:00 +01:00
Michael Goldenberg
574df8951e
refactor(indexeddb): add transaction fns for getting media metadata
...
Signed-off-by: Michael Goldenberg <m@mgoldenberg.net >
2025-10-27 16:59:00 +01:00
Michael Goldenberg
6ff186b744
refactor(indexeddb): add indexed types and keys for media metadata
...
Signed-off-by: Michael Goldenberg <m@mgoldenberg.net >
2025-10-27 16:59:00 +01:00
Michael Goldenberg
6036f19af6
refactor(indexeddb): add migrations for media metadata store
...
Signed-off-by: Michael Goldenberg <m@mgoldenberg.net >
2025-10-27 16:59:00 +01:00
Michael Goldenberg
f78bac2fc6
refactor(indexeddb): add content id and content size to media metadata
...
Signed-off-by: Michael Goldenberg <m@mgoldenberg.net >
2025-10-27 16:59:00 +01:00
Michael Goldenberg
1ae3b79c08
refactor(indexeddb): flatten nested media metadata into media type
...
Signed-off-by: Michael Goldenberg <m@mgoldenberg.net >
2025-10-27 16:59:00 +01:00
Michael Goldenberg
b4d702f1ef
refactor(indexeddb): add transaction fns for getting the next available media content id
...
Signed-off-by: Michael Goldenberg <m@mgoldenberg.net >
2025-10-27 16:59:00 +01:00
Michael Goldenberg
c258368925
refactor(indexeddb): add key bounds for media content id key
...
Signed-off-by: Michael Goldenberg <m@mgoldenberg.net >
2025-10-27 16:59:00 +01:00
Michael Goldenberg
43f19e411a
refactor(indexeddb): add constant for representing safe bounds of u64
...
Signed-off-by: Michael Goldenberg <m@mgoldenberg.net >
2025-10-27 16:59:00 +01:00
Michael Goldenberg
4e8ddde2f2
refactor(indexeddb): add transaction fn for getting max key in range
...
Signed-off-by: Michael Goldenberg <m@mgoldenberg.net >
2025-10-27 16:59:00 +01:00
Michael Goldenberg
dfb3713f1e
refactor(indexeddb): add transaction fns for basic media content operations
...
Signed-off-by: Michael Goldenberg <m@mgoldenberg.net >
2025-10-27 16:59:00 +01:00
Michael Goldenberg
105fa53a4c
refactor(indexeddb): add indexed types for media content
...
Signed-off-by: Michael Goldenberg <m@mgoldenberg.net >
2025-10-27 16:59:00 +01:00
Michael Goldenberg
7238d3ca23
refactor(indexeddb): remove indexed media content type synonym
...
Signed-off-by: Michael Goldenberg <m@mgoldenberg.net >
2025-10-27 16:59:00 +01:00
Michael Goldenberg
3c522f9505
refactor(indexeddb): add type for tracking media content and associated id
...
Signed-off-by: Michael Goldenberg <m@mgoldenberg.net >
2025-10-27 16:59:00 +01:00
Michael Goldenberg
0796b71bd3
refactor(indexeddb): add migrations for media content store
...
Signed-off-by: Michael Goldenberg <m@mgoldenberg.net >
2025-10-27 16:59:00 +01:00
Kévin Commaille
547ab31b82
bonus(sdk): Add more profile tests
...
Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr >
2025-10-27 10:51:45 +01:00
Kévin Commaille
3f5d51a203
Add changelog for extended profile fields
...
Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr >
2025-10-27 10:51:45 +01:00
Kévin Commaille
4ea0b7d984
refactor(sdk): Prefer DELETE HTTP method for profile fields
...
When it is supported by the homeserver.
Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr >
2025-10-27 10:51:45 +01:00
Kévin Commaille
d2faa1be1a
feat(sdk): Add support for deleting custom profile fields
...
Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr >
2025-10-27 10:51:45 +01:00
Kévin Commaille
ca0929876f
feat(sdk): Add support for setting custom profile fields
...
Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr >
2025-10-27 10:51:45 +01:00
Kévin Commaille
c9d3088701
feat(sdk): Add support for fetching custom profile fields
...
Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr >
2025-10-27 10:51:45 +01:00
Johannes Marbach
68b902e4bc
feat(ffi): add bindings for listening to global send queue updates
...
Signed-off-by: Johannes Marbach <n0-0ne+github@mailbox.org >
2025-10-24 17:43:29 +02:00
Richard van der Hoff
8bb8bbae9c
Merge pull request #5737 from matrix-org/kaylendog/shared-history/store
...
When we receive a key bundle, add any `withheld` data to the crypto store.
2025-10-24 17:31:46 +02:00
Damir Jelić
3733ee8534
chore: Remove the matrix-sdk-crypto re-export in the matrix-sdk crate
2025-10-24 16:37:15 +02:00
kaylendog
b045462f76
feat: Append withheld info from room key bundle to store.
2025-10-24 14:29:35 +01:00
Richard van der Hoff
8bb5e501a4
test(crypto): use MegolmV2 in tests where experimental-algorithms are enabled
2025-10-24 13:19:37 +01:00
Richard van der Hoff
7aead98863
refactor(crypto): Split receive_room_key_bundle to helper methods
...
Split out session import logic to `import_room_key_bundle_sessions`.
2025-10-24 13:09:20 +01:00
kaylendog
7607c4ef82
tests: Test deserializing m.room_key.withheld to withheld entry.
...
Tests that a to-device `m.room_key.withheld` event can be
serialized (using JSON), then deserialized as a RoomKeyWithheldEntry.
Ensures compatibility with exisiting store data.
2025-10-24 13:09:17 +01:00
Skye Elliot
02fe0c9f53
feat: Add RoomKeyWithheldEntry to wrap to-device and bundle payloads.
2025-10-24 12:33:36 +01:00
Stefan Ceriu
d117532fae
feat(spaces): add support for MSC3230 and top level space order ( #5799 )
...
This is an unstable feature but as per
[MSC3230](https://github.com/matrix-org/matrix-spec-proposals/pull/3230 )
each space room might have an optional
`m.space_order`/`org.matrix.msc3230.space_order` string field in its
room account data defining the lexicographical order in which the spaces
should be displayed, with spaces missing this field shown at the bottom
and ordered by their room id.
2025-10-24 12:18:29 +03:00
dependabot[bot]
34c5e24b72
chore(deps): bump actions/setup-node from 5 to 6
...
Bumps [actions/setup-node](https://github.com/actions/setup-node ) from 5 to 6.
- [Release notes](https://github.com/actions/setup-node/releases )
- [Commits](https://github.com/actions/setup-node/compare/v5...v6 )
---
updated-dependencies:
- dependency-name: actions/setup-node
dependency-version: '6'
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-10-24 09:41:23 +02:00
dependabot[bot]
5bdb7ae732
chore(deps): bump CodSpeedHQ/action from 4.1.1 to 4.2.1
...
Bumps [CodSpeedHQ/action](https://github.com/codspeedhq/action ) from 4.1.1 to 4.2.1.
- [Release notes](https://github.com/codspeedhq/action/releases )
- [Changelog](https://github.com/CodSpeedHQ/action/blob/main/CHANGELOG.md )
- [Commits](6b43a0cd43...c6574d0c2a )
---
updated-dependencies:
- dependency-name: CodSpeedHQ/action
dependency-version: 4.2.1
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-10-24 09:40:54 +02:00
dependabot[bot]
5729ad4dd5
chore(deps): bump bnjbvr/cargo-machete
...
Bumps [bnjbvr/cargo-machete](https://github.com/bnjbvr/cargo-machete ) from 744a6d5e0db5d189ad36edb08c5f77107cc42310 to 026132adc2b95c4f16b8c2943d14aedb731daadc.
- [Release notes](https://github.com/bnjbvr/cargo-machete/releases )
- [Changelog](https://github.com/bnjbvr/cargo-machete/blob/main/CHANGELOG.md )
- [Commits](744a6d5e0d...026132adc2 )
---
updated-dependencies:
- dependency-name: bnjbvr/cargo-machete
dependency-version: 026132adc2b95c4f16b8c2943d14aedb731daadc
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-10-24 09:40:31 +02:00
Stefan Ceriu
d36b68b7d1
fix(spaces): have space children with an order field set come before the others in room lists
2025-10-22 13:51:48 +03:00
Johannes Marbach
34d71b0392
feat(composer): add support for attachments in drafts
...
Signed-off-by: Johannes Marbach <n0-0ne+github@mailbox.org >
2025-10-21 11:00:24 +01:00
Damir Jelić
430304f392
chore: Rewrite timeline redecryption tests to use HTTP mocking
...
This is important since we want to move the redecryption logic out of
the timeline into the main crate. This in turn means that we don't have
such low level access to the redecryption logic.
Not all tests were rewritten:
- `test_retry_edit_and_more` Is proving to be difficult to rewrite,
may come in a separate commit.
- `test_retry_fetching_encryption_info` Needs verification state
changes. Will be rewritten on the event cache layer
2025-10-20 16:16:41 +02:00
Johannes Marbach
5f54237f4f
feat(ffi): add bindings for logging in by generating a QR code on the new device
...
Signed-off-by: Johannes Marbach <n0-0ne+github@mailbox.org >
2025-10-20 13:47:41 +02:00
Kévin Commaille
f78f1795eb
Upgrade Ruma
...
A new batch of breaking changes, allowing to stop providing dummy
`SupportedVersions` where they are not necessary.
Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr >
2025-10-20 12:39:58 +02:00
Jorge Martin Espinosa
dcd8aa13f0
fix: NotificationSettings::unmute_room didn't clear the cached notification mode
2025-10-17 12:02:38 +02:00
Ginger
a4e68ba885
feat: Move Client::get_dm_room into the main impl Client block
...
This patch moves the `Client::get_dm_room` helper function and its tests
from `src/encryption/mod.rs` to `src/client/mod.rs`, so it may be used
without the `e2e-encryption` crate feature enabled.
- [x] Public API changes documented in changelogs (optional)
Signed-off-by: Ginger <ginger@gingershaped.computer >
2025-10-16 14:03:09 +00:00
Johannes Marbach
e8fb133cbf
feat(oauth): Enable new devices to generate a QR code for login
...
This patch adds the complementary login flow for the already existing QR code login support.
Namely, previously it was only possible for the new device to scan a QR code to log in. Now
it's possible for the new device to create the QR code and let the existing device scan it.
- [x] Public API changes documented in changelogs (optional)
Signed-off-by: Johannes Marbach <n0-0ne+github@mailbox.org >
2025-10-15 16:04:50 +02:00
Damir Jelić
a11daf24e5
test(ui): Test that the recency comparison function implements a total order
2025-10-14 17:12:41 +02:00
Damir Jelić
b012512a21
chore(ui): Fix a copy/paste issue and add a note explaining a sort implementation
...
Co-authored-by: Benjamin Bouvier <benjamin@bouvier.cc >
Signed-off-by: Damir Jelić <poljar@termina.org.uk >
2025-10-14 17:12:41 +02:00
Benjamin Bouvier
818b1b6000
test(event cache): rewrite the test_redact_touches_thread to make it resilient to races
...
In the previous version of the thread, the following sequence of events
could happen:
- we subscribe to the thread linked chunk changes
- *then*, the events are being added to the thread linked chunk
This is an edge case where, since we've subscribed to the thread linked
chunk, the thread root will be "known" to be part of a thread, and will
be appended to the thread linked chunk.
If the events happen in the other order (first the events are added to
the thread linked chunk, then we subscribe to the changes), then the
thread root will not be part of the thread linked chunk (because when it
arrived, we didn't know it would be a thread root). As such, the thread
linked chunk state would end up being different in this case.
The solution is to make it so that the thread linked chunk is always
subscribed to *before* any events are added to it. This way, we make
sure that we'll always have the thread root in the thread linked chunk.
2025-10-14 15:37:04 +02:00
Benjamin Bouvier
5b523d21e4
review: rename try_remove_event to remove_if_present
2025-10-14 15:37:04 +02:00
Benjamin Bouvier
fcab05e44b
chore: make clippy happy
2025-10-14 15:37:04 +02:00
Benjamin Bouvier
70fb53612d
test(timeline): ensure that a thread summary being removed is properly propagated to the main timeline
2025-10-14 15:37:04 +02:00
Benjamin Bouvier
059b5e7c1f
feat(timeline): correctly mark a replied-to event as redacted, in threads
2025-10-14 15:37:04 +02:00