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](https://github.com/bnjbvr/cargo-machete/compare/026132adc2b95c4f16b8c2943d14aedb731daadc...53dce01c203a6a857c9544ebec630a370d596d65)

---
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](https://github.com/codspeedhq/action/compare/c6574d0c2a990bca2842ce9af71549c5bfd7fbe0...4348f634fa7309fe23aac9502e88b999ec90a164)

---
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