Commit Graph

14300 Commits

Author SHA1 Message Date
Richard van der Hoff
0faf3eecea update changelogs 2025-10-31 12:00:06 +00:00
Richard van der Hoff
13a30f7b7a crypto: test for CryptoStore::get_withheld_sessions_by_room_id
integration test for the new method
2025-10-31 12:00:06 +00:00
Richard van der Hoff
444fcfa098 stores: new method CryptoStore::get_withheld_sessions_by_room_id
Implement this across all the store implementations
2025-10-30 23:10:05 +00:00
Richard van der Hoff
cadbd33957 sqlite: add room_id index on direct_withheld_info table 2025-10-30 18:50:24 +00:00
Richard van der Hoff
8189010d58 indexeddb: invert key order for withheld sessions
... in preparation for extracting all withheld sessions for a given room.
2025-10-30 18:50:24 +00:00
Richard van der Hoff
ee828614fb Merge pull request #5807 from matrix-org/rav/history_sharing/not_shared_code
crypto: use a new withheld code when history is marked as "not shareable"
2025-10-30 15:12:57 +01:00
Richard van der Hoff
ef3c6719cf test: integ test for withhelds in history sharing
Add an integration test that ensures that the correct withheld code is sent
when history is marked as "not shareable"
2025-10-30 13:58:38 +00:00
Richard van der Hoff
55ef066eb4 crypto: use new withheldcode when we encounter unshareable sessions 2025-10-30 13:58:38 +00:00
Richard van der Hoff
e3105bfca8 crypto: define new WithheldCode for MSC4268 2025-10-30 13:58:38 +00:00
Johannes Marbach
9fff07dfbb feat(oauth): add flow for reciprocating a login using a QR code generated on the existing device
Signed-off-by: Johannes Marbach <n0-0ne+github@mailbox.org>
2025-10-29 20:37:22 +01:00
Johannes Marbach
ce7f2fb24f refactor(secure_channel): rename SecureChannel::new to SecureChannel::reciprocate and make it available outside of tests
Signed-off-by: Johannes Marbach <n0-0ne+github@mailbox.org>
2025-10-29 20:37:22 +01:00
Johannes Marbach
b60b042cfe feat(testing): add mock for get device endpoint
Signed-off-by: Johannes Marbach <n0-0ne+github@mailbox.org>
2025-10-29 20:37:22 +01:00
Damir Jelić
046d8ebdd1 test: Allow to omit the timeout for assert_recv_with_timeout (#5814)
Add some documentation to it while we're at it as well.
2025-10-29 15:19:37 +00:00
Damir Jelić
896f4114a2 chore(sqlite): Don't log the room ID twice when saving events
The room ID is already logged as part of the span due to the instrument
attribute.
2025-10-29 15:58:41 +01:00
Damir Jelić
e2d42cef67 test: Add some spans to distinguish which user is mocking up the encryption 2025-10-29 15:54:47 +01:00
Ivan Enderlin
12e39f5ef1 chore(ffi): Restore ClientBuilder::session_paths as #[deprecated].
This method restores and marks `ClientBuilder::session_paths` as
deprecated.
2025-10-29 15:28:20 +01:00
Ivan Enderlin
38875b021d chore(ffi): Allow clippy::result_large_err.
These two methods are used only once, it's fine to get a large error
here.
2025-10-29 15:28:20 +01:00
Ivan Enderlin
0bbfc3ce41 doc(ffi): Update CHANGELOG.md and README.md. 2025-10-29 15:28:20 +01:00
Ivan Enderlin
7c6ff517d5 feat(ffi): Add IndexedDB and in-memory session stores support.
This patch introduces the `sqlite` and `indexeddb` feature flag,
enabling the use of SQLite or IndexedDB for the stores. This patch also
introduces the ability to use non-persistent, in-memory stores.

The new `ClientBuilder::in_memory_store`, `ClientBuilder::sqlite_store`
and `ClientBuilder::indexeddb_store` methods are introduced to
configure the stores. This patch adds new `SqliteStoreBuilder` and
`IndexedDbStoreBuilder` structure.
2025-10-29 15:28:20 +01:00
Kévin Commaille
8e25c36289 Upgrade Ruma (#5815)
Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>
2025-10-29 15:02:27 +01:00
Damir Jelić
200fde8850 chore: Convert a Note to a NOTE
All uppercase is the correct convention and some editors even highlight
things if the correct convention is used.
2025-10-29 15:01:48 +01:00
Damir Jelić
d4e0ec302a chore: Fix a comment 2025-10-29 15:00:38 +01:00
Jorge Martín
c3e01a6902 doc: Add changelog 2025-10-29 10:08:03 +01:00
Jorge Martín
25b1c85998 feat(ffi): Upgrade UniFFI to v0.30.0 2025-10-29 10:08:03 +01:00
Richard van der Hoff
5a5b8afd4a crypto: add logging for withheld data in key bundles 2025-10-28 12:37:08 +00:00
Jorge Martín
9af8fad880 doc: Add changelogs 2025-10-28 10:57:31 +01:00
Jorge Martín
b748148d36 fix(ui): Make Timeline::latest_event always return the latest event, not the latest item if it's an event
This matches the usages of `latest_event_id` in other parts of the SDK.
2025-10-28 10:57:31 +01:00
Jorge Martín
513a69c547 feat(ffi): Add Timeline::latest_event_id
It will allow us to fetch the latest event id coming from the SDK instead of deciding which one to use in the clients, which could be altered by filters, post-processing, etc.
2025-10-28 10:57:31 +01:00
Jorge Martín
2f58109853 feat(ffi): Add Room::mark_as_fully_read_unchecked
This method shouldn't be widely used, but it's useful when we want to mark the room as fully read when leaving it and at the same time we have to destroy the room and timeline instances immediately so their in-memory cache is cleared
2025-10-28 10:57:31 +01:00
dependabot[bot]
deda2ec75a chore(deps): bump bnjbvr/cargo-machete
Bumps [bnjbvr/cargo-machete](https://github.com/bnjbvr/cargo-machete) from 026132adc2b95c4f16b8c2943d14aedb731daadc to 53dce01c203a6a857c9544ebec630a370d596d65.
- [Release notes](https://github.com/bnjbvr/cargo-machete/releases)
- [Changelog](https://github.com/bnjbvr/cargo-machete/blob/main/CHANGELOG.md)
- [Commits](026132adc2...53dce01c20)

---
updated-dependencies:
- dependency-name: bnjbvr/cargo-machete
  dependency-version: 53dce01c203a6a857c9544ebec630a370d596d65
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-27 17:02:13 +01:00
dependabot[bot]
01a0e136dc chore(deps): bump CodSpeedHQ/action from 4.2.1 to 4.3.1
Bumps [CodSpeedHQ/action](https://github.com/codspeedhq/action) from 4.2.1 to 4.3.1.
- [Release notes](https://github.com/codspeedhq/action/releases)
- [Changelog](https://github.com/CodSpeedHQ/action/blob/main/CHANGELOG.md)
- [Commits](c6574d0c2a...4348f634fa)

---
updated-dependencies:
- dependency-name: CodSpeedHQ/action
  dependency-version: 4.3.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-27 17:01:41 +01:00
dependabot[bot]
5ab792e68e chore(deps): bump actions/upload-artifact from 4 to 5
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 4 to 5.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/v4...v5)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-version: '5'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-27 17:01:16 +01:00
Michael Goldenberg
89d46cd342 doc(indexeddb): add changelog entry for separating media content and metadata in IndexedDB
Signed-off-by: Michael Goldenberg <m@mgoldenberg.net>
2025-10-27 16:59:00 +01:00
Michael Goldenberg
155a7b481b refactor(indexeddb): use UUID instead of u64 as media content id
Signed-off-by: Michael Goldenberg <m@mgoldenberg.net>
2025-10-27 16:59:00 +01:00
Michael Goldenberg
0ac943b4c4 refactor(indexeddb): rename MediaContent::id -> MediaContent::content_id
Signed-off-by: Michael Goldenberg <m@mgoldenberg.net>
2025-10-27 16:59:00 +01:00
Michael Goldenberg
18fe2b20e6 doc(indexeddb): fix typos in documentation
Signed-off-by: Michael Goldenberg <m@mgoldenberg.net>
2025-10-27 16:59:00 +01:00
Michael Goldenberg
64a0f62631 refactor(indexeddb): remove (de)serialization functionality from top-level media type
Signed-off-by: Michael Goldenberg <m@mgoldenberg.net>
2025-10-27 16:59:00 +01:00
Michael Goldenberg
c169cab3b0 refactor(indexeddb): remove media object store and associated types
Signed-off-by: Michael Goldenberg <m@mgoldenberg.net>
2025-10-27 16:59:00 +01:00
Michael Goldenberg
91858e0913 refactor(indexeddb): simplify error type for media metadata impl of indexed
Signed-off-by: Michael Goldenberg <m@mgoldenberg.net>
2025-10-27 16:59:00 +01:00
Michael Goldenberg
f70c036ff9 refactor(indexeddb): re-implement media-related fns in terms of media metadata and media content stores
Signed-off-by: Michael Goldenberg <m@mgoldenberg.net>
2025-10-27 16:59:00 +01:00
Michael Goldenberg
70d6d557ca refactor(indexeddb): implement specialized fn for getting media metadata keys via generalized fn
Signed-off-by: Michael Goldenberg <m@mgoldenberg.net>
2025-10-27 16:59:00 +01:00
Michael Goldenberg
a52df18740 refactor(indexeddb): add transaction fns for getting media metadata keys by index
Signed-off-by: Michael Goldenberg <m@mgoldenberg.net>
2025-10-27 16:59:00 +01:00
Michael Goldenberg
ce6ef90f74 refactor(indexeddb): rename transaction fn for getting all media metadata keys
Signed-off-by: Michael Goldenberg <m@mgoldenberg.net>
2025-10-27 16:59:00 +01:00
Michael Goldenberg
5f00e71f5f refactor(indexeddb): add content id to media metadata keys
Signed-off-by: Michael Goldenberg <m@mgoldenberg.net>
2025-10-27 16:59:00 +01:00
Michael Goldenberg
539bd9c79a refactor(indexeddb): add constants for media content id bounds
Signed-off-by: Michael Goldenberg <m@mgoldenberg.net>
2025-10-27 16:59:00 +01:00
Michael Goldenberg
23785a3023 refactor(indexeddb): remove unused type synonym
Signed-off-by: Michael Goldenberg <m@mgoldenberg.net>
2025-10-27 16:59:00 +01:00
Michael Goldenberg
3d31b81abf refactor(indexeddb): add type synonym for content id in indexed media content key
Signed-off-by: Michael Goldenberg <m@mgoldenberg.net>
2025-10-27 16:59:00 +01:00
Michael Goldenberg
3b2ef02749 refactor(indexeddb): add fn for prefixed key ranges from existing key ranges
Signed-off-by: Michael Goldenberg <m@mgoldenberg.net>
2025-10-27 16:59:00 +01:00
Michael Goldenberg
c887819809 refactor(indexeddb): return indexed type from Transaction::{put_item,put_item_if} and its derivatives
Signed-off-by: Michael Goldenberg <m@mgoldenberg.net>
2025-10-27 16:59:00 +01:00
Michael Goldenberg
780b782660 refactor(indexeddb): return indexed type from Transaction::add_item and its derivatives
Signed-off-by: Michael Goldenberg <m@mgoldenberg.net>
2025-10-27 16:59:00 +01:00