Commit Graph

13252 Commits

Author SHA1 Message Date
Valere
db4ce0bea5 widget-driver: Add read/send capabilities for rtc decline event 2025-09-09 18:22:49 +02:00
Shrey Patel
b0c0e0e0c4 feat(search): Add paginated search. 2025-09-09 16:24:25 +02:00
Ivan Enderlin
5c78ddec13 refactor(ui): Remove intermediate structs.
This patch removes intermediate structs and uses a function directly.
2025-09-09 15:48:39 +02:00
Ivan Enderlin
59a62550e6 refactor(ui): Remove intermediate structs.
This patch removes intermediate structs and uses a function directly.
2025-09-09 15:48:39 +02:00
Ivan Enderlin
fd356a9e17 chore(ui): Introduce the notion of _rank_ in the recency sorter.
This patch adds the notion of _rank_ in the `recency` sorter to avoid
confusion around `u64`: is it a timestamp or a recency stamp? It's
purely semantics, but I hope it clarify the code.
2025-09-09 15:48:39 +02:00
Ivan Enderlin
fc69b2683f refactor(ui): Rename *Matcher to *Sorter in room_list_service::sorters.
This patch renames all the structure `*Matcher` to `*Sorter`.
And their `matches` method become `cmp`. It was copy-pasted from
`room_list_service::filters` probably, but the semantics here are not
_matcher_ but _sorter_. It's more consistent that `cmp` returns an
`Ordering`.
2025-09-09 15:48:39 +02:00
Ivan Enderlin
5c94177581 doc(base): Fix documentation of recency_stamp. 2025-09-09 15:48:39 +02:00
Ivan Enderlin
0335785e67 feat(base): Introduce the RoomRecencyStamp type.
This patch adds the `RoomRecencyStamp` type to avoid confusion with other
`u64` values.
2025-09-09 15:48:39 +02:00
Ivan Enderlin
c860be4969 feat(ui): Use the new latest_event sorter in the room list.
This patch installs the `new_sorter_latest_event` in the room list.
2025-09-09 15:48:39 +02:00
Ivan Enderlin
8ff7e58bc0 doc(ui): Fix a typo. 2025-09-09 15:48:39 +02:00
Ivan Enderlin
01c0775e59 feat(ui): Update the recency sorter to include the LatestEventValue.
This patch updates the `recency` sorter of the room list to rely on the
`LatestEventValue`'s timestamp, or on the `bump_stamp` returned by the
sync. Using the `LatestEventValue`'s timestamp is more reliable as we
don't rely on the server. However, we must be careful to compare values
of the same nature because the timetamp from the `LatestEventValue` and
the `bump_stamp` doesn't represent the same thing! The `bump_stamp` is
only used when the value for the `LatestEventValue` is `None`.

