Damir Jelić
b41efb063e
chore: Release matrix-sdk version 0.12.0
matrix-sdk-ffi-0.12.0
matrix-sdk-ui-0.12.0
matrix-sdk-0.12.0
matrix-sdk-sqlite-0.12.0
matrix-sdk-indexeddb-0.12.0
matrix-sdk-base-0.12.0
matrix-sdk-store-encryption-0.12.0
matrix-sdk-crypto-0.12.0
matrix-sdk-test-0.12.0
matrix-sdk-test-macros-0.12.0
matrix-sdk-qrcode-0.12.0
matrix-sdk-common-0.12.0
2025-06-10 13:33:01 +02:00
Damir Jelić
23db199262
Merge branch 'release-0.11'
2025-06-10 12:51:59 +02:00
Damir Jelić
76d1f8bd18
chore: Fix a PR link in the changelog file
matrix-sdk-crypto-ffi-0.11.1
matrix-sdk-crypto-0.11.1
2025-06-10 12:37:32 +02:00
Damir Jelić
550f4c5fde
Update crates/matrix-sdk-crypto/CHANGELOG.md
...
Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com >
Signed-off-by: Damir Jelić <poljar@termina.org.uk >
2025-06-10 12:37:32 +02:00
Damir Jelić
b3f07f4587
chore: Release matrix-sdk version 0.11.1
2025-06-10 12:37:32 +02:00
Damir Jelić
56980745b4
chore: Add a changelog entry for GHSA-x958-rvg6-956w
2025-06-10 12:37:32 +02:00
Richard van der Hoff
13c1d20482
fix(crypto): Check the sender of an event matches owner of session
...
Having decrypted an event with a given megolm session, we need to check that
the owner of that session actually matches the sender of an event, otherwise
there is a danger of the sender being spoofed to make it look like it was sent
by another user.
Security-Impact: High
CVE: CVE-2025-48937
GitHub-Advisory: GHSA-x958-rvg6-956w
2025-06-10 12:07:10 +02:00
Richard van der Hoff
7f3e144cb3
refactor (crypto): clarify some comments
2025-06-10 12:07:10 +02:00
Richard van der Hoff
fe8bd2fdf3
refactor(crypto): Break get_or_update_verification_state in two
...
Split this into `get_room_event_verification_state` and
`get_or_update_sender_data`, which I think is a bit clearer.
2025-06-10 12:07:10 +02:00
Benjamin Bouvier
7cdfb0d1c0
chore(sqlite): revert the busy_timeout pragmas
...
Internal Sentry reports tell us that enabling the busy_timeout seems to
have *increased* the number of "database is busy" errors, instead of
lowering those. As a result, we're going to disable the pragmas in all
the places where we enabled it before, and observe how the number of
"database is busy" errors evolves.
2025-06-10 11:13:28 +02:00
Benjamin Bouvier
d8652d27f8
feat(sdk): forbid ignoring the current user
2025-06-10 10:50:34 +02:00
Damir Jelić
aa67148247
refactor(xtask): Use a helper to append options for the release tasks
2025-06-10 09:47:42 +02:00
Damir Jelić
769fcdb1fb
feat: Support releasing a specific package
2025-06-10 09:47:42 +02:00
Damir Jelić
0f4afb32f7
refactor(xtask): Use a helper to append options for the release tasks
2025-06-10 09:34:56 +02:00
Damir Jelić
398787253d
feat: Support releasing a specific package
2025-06-10 09:34:56 +02:00
Benjamin Bouvier
7a6e29c347
feat(ui): don't mark each thread reply as an actual reply to the previous message, in threaded timelines
...
This correctly handles the reply fallback behavior:
- the behavior isn't changed for a live timeline,
- when a timeline is thread-focused, we will extract the `replied_to`
field if and only if the thread relation is *not* marked as behaving in
a fallback manner.
This makes it possible to distinguish actual in-thread replies.
2025-06-10 09:03:30 +02:00
Damir Jelić
6e628781c0
release: Add a changelog entry for the tracing-attributes issue
2025-06-09 20:29:09 +02:00
VerdeQuar
a75a2b4113
fix(crypto): Remove wildcard enum variant import
...
Signed-off-by: VerdeQuar <verdequar@gmail.com >
2025-06-09 20:29:09 +02:00
Damir Jelić
216e878231
Revert "feat(base): Detecting invalid states in room upgrades."
...
This reverts commit c7f6190cff .
2025-06-09 18:08:03 +02:00
Damir Jelić
e54b20fa68
Revert "doc(base): Improve documentation.
"
...
This reverts commit 8e3ad22d92 .
2025-06-09 18:08:03 +02:00
Damir Jelić
a120057ec3
Revert "fix(base): Revisit check_tombstone entirely."
...
This reverts commit 0478037b57 .
2025-06-09 18:08:03 +02:00
dependabot[bot]
737bda44a2
chore(deps): bump crate-ci/typos from 1.32.0 to 1.33.1
...
Bumps [crate-ci/typos](https://github.com/crate-ci/typos ) from 1.32.0 to 1.33.1.
- [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.32.0...v1.33.1 )
---
updated-dependencies:
- dependency-name: crate-ci/typos
dependency-version: 1.33.1
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-06-09 17:45:37 +02:00
Benjamin Bouvier
df65c94974
chore(ui): apply review comments
2025-06-09 16:59:32 +02:00
Stefan Ceriu
39ee5112b4
chore(ui): add timeline threaded filtering tests
2025-06-09 16:59:32 +02:00
Stefan Ceriu
96afdeffad
feat(ui): add TimelineFocus associated values for defining whether threaded events should be hidden on those particular timeline instances.
2025-06-09 16:59:32 +02:00
Stefan Ceriu
669d91e7e9
feat(ui): add thread based filtering for local event items
2025-06-09 16:59:32 +02:00
Stefan Ceriu
dcec53ba00
feat(ui): filter threaded remote events based on the timeline focus and extracted relations
2025-06-09 16:59:32 +02:00
Stefan Ceriu
9d9ce4a68b
chore(ui): remove relation processing when dealing with EmbeddedEvents
2025-06-09 16:59:32 +02:00
Stefan Ceriu
dc24365ddf
chore(ui): move event based relation handling to TimelineMetadata and out of the TimelineAction
2025-06-09 16:59:32 +02:00
Stefan Ceriu
ba53390547
chore(ui): move timeline item relation handling from the TimelineAction to the TimelineMetadata
2025-06-09 16:59:32 +02:00
Stefan Ceriu
c860e7fca7
fix(ui): load up reactions to threaded messages
2025-06-09 16:59:32 +02:00
Benjamin Bouvier
ebcb74a86d
refactor!(event cache): introduce LinkedChunkId in the backends ( #5182 )
...
In a "soon" future, threads have their own linked chunk. All our code
has been written with the fact that a linked chunk belong to *a room* in
mind, so it needs some biggish update. Fortunately, most of the changes
are mechanical, so they should be rather easy to review.
Part of #4869 , namely #5122 .
2025-06-09 13:26:46 +00:00
Jonas Platte
65bb20c965
refactor: Clean up tracing and formatting macro uses ( #5192 )
...
Signed-off-by: Jonas Platte <jplatte+matrix@posteo.de >
2025-06-09 12:15:59 +02:00
VerdeQuar
bdda4abf56
fix(crypto): Remove wildcard enum variant import
...
Signed-off-by: VerdeQuar <verdequar@gmail.com >
2025-06-07 14:55:27 +02:00
Jorge Martín
47e81818bc
test: Add extra test for the active call state
...
Also, adapt the other tests to the new return type
2025-06-06 15:02:17 +02:00
Jorge Martín
fe015b7eda
refactor: Expose the new return type of Client::send_call_notifications_if_needed in the FFI layer
2025-06-06 15:02:17 +02:00
Jorge Martín
baf6824bc4
refactor: Add extra logs to Client::send_call_notifications_if_needed
...
Also make it return `Result<bool>` instead of `Result<()>` so we can check if the event was sent.
2025-06-06 15:02:17 +02:00
Jorge Martín
c1ce92bf48
refactor(ffi): Use Client::room_info_notable_update_receiver instead of RoomUpdates
...
This allows us to also react to local changes that would take several extra seconds to be received in a new sync response.
2025-06-06 13:18:49 +02:00
Benjamin Bouvier
4eb7e0c845
feat(timeline): insert the timeline start item just after creating a live timeline
...
This is even better, as we don't need to look at the live pagination
status to know whether we've reached the start of the timeline or not.
2025-06-06 12:57:39 +02:00
Benjamin Bouvier
766ff3f8e9
test(timeline): add a test for the mysterious missing timeline start case
2025-06-06 12:57:39 +02:00
Benjamin Bouvier
a855f1df2c
fix(timeline): add the timeline start of the current pagination state too
2025-06-06 12:57:39 +02:00
Ivan Enderlin
0478037b57
fix(base): Revisit check_tombstone entirely.
...
This patch renames `check_tombstone` to `check_room_upgrades`.
Then it rewrites it **entirely** to remove all false-positives and
false-negatives. More importantly, the room versions are no longer
involved: they can't be compared or ordered, they must be treated as
opaque values.
This new version of `check_room_upgrades` does a first path to check
predecessor-successor consistency. Then it does a second version to
detect loops. This new algorithm is robust to absent `m.room.create`
events. Making them mandatory is left to another patch.
More tests are added, especially to ensure that `m.room.create` cannot
be overwritten, and to ensure loops or inconsistent predecessors and
successors are correctly detected.
2025-06-06 12:54:45 +02:00
Benjamin Bouvier
caa07a8007
refactor(sdk): regroup bundled thread extraction in TimelineEvent ctors
2025-06-06 13:34:12 +03:00
Benjamin Bouvier
93f2c61447
feat(event cache): store a bundled thread's latest TimelineEvent if provided
2025-06-06 13:34:12 +03:00
Benjamin Bouvier
c8a5c43232
feat(common): temporarily store a bundled thread's latest TimelineEvent
2025-06-06 13:34:12 +03:00
Benjamin Bouvier
2aeb1a0353
refactor(sdk): rename TimelineEvent::new to from_plaintext
2025-06-06 13:34:12 +03:00
Benjamin Bouvier
a1ad772642
refactor(sdk): rename TimelineEvent::new_utd_event to from_utd
2025-06-06 13:34:12 +03:00
Benjamin Bouvier
b8f850b6f2
refactor(sdk): make it clearer that Context isn't mutated in a few processor helpers
...
It isn't mutated by the function, so there's no need to pass a mutable
reference here.
2025-06-06 13:34:12 +03:00
Benjamin Bouvier
c6ed2d1963
refactor(sdk): compute push actions before creating a decrypted TimelineEvent
...
This reduces the number of callers to `set_push_actions()`, which should
be minimally used.
2025-06-06 13:34:12 +03:00
Benjamin Bouvier
c48a2d68d1
refactor(base): streamline the verification processor
2025-06-06 13:34:12 +03:00