Commit Graph

15297 Commits

Author SHA1 Message Date
Damir Jelić
cee9dc065c chore: Fix the category of a changelog fragment 2026-06-02 13:19:42 +02:00
Kévin Commaille
3a9fd9f790 Upgrade Ruma
Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>
2026-06-01 11:35:15 +02:00
Damir Jelić
c0fde339b9 chore: Remove an unused cargo-deny git exception 2026-05-28 15:11:15 +02:00
Damir Jelić
abbb580e33 chore: Bump our rmp version in the lock file
This at last removes the paste crate from our dependency tree.
2026-05-28 15:11:15 +02:00
Damir Jelić
44104f689f chore: Bump our rand versions in the lock file 2026-05-28 11:56:26 +02:00
Yorusaka Miyabi
e4c55a7443 chore(search): Bump tantivy
Signed-off-by: Yorusaka Miyabi <23130178+ShadowRZ@users.noreply.github.com>
2026-05-28 11:22:54 +02:00
Yorusaka Miyabi
9f0471d521 refactor(multiverse): move to ratatui 0.30.0
Signed-off-by: Yorusaka Miyabi <23130178+ShadowRZ@users.noreply.github.com>
2026-05-28 11:22:54 +02:00
Mauro Romito
3a44b50518 docs: changelog added 2026-05-26 12:33:08 +03:00
Mauro Romito
55262807e1 feat (bindings): expose tile_server to FFI 2026-05-26 12:33:08 +03:00
dependabot[bot]
235151de39 chore(deps): bump zizmorcore/zizmor-action from 0.5.3 to 0.5.6
Bumps [zizmorcore/zizmor-action](https://github.com/zizmorcore/zizmor-action) from 0.5.3 to 0.5.6.
- [Release notes](https://github.com/zizmorcore/zizmor-action/releases)
- [Commits](b1d7e1fb5d...5f14fd08f7)

---
updated-dependencies:
- dependency-name: zizmorcore/zizmor-action
  dependency-version: 0.5.6
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-05-26 10:33:30 +02:00
dependabot[bot]
460dcbbf02 chore(deps): bump crate-ci/typos from 1.46.1 to 1.46.2
Bumps [crate-ci/typos](https://github.com/crate-ci/typos) from 1.46.1 to 1.46.2.
- [Release notes](https://github.com/crate-ci/typos/releases)
- [Changelog](https://github.com/crate-ci/typos/blob/master/CHANGELOG.md)
- [Commits](5374cbf686...aca895bf05)

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-05-26 10:26:54 +02:00
Jorge Martín
7b6cc76361 Update rpassword to v7.5.1 to fix clippy
This was happening for non-linux targets. Fixed in https://github.com/conradkleinespel/rpassword/pull/128
2026-05-26 10:24:40 +02:00
dependabot[bot]
13247c3201 chore(deps): bump taiki-e/install-action from 2.77.6 to 2.79.1
Bumps [taiki-e/install-action](https://github.com/taiki-e/install-action) from 2.77.6 to 2.79.1.
- [Release notes](https://github.com/taiki-e/install-action/releases)
- [Changelog](https://github.com/taiki-e/install-action/blob/main/CHANGELOG.md)
- [Commits](c070f87102...b550161ef8)

---
updated-dependencies:
- dependency-name: taiki-e/install-action
  dependency-version: 2.79.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-05-26 09:43:47 +03:00
Ivan Enderlin
1205c2b212 doc(sdk): Add the changelog file. 2026-05-22 11:23:24 +02:00
Ivan Enderlin
eb6d5c330c test(sdk): Add a test to ensure no Client cyclic reference with ThreadSubscriptionCatchup. 2026-05-22 11:23:24 +02:00
Ivan Enderlin
b01ce21a24 fix(sdk): Remove a cyclic reference of Client in ThreadSubscriptionCatchup.
This patch fixes cyclic reference of `Client` in
`ThreadSubscriptionCatchup`.

`ThreadSubscriptionCatchup` starts a task that call
`thread_subscriptions_catchup_task`. This function captures a clone of
`ThreadSubscriptionCatchup` (why not…) which contains a `WeakClient`,
all good, no cycle here! However, the real task (not the function)
captures `Client` to call `enabled_thread_subscriptions` to know
if the function `thread_subscriptions_catchup_task` must be called.
Consequently, the task captures a clone of `Client`, boom, we have
a cycle.

This patch fixes the problem by spawning the task if and only if
`Client::enabled_thread_subscriptions` returns `Ok(true)`. This check is
done outside the task. It seems saner and avoid creating this cycle.

Consequently, the `ThreadSubscriptionCatchup::new` method becomes
`async`, which is perfectly fine as it was already wrapper inside an
`async` block when initialised by the `Client`.
2026-05-22 11:23:24 +02:00
Michael Goldenberg
b847983dbf refactor(base): hold state store lock while processing sync response
Signed-off-by: Michael Goldenberg <m@mgoldenberg.net>
2026-05-21 12:34:28 +02:00
Daniel Anderson
8675cb2841 feat(ffi): expose append parameter on Client::set_pusher
Forwards the new SDK append flag across the FFI boundary so multi-profile
clients can register pushers without overwriting each other.

Breaking change: Client::set_pusher now takes an append: bool parameter.

Signed-off-by: Daniel Anderson <daniel.anderson@toptal.com>
2026-05-21 12:53:08 +03:00
Daniel Anderson
d3c499ddbc feat(sdk): expose append parameter on Pusher::set
Forwards the Matrix spec's append flag on POST /_matrix/client/v3/pushers/set
through Pusher::set. When true, the homeserver keeps any existing pusher
with the same app_id and pushkey registered for other users instead of
replacing it. Needed for multi-profile clients on a single device.

Breaking change: Pusher::set now takes an append: bool parameter.

Signed-off-by: Daniel Anderson <daniel.anderson@toptal.com>
2026-05-21 12:53:08 +03:00
ganfra
4ca424f5f2 revert "only start with a timeline reset diff if the timeline isn't empty" 2026-05-21 09:40:09 +02:00
Damir Jelić
82c24a891b fix(sdk): Make the pinned events sorting deterministic
The previous sorting logic relied on SystemTime::now, which introduces
non-deterministic behavior which might result in a panic.
2026-05-20 16:54:20 +02:00
Hugh Nimmo-Smith
3372ca3577 test(sdk): explicitly assert homserver URL swap for QR login 2026-05-20 15:56:33 +02:00
Daniel Anderson
10c0a86e99 feat(ffi): expose RoomInfo::fully_read_event_id
`m.fully_read` is now available on the FFI `RoomInfo` record

Signed-off-by: Daniel Anderson <daniel.anderson@toptal.com>
2026-05-20 11:46:20 +03:00
Daniel Anderson
a80fa910da feat(base): expose m.fully_read event ID on RoomInfo
Persist `m.fully_read` on `BaseRoomInfo` and expose it
on `RoomInfo::fully_read_event_id` and `Room::fully_read_event_id`.

The `m.fully_read` response processor now stores the event ID
on the room info and emits `RoomInfoNotableUpdateReasons::FULLY_READ`

Signed-off-by: Daniel Anderson <daniel.anderson@toptal.com>
2026-05-20 11:46:20 +03:00
Daniel Anderson
4b1ae064c7 feat(base): add FULLY_READ notable update reason
Add `RoomInfoNotableUpdateReasons::FULLY_READ`, used for
when the `m.fully_read` marker for a room changes.

Breaking change: the backing bitflag widens from `u8` to `u16`
for the new flag to not alter the existing bit positions.

Signed-off-by: Daniel Anderson <daniel.anderson@toptal.com>
2026-05-20 11:46:20 +03:00
Jorge Martín
4a26af89f2 feat(ffi): Expose SqliteStoreBuilder::key in the FFI layer
This allows clients to provide a raw key instead of a passphrase for the key used to encrypt and decrypt data in the store DBs.

Using a raw key with enough entropy should be safe, and we can skip the key derivation performed in the passphrase, which slows down session restoration (it's now 50% faster in my local tests).
2026-05-19 16:05:15 +02:00
Ivan Enderlin
7677f09099 doc: Update the PR template to match the recent changelog modifications. 2026-05-19 10:49:12 +02:00
dependabot[bot]
80ecdc17c8 chore(deps): bump crate-ci/typos from 1.46.0 to 1.46.1
Bumps [crate-ci/typos](https://github.com/crate-ci/typos) from 1.46.0 to 1.46.1.
- [Release notes](https://github.com/crate-ci/typos/releases)
- [Changelog](https://github.com/crate-ci/typos/blob/master/CHANGELOG.md)
- [Commits](bbaefadf97...5374cbf686)

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-05-19 09:29:49 +02:00
dependabot[bot]
56a37273c7 chore(deps): bump EmbarkStudios/cargo-deny-action from 2.0.17 to 2.0.18
Bumps [EmbarkStudios/cargo-deny-action](https://github.com/embarkstudios/cargo-deny-action) from 2.0.17 to 2.0.18.
- [Release notes](https://github.com/embarkstudios/cargo-deny-action/releases)
- [Commits](91bf2b620e...6c8f9facfa)

---
updated-dependencies:
- dependency-name: EmbarkStudios/cargo-deny-action
  dependency-version: 2.0.18
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-05-19 09:25:36 +02:00
dependabot[bot]
10c98c77fd chore(deps): bump taiki-e/install-action from 2.76.0 to 2.77.6
Bumps [taiki-e/install-action](https://github.com/taiki-e/install-action) from 2.76.0 to 2.77.6.
- [Release notes](https://github.com/taiki-e/install-action/releases)
- [Changelog](https://github.com/taiki-e/install-action/blob/main/CHANGELOG.md)
- [Commits](711e1c3275...c070f87102)

---
updated-dependencies:
- dependency-name: taiki-e/install-action
  dependency-version: 2.77.6
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-05-19 09:25:09 +02:00
dependabot[bot]
3a1806a900 chore(deps): bump CodSpeedHQ/action from 4.15.0 to 4.15.1
Bumps [CodSpeedHQ/action](https://github.com/codspeedhq/action) from 4.15.0 to 4.15.1.
- [Release notes](https://github.com/codspeedhq/action/releases)
- [Changelog](https://github.com/CodSpeedHQ/action/blob/main/CHANGELOG.md)
- [Commits](c381be0bfd...3194d9a39c)

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

Signed-off-by: dependabot[bot] <support@github.com>
2026-05-19 09:24:47 +02:00
Ivan Enderlin
b6d0f8a0a7 chore: Fix rumdl errors and warnings by hand. 2026-05-18 15:05:52 +02:00
Ivan Enderlin
7d31912f0d chore: Run rumdl check --fix. 2026-05-18 15:05:52 +02:00
Ivan Enderlin
e8fe0f3642 chore: Configure rumdl.
This patch adds configuration for `rumdl` (https://github.com/rvben/rumdl).
2026-05-18 15:05:52 +02:00
Ivan Enderlin
56de50cef4 doc: Fix changelog entries format.
The list style is no more necessary.
matrix-sdk-ffi/20260519
2026-05-18 09:06:24 +02:00
Damir Jelić
929551152e chore: Remove the rustrover image as it isn't used anymore 2026-05-15 16:23:59 +02:00
Kévin Commaille
edb5d41597 refactor(sdk): Make RumaApiError a type alias of UiaaResponse
They have similar variants containing the same data so it's not useful
to have separate types.

Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>
2026-05-15 12:04:54 +02:00
Kévin Commaille
6a551f31e2 refactor(sdk): Simplify some error matching
By using helper methods on error types.

Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>
2026-05-15 12:04:54 +02:00
Kévin Commaille
44a12a7849 refactor(sdk): Use upstream method to match unsupported endpoint error
Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr>
2026-05-15 12:04:54 +02:00
Artem Pylypchuk
c895e92c26 fix: manually drop room if it's last in Arc 2026-05-15 11:57:23 +02:00
Jorge Martín
7c13b60e28 fix: Refresh timeline items when their sender's avatar URL changes
This is similar to what happens when a user display name changes, its ambiguity is calculated and if it changes, it reloads the associated timeline events.

In fact, this change tries to follow the same strategy as `AmbiguityCache`.
2026-05-15 11:56:27 +02:00
Damir Jelić
e5a50089c2 chore: Migrate changelogs to towncrier fragments 2026-05-15 11:15:38 +02:00
Damir Jelić
2a8d75e43f chore: Add the changelog fragment directories 2026-05-14 15:56:14 +02:00
Damir Jelić
3e34794147 chore: Update our contributing guide for the new changelog format 2026-05-14 15:56:14 +02:00
Damir Jelić
8fb918e062 chore: Update our changelogs so towncrier knows where to insert changelogs 2026-05-14 15:56:14 +02:00
Damir Jelić
045d178d63 chore: Update the release hook to call towncrier 2026-05-14 15:56:14 +02:00
Damir Jelić
36658b4e8c chore: Add a towncrier config 2026-05-14 15:56:14 +02:00
Benoit Marty
c253114b05 fix: can_be_replied_to() returns false for LiveLocation events. 2026-05-13 13:38:12 +01:00
dependabot[bot]
f50309786e chore(deps): bump taiki-e/install-action from 2.75.23 to 2.76.0
Bumps [taiki-e/install-action](https://github.com/taiki-e/install-action) from 2.75.23 to 2.76.0.
- [Release notes](https://github.com/taiki-e/install-action/releases)
- [Changelog](https://github.com/taiki-e/install-action/blob/main/CHANGELOG.md)
- [Commits](481c34c1cf...711e1c3275)

---
updated-dependencies:
- dependency-name: taiki-e/install-action
  dependency-version: 2.76.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-05-13 10:24:24 +02:00
dependabot[bot]
32faffeca7 chore(deps): bump rpassword from 7.4.0 to 7.5.0
Bumps [rpassword](https://github.com/conradkleinespel/rpassword) from 7.4.0 to 7.5.0.
- [Release notes](https://github.com/conradkleinespel/rpassword/releases)
- [Commits](https://github.com/conradkleinespel/rpassword/compare/v7.4.0...v7.5.0)

---
updated-dependencies:
- dependency-name: rpassword
  dependency-version: 7.5.0
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-05-13 10:23:41 +02:00