Damir Jelić
5c3bca86a4
doc(event cache): Document the redecryptor
2025-11-07 15:38:35 +01:00
Damir Jelić
e934235045
feat(redecryptor): Rejigger things so we can relisten to the room key stream
2025-11-07 15:38:35 +01:00
Damir Jelić
f2cc6c650a
test(redecryptor): Add a test to show that the redecryptor works
2025-11-07 15:38:35 +01:00
Damir Jelić
8103b9cc23
feat(event cache): Create the redecryptor
2025-11-07 15:29:07 +01:00
Damir Jelić
d3c839a2d0
feat(event cache): Add a method to access the linked chunk mutably
2025-11-07 15:14:42 +01:00
Richard van der Hoff
c064ca8b18
Merge pull request #5834 from matrix-org/rav/history_sharing/fix_withheld_utd_cause
...
crypto: correct UtdCause for unshared historical messages
2025-11-06 11:45:06 +00:00
Jorge Martín
fa6d18b55f
refactor(sdk): Make the deserialization of the ignored users happen in parallel too
2025-11-06 11:13:23 +01:00
Jorge Martín
17de97e98e
refactor(sdk): Fetch member data concurrently
...
Creating a `RoomMember` takes a lot of store queries, and previously all of them were done sequentially. I've tried to make this process run as much in parallel as I can.
2025-11-06 11:13:23 +01:00
Richard van der Hoff
c60f92a917
crypto: correct UtdCause for unshared historical messages
...
Per https://github.com/element-hq/element-meta/issues/2876 , we want messages
where the history was not shared to appear the same as regular "historical"
messages.
2025-11-05 15:08:10 +00:00
Richard van der Hoff
0865e96f08
refactor(crypto): simplify UtdCause logic
...
I find a single match statement easier to reason about than one nested in another.
Also, import `UnableToDecryptReason::*`, to shorten the match lines.
2025-11-05 15:08:10 +00:00
Richard van der Hoff
8f726e4fb9
test: use a Timeline for shared_history integ tests
...
I want to be able to test that the correct `UtdCause` is presented for withheld
historical messages. That means we need to use `/sync` rather than `/event` to
obtain the message (since the MSC4115 `membership` field is missing on `/event`
(https://github.com/element-hq/synapse/issues/17486 )). So then the most
realistic way to get hold of the actual UtdCause is to use a Timeline.
Of course, the thing I actually want to test doesn't actually work correctly,
so it's left as a FIXME in this commit.
2025-11-05 15:08:10 +00:00
Johannes Marbach
b4ebc8bc25
feat(oauth): add flow for granting login by scanning a QR code
...
Signed-off-by: Johannes Marbach <n0-0ne+github@mailbox.org >
2025-11-05 13:27:28 +01:00
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](53dce01c20...e7d460faa3 )
---
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