It's a compromise to get a more accurate listing. Though,
`LatestEventValue::timestamp` returns the `origin_server_ts` value,
which can be forged by a malicious user (then a room could be _sticked_
at the top or at the bottom of the room list). Note that this problem
already existed in the past before the server computed a `bump_stamp`.
Also note that some homeservers use the `origin_server_ts` as the
`bump_stamp` value. Anyway, it's not a security risk as far as I know.
2025-09-09 15:48:39 +02:00
Ivan Enderlin
bd3ddc19e9 feat(base): Implement LatestEventValue::timestamp.
This patch implements a `LatestEventValue::timestamp` method to fetch
the timestamp of a latest event value.
2025-09-09 15:48:39 +02:00
Ivan Enderlin
8156bc25f8 feat(ui): Add the new latest_event sorter for the room list.
This patch implements the new `latest_event` sorter for the room list
which puts the local latest events before the other kinds (like `Remote`
or `None`).
2025-09-09 15:48:39 +02:00
Damir Jelić
441b006c5f ci: Bump the codspeed action and define our benchmark mode 2025-09-09 14:45:49 +02:00
Damir Jelić
ce3b67f801 Update bindings/matrix-sdk-ffi/CHANGELOG.md
Co-authored-by: Ivan Enderlin <ivan@mnt.io>
Signed-off-by: Damir Jelić <poljar@termina.org.uk>
2025-09-09 10:06:21 +02:00
Damir Jelić
260037c4c7 Remove the normalized power level from the bindings
The field is reportedly unused so there's no need to spend time to
calculate the value and pass it over the FFI.
2025-09-09 10:06:21 +02:00
Damir Jelić
a93274de36 fix(base): Fix a panic when we encounter a power level at Int::Min 2025-09-09 10:06:21 +02:00
Damir Jelić
77b426e1aa test(base): Test how we normalize power levels at the int limits 2025-09-09 10:06:21 +02:00
Damir Jelić
251530b6f4 test(base): Add a proptest to validate our normalize_power_level method 2025-09-09 10:06:21 +02:00
Damir Jelić
46c7338509 chore: Put the power level normalization logic into a separate function 2025-09-09 10:06:21 +02:00
Damir Jelić
9e2f2b3534 chore: Add some missing PR links in our changelog 2025-09-09 09:47:49 +02:00
dependabot[bot]
03c6dd9bfc chore(deps): bump crate-ci/typos from 1.35.7 to 1.36.2
Bumps [crate-ci/typos](https://github.com/crate-ci/typos) from 1.35.7 to 1.36.2.
- [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.35.7...v1.36.2)

---
updated-dependencies:
- dependency-name: crate-ci/typos
  dependency-version: 1.36.2
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-08 16:52:16 +02:00
dependabot[bot]
3b7a626b8f chore(deps): bump actions/github-script from 7 to 8
Bumps [actions/github-script](https://github.com/actions/github-script) from 7 to 8.
- [Release notes](https://github.com/actions/github-script/releases)
- [Commits](https://github.com/actions/github-script/compare/v7...v8)

---
updated-dependencies:
- dependency-name: actions/github-script
  dependency-version: '8'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-08 16:51:53 +02:00
dependabot[bot]
2e7bea9253 chore(deps): bump actions/setup-node from 4 to 5
Bumps [actions/setup-node](https://github.com/actions/setup-node) from 4 to 5.
- [Release notes](https://github.com/actions/setup-node/releases)
- [Commits](https://github.com/actions/setup-node/compare/v4...v5)

---
updated-dependencies:
- dependency-name: actions/setup-node
  dependency-version: '5'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-08 16:50:02 +02:00
dependabot[bot]
c7de40b54d chore(deps): bump CodSpeedHQ/action from 3.8.1 to 4.0.0
Bumps [CodSpeedHQ/action](https://github.com/codspeedhq/action) from 3.8.1 to 4.0.0.
- [Release notes](https://github.com/codspeedhq/action/releases)
- [Changelog](https://github.com/CodSpeedHQ/action/blob/main/CHANGELOG.md)
- [Commits](76578c2a7d...6eeb021fd0)

---
updated-dependencies:
- dependency-name: CodSpeedHQ/action
  dependency-version: 4.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-08 15:49:20 +01:00
Shrey Patel
086233ad5f feat(multiverse): Show messages in search results. 2025-09-08 14:05:28 +02:00
Valere
412b7bbc7b add changelog 2025-09-06 11:15:49 +02:00
Valere
0617c88c1c fix example compilation 2025-09-06 11:15:49 +02:00
Valere
83b390204d Add an example for subscribe_to_call_decline_events 2025-09-06 11:15:49 +02:00
Valere
4ef249dc6e review: quick new lines for clarity 2025-09-06 11:15:49 +02:00
Valere
0aef2559bd review: Remove unneeded msc4310 feature (consistent with msc4075) 2025-09-06 11:15:49 +02:00
Valere
653a00351c review: Remove unneeded generic and remove early returns 2025-09-06 11:15:49 +02:00
Valere
8606ac3dfb fix typo 2025-09-06 11:15:49 +02:00
Valere
db5503e30e tests: add decline call tests 2025-09-06 11:15:49 +02:00
Valere
c51b4f03a2 misc: clippy fixes 2025-09-06 11:15:49 +02:00
Valere
0fc0a5514d guard test behing feature flag 2025-09-06 11:15:49 +02:00
Valere
e83af1aae2 tests: subscribe_to_call_decline_events 2025-09-06 11:15:49 +02:00
Valere
ab58c376dd bindings: MSC4310 call decline and subscribe to decline events 2025-09-06 11:15:49 +02:00
Damir Jelić
6c8fb507a2 chore: Allow the adler crate despite it being unmaintained 2025-09-06 11:15:08 +02:00
Ivan Enderlin
b1c28f4bc1 feat(ui): sync_service::State::Error contains the cause error.
This patch updates the `State::Error` variant to contain the error that
led to this state.
2025-09-05 22:31:53 +02:00
Ivan Enderlin
6dbdffd36e refactor(ui): sync_service::State no longer implements PartialEq.
This patch removes the `PartialEq` implementation on
`sync_service::State`. It was only used for test purposes. Outside that,
it doesn't make sense.
2025-09-05 22:31:53 +02:00
Ivan Enderlin
e45387b65b refactor(ui): Encode more states in type systems.
This patch updates the signature of `TerminationReport`'s
constructors so that it's impossible to create invalid states, like
an `origin` of `TerminationOrigin::RoomList` with an error of type
`encryption_sync_service::Error`. The constructors force the error to
match the origin.
2025-09-05 22:31:53 +02:00
Ivan Enderlin
b8803cb465 refactor(ui): Remove TerminationReport::has_expired.
This patch moves `SyncTaskSupervisor::check_if_expired` to
`TerminationReport::has_expired`. Because `TerminationReport` now holds
the error, we can remove the `has_expired` field and get a `has_expired`
method!
2025-09-05 22:31:53 +02:00
Ivan Enderlin
3c88b46c54 feat(ui): TerminationReport contains the error if any.
This patch changes the `TerminationReport::is_error` field to become
`error: Option<Error>`. This patch also creates new constructor on
`TerminationReport` to simplify the code.
2025-09-05 22:31:53 +02:00
Damir Jelić
d25632507d Merge pull request #5628 from matrix-org/release-0.14
Merge back release branch for 0.14
2025-09-04 19:19:59 +02:00
Damir Jelić
9ffe5aa6ca chore: Add a description to the test utils crate matrix-sdk-test-utils-0.14.0 matrix-sdk-ffi-0.14.0 matrix-sdk-0.14.0 matrix-sdk-ui-0.14.0 matrix-sdk-sqlite-0.14.0 matrix-sdk-search-0.14.0 matrix-sdk-indexeddb-0.14.0 matrix-sdk-base-0.14.0 matrix-sdk-store-encryption-0.14.0 matrix-sdk-crypto-0.14.0 matrix-sdk-test-0.14.0 matrix-sdk-test-macros-0.14.0 matrix-sdk-qrcode-0.14.0 matrix-sdk-common-0.14.0 2025-09-04 16:42:00 +02:00
Damir Jelić
c604e4acd2 chore: Update the cargo lock file for the matrix-sdk-test-utils crate 2025-09-04 16:38:45 +02:00
Damir Jelić
f8b343bece chore: Include the test-utils crate in the release
Turns out, we do actually need to release it :(
2025-09-04 16:36:05 +02:00
Damir Jelić
94f8f8c44c Revert "chore: Disable releases for the matrix-sdk-test-utils crate"
This reverts commit f9bf492fdb.
2025-09-04 16:36:05 +02:00
Damir Jelić
4c1f80faf7 chore: Release matrix-sdk version 0.14.0 2025-09-04 16:05:48 +02:00