Ivan Enderlin
e87bed8ef4
chore(sdk): Move all RoomEventCache types from mod.rs to room/mod.rs.
2024-10-29 10:52:14 +01:00
Ivan Enderlin
2f19e2b762
chore(sdk): Rename event_cache/store.rs to event_cache/room/events.rs.
...
This patch renames the `store.rs` file to `room/events.rs`.
2024-10-29 10:52:14 +01:00
Ivan Enderlin
b66024c386
test: Update Synapse from 1.115 to 1.117.
...
This patch updates Synapse in our CI infrastructure and in the
`matrix-sdk-integration-testing` crate.
2024-10-29 10:50:26 +01:00
Ivan Enderlin
c48bb13159
doc: Deal with paragraphes in trailers ( #4179 )
...
Git trailers have a funny format.
---------
Signed-off-by: Ivan Enderlin <ivan@mnt.io >
Co-authored-by: Benjamin Bouvier <public@benj.me >
2024-10-29 09:39:42 +00:00
Andy Balaam
5f0ba1e7df
refactor(crypto) Avoid msk and ssk abbreviations in test data
2024-10-28 16:35:39 +00:00
Andy Balaam
91fa1669be
refactor(crypto) Rename device methods in IdentityChangeDataSet to match identity names
2024-10-28 16:35:39 +00:00
Andy Balaam
a1a4ce0a95
refactor(crypto) Tidy IdentityChangeDataSet test data
2024-10-28 16:35:39 +00:00
Andy Balaam
131921c045
fix(tests) Increase a test timeout to fix occasional flakes I saw locally
2024-10-28 16:35:39 +00:00
Ivan Enderlin
b62661bc70
feat(sdk): Map Update::RemoveItem into VectorDiff::Remove in UpdateToVectorDiff.
...
This patch implements the support of `Update::RemoveItem` inside
`UpdateToVectorDiff` to emit a `VectorDiff::Remove`.
2024-10-28 17:17:01 +01:00
Ivan Enderlin
e0be1e8e32
fix(sdk): Fix a bug in an optimisation of UpdatetoVectorDiff.
...
This patch fixes a bug in an optimisation inside `UpdateToVectorDiff`
when an `Update::PushItems` is handled. It can sometimes create
`VectorDiff::Append` instead of a `VectorDiff::Insert`. The tests will
be part of the next patch.
2024-10-28 17:17:01 +01:00
Ivan Enderlin
c23c3b9558
chore(sdk): Rename a couple of variables.
...
This is another clean up patch.
2024-10-28 17:17:01 +01:00
Ivan Enderlin
ca3d5693b4
chore(sdk): Rename a couple of variables.
...
This is a clean up patch, nothing fancy.
2024-10-28 17:17:01 +01:00
Ivan Enderlin
135c448f2d
chore(sdk): Extract code into a map_to_offset method.
...
This is only code move, nothing has changed.
2024-10-28 17:17:01 +01:00
Ivan Enderlin
01cbce907c
feat(sdk): Add LinkedChunk::remove_item_at.
...
This patch adds the `LinkedChunk::remove_item_at` method, along with
`Update::RemoveItem` variant.
2024-10-28 17:17:01 +01:00
Stefan Ceriu
df4a5c36fc
Pass the DeviceData in between the Ready and Transitioned states instead of fetching it from the store.
2024-10-28 17:04:50 +02:00
Stefan Ceriu
8492968792
Pass a copy of the other DeviceData in between the (Requested, Ready) and (Created, Ready) states
2024-10-28 17:04:50 +02:00
Stefan Ceriu
d31f5b2a72
chore(tests): fix verification integration tests following changes to the data associated with VerificationRequestState::Requested
2024-10-28 17:04:50 +02:00
Stefan Ceriu
8469cb1146
fix(crypto): fix incorrect VerificationMachine tests
...
- the tests used to incorrectly wrap the to-device content into an event as if it was sent by alice instead of bob
2024-10-28 17:04:50 +02:00
Stefan Ceriu
bb8b0cf6b9
Expose requesting device details to the final client
2024-10-28 17:04:50 +02:00
Stefan Ceriu
35dabf7346
feat(crypto): store a copy of the requesting DeviceData within VerificationRequestStates
2024-10-28 17:04:50 +02:00
Stefan Ceriu
f771eec3c5
Fix a clippy warning re single matching
2024-10-28 17:04:50 +02:00
Stefan Ceriu
6455585f1e
Documentation + cleanup
2024-10-28 17:04:50 +02:00
Stefan Ceriu
3a34b03726
Expose mechanism for registering to verification updates before actually accepting one
...
- allows handling remote cancellations on verification requests that have not yet been accepted
2024-10-28 17:04:50 +02:00
Stefan Ceriu
8cf0716db2
refactor(ffi): switch to using VerificationRequest::changes instead of direct to_device events.
2024-10-28 17:04:50 +02:00
Stefan Ceriu
660a305cfa
feat(ffi): add support for receiving and working with session verification requests
...
fixup! feat(ffi): add support for receiving and working with session verification requests
2024-10-28 17:04:50 +02:00
dependabot[bot]
b2af1eeb20
chore(deps): bump crate-ci/typos from 1.26.0 to 1.26.8
...
Bumps [crate-ci/typos](https://github.com/crate-ci/typos ) from 1.26.0 to 1.26.8.
- [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.26.0...v1.26.8 )
---
updated-dependencies:
- dependency-name: crate-ci/typos
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2024-10-28 15:36:15 +01:00
Ivan Enderlin
77b3aa8124
test(sdk): Test the RoomEvents' methods.
...
This patch adds unit tests for the `RoomEvents`' methods.
2024-10-28 13:30:35 +01:00
Ivan Enderlin
cf7cb5c350
doc(sdk): Add more documentation for RoomEvents.
2024-10-28 13:30:35 +01:00
Ivan Enderlin
ac7bc6461f
chore(sdk): Add an Event type alias for the sake of convenience.
...
This patch adds an `Event` type alias to `SyncTimelineEvent` to (i) make
the code shorter, (ii) remove some cognitive effort, (iii) make things
more convenient.
2024-10-28 13:30:35 +01:00
Doug
7c39fd6ae5
chore(ffi): Expose supported OIDC prompts in the login details.
2024-10-28 13:26:14 +01:00
Jorge Martin Espinosa
40f4fc138b
chore(room_preview): add RoomListItem::preview_room ( #4152 )
...
This method will return a `RoomPreview` for the provided room id.
Also added `fn RoomPreview::leave()` action to be able to decline
invites or cancel knocks, since there wasn't a
`Client::leave_room_by_id` counterpart as there is for join.
The PR also deprecates `RoomListItem::invited_room`, since we have a
better alternative now.
Co-authored-by: Benjamin Bouvier <benjamin@bouvier.cc >
2024-10-25 14:33:16 +02:00
Andy Balaam
d3d7c03892
doc(crypto) Update a doc comment on update_user_state_to
2024-10-25 14:27:06 +02:00
Andy Balaam
3558886b98
feat(crypto) Support Verified and VerificationViolation updates in IdentityStatusChanges streams
2024-10-25 10:32:14 +01:00
Andy Balaam
47361b93e9
refactor(crypto) Test RoomIdentityState by hard-coding identity states
2024-10-25 10:32:14 +01:00
Andy Balaam
f5cdbd8e41
refactor(crypto) Rename test functions to reflect wider name change
...
and simplify them slightly by combining the wrapper with the main
function. The separation used to be needed, but is not any more.
2024-10-25 10:32:14 +01:00
Benjamin Bouvier
f8c23d8aa0
feat(media): add support for async uploads
...
Changelog: Support for preallocated media content URI has been added in
`Media::create_content_uri()`, and uploading the content for such a
preallocated URI is possible with `Media::upload_preallocated()`.
2024-10-24 16:49:05 +02:00
Benjamin Bouvier
1a3c5045dd
chore(room): add copyright notice to sdk/room/mod
2024-10-24 16:49:05 +02:00
Stefan Ceriu
ca1d829788
sliding_sync(state): use * for m.call.member when requesting state through sliding sync
...
- introduced in https://github.com/matrix-org/matrix-rust-sdk/pull/4159 with an empty string
- call members use custom `state_key`s and as such not specifying the sentinel won't match them and state won't be returned
matrix-sdk-ffi/20241024
2024-10-24 11:35:41 +03:00
Valere
31e9600078
feat(send_queue): Persist failed to send errors ( #4137 )
...
Modify the SendQueue in order to persist the error that cause the event
to fail to send as a `QueueWedgeError`. The `QueueWedgeError` is not a
1:1 mapping for all kinds of errors, but holds variant and information
that the client can react to in order to propose "quick fixes"/solution
before retrying to send.
Fixes https://github.com/matrix-org/matrix-rust-sdk/issues/3973
Also fixes https://github.com/element-hq/element-x-ios/issues/3287
because when a timeline reset occurs the fail to send reason is also
lost.
This PR starts with a refactoring commit
e7696003e8
to introduce the new `QueueWedgedError` and move the logic that was in
the ffi layer to convert api errors to SendState error variant. This
`QueueWedgedError` can be directly use in the `SendingFailed` variant
and expose to ffi.
Second commit
109c133746
adds the persistence, `QueuedEvent` now have an optional error field
instead of a `is_weged` boolean. Same for LocalEchoContent::Event.
Adds also Migration for sqlite and indexeddb
Co-authored-by: Benjamin Bouvier <benjamin@bouvier.cc >
Changelog: We now persist the error that caused an event to fail to send. The error `QueueWedgeError` contains info that client can use to try to resolve the problem when the error is not automatically retry-able. Some breaking changes occurred in the FFI layer for `timeline::EventSendState`, `SendingFailed` now directly contains the wedge reason enum; use it in place of the removed variant of `EventSendState`.
2024-10-23 12:48:55 +02:00
Richard van der Hoff
3291a426d8
test(crypto): rename UtdCause tests with test_ prefix
2024-10-23 09:44:07 +01:00
Richard van der Hoff
1368a8534c
feat(crypto): Add more reason codes to UtdCause
2024-10-23 09:44:07 +01:00
Richard van der Hoff
7cfcc8ecc1
refactor(crypto): pass utd info into UtdCause::determine
...
We'll need this for future changes
2024-10-23 09:44:07 +01:00
Richard van der Hoff
c4f9c20115
feat(crypto): rename UtdCause::Membership
...
Before we do any more work here, give this variant a better name
Breaking-Change: `matrix_sdk_crypto::type::events::UtdCause::Membership` has
been renamed to `...::SentBeforeWeJoined`.
2024-10-23 09:44:07 +01:00
Richard van der Hoff
0c81206653
refactor(timeline): retry_event_decryption: re-use utd cause
...
Rather than calling `UtdCause::determine` again when an event is successfully
decrypted on retry, re-use the cause we already determined.
2024-10-23 09:44:07 +01:00
Richard van der Hoff
a61bc3cbbd
refactor(ui): add UTD info to TimelineEventKind::UnableToDecrypt
...
Stash the reason for the decryption failure in
`matrix-sdk-ui::event_handler::TimelineEventKind::UnableToDecrypt`.
It's not yet used.
2024-10-23 09:44:07 +01:00
Richard van der Hoff
74de617d76
refactor(ui): add TimelineEventKind::UnableToDecrypt
...
Give `matrix-sdk-ui::event_handler::TimelineEventKind` a new variant which
specifically represents events that could not be decrypted.
2024-10-23 09:44:07 +01:00
Jorge Martín
3f5d54c494
chore(knocking): Add optional reason and server_names parameters to Client::knock
2024-10-22 18:33:18 +02:00
Stefan Ceriu
f2f99fb207
chore(ffi): move the store_in_cache timeline media upload parameter before the progress_watcher closure for aesthetic reasons
2024-10-22 18:18:32 +03:00
Benjamin Bouvier
6196ebaba6
chore(media): use the same media method when caching a thumbnail as the default one used in the FFI
...
The FFI will request a scaled version of the thumbnail by default; let's
use the same cache key when caching the thumbnail after an upload.
Thanks @zecakeh for flagging the issue.
2024-10-22 15:47:58 +02:00
Ivan Enderlin
65bb373379
chore(ui): Add the DEFAULT_ROOM_SUBSCRIPTION_EXTRA_REQUIRED_STATE constant.
...
This patch refactors 2 `chain(once(…))` with a 1 `chain`. It
also clarifies the extra `required_state` that are added for room
subscriptions.
2024-10-22 14:55:10 +02:00