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
Damir Jelić
947a1b1aeb
sdk: Refactor the way we determine which HTTP error is permannent
2024-07-24 11:03:54 +02:00
Andy Balaam
ece0c6d703
crypto: Simplify error types in SenderDataFinder
...
Remove `Result` where it is not needed, and switch to `CryptoStoreError`
instead of `OlmError` where possible. Soon, this will allow us to call
some of these methods from places that don't know about `OlmError`.
2024-07-24 07:52:46 +01:00
Jorge Martín
79010af9e2
sdk-base: add pinned events to BaseRoomInfo to keep track of them.
...
Also add `Room::pinned_events(&self)` to get the current pinned events at any time.
2024-07-23 17:19:53 +02:00
Andy Balaam
99da0ff18d
crypto: Simplify the interface of search_for_device
2024-07-23 15:03:19 +01:00
Andy Balaam
2045b326b9
crypto: Re-use existing get_device_from_curve_key method
...
These calls are equivalent because the old code called
`self.get_user_devices` with a `timeout` of `None`, which meant the call
to `wait_if_user_pending` inside was a no-op.
2024-07-23 14:56:47 +01:00
Doug
dfdea0cb2e
sdk: Ignore the sliding sync proxy value when using SSS.
...
Update crates/matrix-sdk/src/client/builder.rs
Co-authored-by: Benjamin Bouvier <public@benj.me >
Signed-off-by: Doug <6060466+pixlwave@users.noreply.github.com >
2024-07-23 11:34:49 +02:00
Doug
56e3780808
ffi: Use the SDK's (tested) logic for overriding the sliding sync proxy.
2024-07-23 11:34:49 +02:00
Benjamin Kampmann
96763aec42
sdk: Add a set_account_data method to the Room struct ( #3740 )
...
As it says on the tin. Needed the functions but they were missing. They are analogous to the GlobalAccountData setters.
Signed-off-by: Benjamin Kampmann <ben@acter.global >
2024-07-23 10:34:49 +02:00