Stefan Ceriu
f51eebb55f
Merge pull request #3759 from matrix-org/stefan/crypto-identity-reset
...
ffi: add high level method for resetting the user's identity and deleting all associated secrets
2024-07-30 13:29:01 +03:00
Stefan Ceriu
8895e532bb
Handle the situation where the backend skips user interactive authentication
...
- disable backups and recovery before requesting the reset handle
- attempt device key upload
- re-enable backups both when UIAA is required and when not
2024-07-30 13:13:26 +03:00
Richard van der Hoff
40e3a96ae3
Make message-ids feature the default ( #3776 )
...
The feature is now a no-op.
Will fix (I hope)
https://github.com/element-hq/element-android/issues/8872
2024-07-30 10:49:21 +01:00
Stefan Ceriu
8fe2b37354
ffi: Expose identity reset mechanism
2024-07-29 16:52:03 +03:00
Stefan Ceriu
db064626fa
sdk: Add high level method for resetting the user's identity and deleting all associated secrets
2024-07-29 16:52:03 +03:00
Andy Balaam
0b46a7e29c
crypto: Make the return type of is_owner_of_session more specific
2024-07-29 14:50:22 +01:00
Andy Balaam
449e8b40b8
crypto: Extract a new error type: MismatchedIdentityKeysError
2024-07-29 14:50:22 +01:00
Andy Balaam
d7224a7ede
crypto: Store device_id in SenderData
...
This means we have all the information inside SenderData to populate
VerificationStatus and DeviceId for EncryptionInfo, so we can share the
code between SenderDataFinder and get_verification_state.
2024-07-29 11:11:44 +01:00
Jorge Martin Espinosa
e0833110f2
Merge pull request #3771 from torrybr/feat/send-beacon
...
sdk: basic support for sending location beacons
2024-07-29 09:47:55 +02:00
torrybr
3756eeb385
test: move beacon tests into own file
2024-07-26 23:55:19 -04:00
torrybr
dd252937c1
test: verify test_send_location_beacon_with_expired_live_share
2024-07-26 23:18:12 -04:00
torrybr
ab6d039369
sdk: basic support for sending live location beacons
2024-07-26 22:57:16 -04:00
Jorge Martín
6fca1e81ed
ffi: expose pin_event and unpin_event, also the currently pinned event ids in RoomInfo
2024-07-26 14:20:53 +01:00
Jorge Martín
ab0494549e
sdk-ui: add Timeline::pin_event and Timeline::unpin_event
2024-07-26 14:20:53 +01:00
Jorge Martín
15bf675e5e
sdk-base: add Member::can_pin_or_unpin_event
2024-07-26 14:20:53 +01:00
Jorge Martín
95637c57da
ffi: expose Room::can_user_pin_unpin check
2024-07-26 14:20:53 +01:00
Jorge Martín
8f90a76cb4
sdk: Add Room::can_user_pin_unpin check
2024-07-26 14:20:53 +01:00
Andy Balaam
844923dd44
crypto: Make TestOptions a builder
2024-07-26 12:47:41 +01:00
Andy Balaam
9efc6494d1
crypto: Check the device owns the session in SenderDataFinder
...
and add a flag to the SenderData struct to store the fact that this
check failed if it did.
2024-07-26 12:47:41 +01:00
Andy Balaam
5191737389
crypto: Require passing a session when we find SenderData
2024-07-26 12:47:41 +01:00
Damir Jelić
4fdc78f565
doc: Shorten one of our doc examples
2024-07-26 13:29:37 +02:00
torrybr
5bbe022e97
sdk: basic support for sending and stopping live location shares
2024-07-26 10:17:50 +01:00
Stefan Ceriu
6faf3f75e0
Merge pull request #3766 from matrix-org/update-dco
...
update DCO
2024-07-26 08:39:21 +03:00
Josh Simmons
38e842fc0f
update DCO
2024-07-25 14:31:32 -07:00
Benjamin Bouvier
73759fc361
sdk-base: enable the "rand" feature on ruma there too
2024-07-25 15:20:34 +02:00
Benjamin Bouvier
c1fda3a601
send queue: use the transaction id generated and saved in the db for network queries
...
Intense facepalm energy here.
2024-07-25 15:20:34 +02:00
Benjamin Bouvier
689f006c07
send queue: get rid of all the non-canonical events after canonicalization
2024-07-25 15:20:34 +02:00
Benjamin Bouvier
6f0da7e91b
send queue: canonicalize dependent events keyed by parent transaction id
2024-07-25 15:20:34 +02:00
Benjamin Bouvier
ce68ad4968
state store: add a transparent newtype ChildTransactionId to help distinguish the parent from the child transaction id
2024-07-25 15:20:34 +02:00
Benjamin Bouvier
02a929c614
timeline: flatten ReactionSenderData into PendingReaction
2024-07-25 15:13:23 +02:00
Benjamin Bouvier
7a660749ed
timeline: map from the reaction local-or-remote id to the item it's reacting to
2024-07-25 15:13:23 +02:00
Benjamin Bouvier
6e82e4f14f
timeline: store pending reactions without the indirection to Reactions::map
2024-07-25 15:13:23 +02:00
Benjamin Bouvier
f0015bb10d
timeline: store reaction by key by sender, instead of by key by local or remote id
...
This makes it impossible to represent states like "there's a local *and*
a remote echo for the same sender for a given reaction", or multiple
reactions from the same sender to the same event, and so on.
2024-07-25 15:13:23 +02:00
Benjamin Bouvier
aa4f606171
timeline: reorganize handle_reaction
2024-07-25 15:13:23 +02:00
Benjamin Bouvier
3a386121a1
timeline: remove Deref for ReactionGroup
2024-07-25 15:13:23 +02:00
Benjamin Bouvier
3d40a5c30c
ffi: remove the Reaction::count field
...
It's exactly the same as `Reaction::senders`'s length.
2024-07-25 15:13:23 +02:00
Benjamin Bouvier
4c76255689
timeline: move reaction-related structs to the reaction module, move meta's reaction fields to the Reactions object
...
No changes in functionality, pure code motion.
2024-07-25 15:13:23 +02:00
Benjamin Bouvier
37d9fa784a
timeline: clear more things in TimelineInnerMetadata when clearing the timeline
2024-07-25 15:13:23 +02:00
Benjamin Bouvier
fa1cf32883
timeline: move the clearing of TimelineInnerMetadata to its own function
2024-07-25 15:13:23 +02:00
Benjamin Bouvier
002767a146
timeline: move the removal of reactions to pending_reactions
2024-07-25 15:13:23 +02:00
Benjamin Bouvier
5cd4462d27
dependencies: get rid of custom fork of openidconnect-rs
...
There's a published 4.0.0-alpha.2 version that compiles and doesn't
require the custom changes we needed.
Part of #3742 .
2024-07-25 13:14:26 +02:00
Benjamin Bouvier
2eb6930988
send queue: add an own transaction id for dependent events
...
The previously named `transaction_id` is also renamed to
`parent_transaction_id` to make it clearer.
2024-07-24 17:54:25 +02:00
Benjamin Bouvier
0246863af3
send queue: make use of dependent events to remember an intent to edit/redact an event
...
This should get rid of most of the race conditions while
editing/redacting an event, and this paves the way for sending reactions
via the send queue.
2024-07-24 17:54:25 +02:00
Benjamin Bouvier
d973fef280
send queue: add QueueStorage::client() helper method
2024-07-24 17:54:25 +02:00
Benjamin Bouvier
54c6f0517f
send queue: canonicalize multiple dependent events into a more restricted list
2024-07-24 17:54:25 +02:00
Benjamin Bouvier
9a7f18c62c
state store: add dependent queued events tables and operations
2024-07-24 17:54:25 +02:00
Damir Jelić
f0ef37efae
tests: Add tests for the cross-signing reset
2024-07-24 11:03:54 +02:00
Damir Jelić
d9e91344aa
examples: Update the cross-signing bootstrap example to use the new method
2024-07-24 11:03:54 +02:00
Damir Jelić
4883f3fa77
examples: Add a reset-cross-signing command to the oidc example
2024-07-24 11:03:54 +02:00
Damir Jelić
0d00bda0c6
encryption: Add a method to reset cross-signing keys
2024-07-24 11:03:54 +02:00