Commit Graph

13725 Commits

Author SHA1 Message Date
Johannes Marbach da1369b9c2 refactor(oauth): rename request_login to request_login_with_scanned_qr_code to avoid future name clashes for the opposite flow
Signed-off-by: Johannes Marbach <n0-0ne+github@mailbox.org>
2025-11-05 13:27:28 +01:00
Johannes Marbach d122f10147 fix(oauth): fix doc comment for GrantLoginWithGeneratedQrCode::subscribe_to_progress
Signed-off-by: Johannes Marbach <n0-0ne+github@mailbox.org>
2025-11-05 13:27:28 +01:00
Johannes Marbach bcf81c89e9 refactor(oauth): make device creation timeout configurable and use a lower value for tests to speed them up
Signed-off-by: Johannes Marbach <n0-0ne+github@mailbox.org>
2025-11-05 13:27:28 +01:00
Johannes Marbach d3dd9d28c8 refactor(oauth): extend doc comment of GrantLoginWithQrCodeBuilder::generate for better usability and to match the login flow
Signed-off-by: Johannes Marbach <n0-0ne+github@mailbox.org>
2025-11-05 13:27:28 +01:00
Johannes Marbach dcd08e8d3b refactor(oauth): move QrProgress to module file for later reuse
Signed-off-by: Johannes Marbach <n0-0ne+github@mailbox.org>
2025-11-05 13:27:28 +01:00
Johannes Marbach 82c583b5bc feat(ffi): expose Client::register_notification_handler
Signed-off-by: Johannes Marbach <n0-0ne+github@mailbox.org>
2025-11-05 10:09:31 +01:00
Ivan Enderlin 81ff96d569 fix(sqlite): Fix the database version.
The database has been updated but the version hasn't been bumped.
2025-11-04 14:59:15 +01:00
Damir Jelić 49db60d951 feat: Allow events to be fetched by event type 2025-11-04 13:58:49 +01:00
Damir Jelić 8f4267332a test: Allow to create encrypted events in the event factory 2025-11-04 13:58:49 +01:00
Damir Jelić 950c42742d refactor(sqlite): Save the event type of an event in the SQLite event cache 2025-11-04 13:58:49 +01:00
Damir Jelić f91ffb4c31 feat: Add a method to get the event type of a TimelineEventKind 2025-11-04 13:58:49 +01:00
Richard van der Hoff 301ca5e2b8 Fix up changelogs incorrectly updated since 0.14.0 (#5828)
All of these entries have been incorrectly added to the changelogs
*since* 0.14.0 was released :(
2025-11-04 12:50:49 +00:00
Doug 1a384f0049 xtask: Workaround UniFFI's noHandle generation for Swift.
https://github.com/mozilla/uniffi-rs/issues/2717
matrix-sdk-ffi/20251104
2025-11-04 14:11:14 +02:00
Damir Jelić 781df5526d Revert "fix: Allow /versions requests to refresh the token"
This reverts commit 05b40af2c1.
2025-11-04 09:50:37 +01:00
dependabot[bot] ea07d0199a chore(deps): bump crate-ci/typos from 1.38.1 to 1.39.0
Bumps [crate-ci/typos](https://github.com/crate-ci/typos) from 1.38.1 to 1.39.0.
- [Release notes](https://github.com/crate-ci/typos/releases)
- [Changelog](https://github.com/crate-ci/typos/blob/master/CHANGELOG.md)
- [Commits](https://github.com/crate-ci/typos/compare/v1.38.1...v1.39.0)

---
updated-dependencies:
- dependency-name: crate-ci/typos
  dependency-version: 1.39.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-03 15:46:41 +01:00
dependabot[bot] ddfd2fb570 chore(deps): bump bnjbvr/cargo-machete
Bumps [bnjbvr/cargo-machete](https://github.com/bnjbvr/cargo-machete) from 53dce01c203a6a857c9544ebec630a370d596d65 to e7d460faa33cbba452e69e8b1700e6a75e8a72b8.
- [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/53dce01c203a6a857c9544ebec630a370d596d65...e7d460faa33cbba452e69e8b1700e6a75e8a72b8)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-03 15:41:54 +01:00
Richard van der Hoff 3b5f1eee27 Merge pull request #5820 from matrix-org/rav/history_sharing/transitive_withheld_code
crypto: pass on "history_not_shared" withheld notifications
2025-11-03 12:58:04 +00:00
Richard van der Hoff 99ae08ebfe Merge remote-tracking branch 'origin/main' into rav/history_sharing/transitive_withheld_code 2025-11-03 12:15:52 +00:00
Richard van der Hoff 9efb0de4d7 Merge pull request #5819 from matrix-org/rav/cryptostore_withheld_sessions_by_room_id
crypto: add new `CryptoStore` method `get_withheld_sessions_by_room_id`
2025-11-03 12:13:48 +00:00
Damir Jelić 05b40af2c1 fix: Allow /versions requests to refresh the token 2025-10-31 15:58:44 +01:00
Damir Jelić 09ee1375cd fix: Skip authorization headers when doing a /versions while doing a token refresh 2025-10-31 15:58:44 +01:00
Damir Jelić a96485c07a test: Test that we don't end up in a deadlock when fetching the version 2025-10-31 15:58:44 +01:00
Damir Jelić 9680fc3a0f test: Test that the skip_auth option works correctly 2025-10-31 15:58:44 +01:00
Damir Jelić 422f925033 feat: Allow authorization headers to be skipped with the RequestConfig 2025-10-31 15:58:44 +01:00
Richard van der Hoff 3695d76dec crypto: pass on "history_not_shared" withheld notifications
When constructing a key bundle, if we had received a key bundle ourselves, in
which one or more sessions was marked as "history not shared", pass that on to
the new user.
2025-10-31 12:00:06 +00:00
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