Commit Graph

14300 Commits

Author SHA1 Message Date
Michael Goldenberg
79154bd03d refactor(indexeddb): add type for representing time relative to unix epoch
Signed-off-by: Michael Goldenberg <m@mgoldenberg.net>
2025-09-17 17:03:39 +02:00
Michael Goldenberg
c7990e6e33 refactor(indexeddb): replace media source index with media uri index
Signed-off-by: Michael Goldenberg <m@mgoldenberg.net>
2025-09-17 17:03:39 +02:00
Michael Goldenberg
c839c01205 refactor(indexeddb): add fns for putting an item into IndexedDB if the serialized value satisfies predicate
Signed-off-by: Michael Goldenberg <m@mgoldenberg.net>
2025-09-17 17:03:39 +02:00
Michael Goldenberg
62d2d0ff94 fix(indexeddb): fix import in state store migration tests
Signed-off-by: Michael Goldenberg <m@mgoldenberg.net>
2025-09-17 14:00:43 +02:00
Michael Goldenberg
bcae429062 refactor(indexeddb): tweak features and imports to ensure types and traits are only available when they are needed
Signed-off-by: Michael Goldenberg <m@mgoldenberg.net>
2025-09-17 14:00:43 +02:00
Michael Goldenberg
b0e9f3c666 refactor(indexeddb): expose safe encode trait even when e2e-encryption feature is not enabled
Signed-off-by: Michael Goldenberg <m@mgoldenberg.net>
2025-09-17 14:00:43 +02:00
Michael Goldenberg
a325105190 feat(indexeddb): add experimental encrypted state events feature to quiet warning about using non-existent features in crypto store
Signed-off-by: Michael Goldenberg <m@mgoldenberg.net>
2025-09-17 14:00:43 +02:00
Michael Goldenberg
3835a7ff94 refactor(indexeddb): remove unused imports from transaction module
Signed-off-by: Michael Goldenberg <m@mgoldenberg.net>
2025-09-17 14:00:43 +02:00
Michael Goldenberg
ead9400702 refactor(indexeddb): allow dead code in transaction and indexed type serializer modules while media store under development
Signed-off-by: Michael Goldenberg <m@mgoldenberg.net>
2025-09-17 14:00:43 +02:00
Michael Goldenberg
78172bb7b6 refactor(indexeddb): remove unused imports and dead code from event cache store module
Signed-off-by: Michael Goldenberg <m@mgoldenberg.net>
2025-09-17 14:00:43 +02:00
Michael Goldenberg
bbf2164ab2 refactor(indexeddb): allow dead code in event cache store builder until it is publicly exposed
Signed-off-by: Michael Goldenberg <m@mgoldenberg.net>
2025-09-17 14:00:43 +02:00
Michael Goldenberg
46a2ee6177 fix(indexeddb): handle result in event cache store migrations
Signed-off-by: Michael Goldenberg <m@mgoldenberg.net>
2025-09-17 14:00:43 +02:00
Michael Goldenberg
f1caf8f27f refactor(indexeddb): remove unused imports in media store module
Signed-off-by: Michael Goldenberg <m@mgoldenberg.net>
2025-09-17 14:00:43 +02:00
Michael Goldenberg
60bfc48b6b refactor(indexeddb): allow dead code in media store module as it is still under development
Signed-off-by: Michael Goldenberg <m@mgoldenberg.net>
2025-09-17 14:00:43 +02:00
Michael Goldenberg
afa339c02b refactor(indexeddb): remove extraneous core object store from event cache store migrations
Signed-off-by: Michael Goldenberg <m@mgoldenberg.net>
2025-09-17 14:00:43 +02:00
Michael Goldenberg
c9b7fc7007 refactor(indexeddb): rename serializer types modules to indexed_types
Signed-off-by: Michael Goldenberg <m@mgoldenberg.net>
2025-09-17 14:00:43 +02:00
Michael Goldenberg
2f6bb3a1eb refactor(indexeddb): move module-specific constants into their own modules
Signed-off-by: Michael Goldenberg <m@mgoldenberg.net>
2025-09-17 14:00:43 +02:00
Michael Goldenberg
a259860221 refactor(indexeddb): deduplicate constants for types from std
Signed-off-by: Michael Goldenberg <m@mgoldenberg.net>
2025-09-17 14:00:43 +02:00
Michael Goldenberg
2765c18e61 refactor(indexeddb): move custom bool serializer into serializer module
Signed-off-by: Michael Goldenberg <m@mgoldenberg.net>
2025-09-17 14:00:43 +02:00
Michael Goldenberg
b44b6478c0 refactor(indexeddb): nest generalized transaction in event cache store transaction
Signed-off-by: Michael Goldenberg <m@mgoldenberg.net>
2025-09-17 14:00:43 +02:00
Michael Goldenberg
0bebf144d1 refactor(indexeddb): nest generalized transaction in media store transaction
Signed-off-by: Michael Goldenberg <m@mgoldenberg.net>
2025-09-17 14:00:43 +02:00
Michael Goldenberg
975b08c019 refactor(indexeddb): add generalized transaction type and error
Signed-off-by: Michael Goldenberg <m@mgoldenberg.net>
2025-09-17 14:00:43 +02:00
Michael Goldenberg
453613c13f refactor(indexeddb): deduplicate async error deps trait
Signed-off-by: Michael Goldenberg <m@mgoldenberg.net>
2025-09-17 14:00:43 +02:00
Michael Goldenberg
cb94969e2a refactor(indexeddb): deduplicate serializer traits and types
Signed-off-by: Michael Goldenberg <m@mgoldenberg.net>
2025-09-17 14:00:43 +02:00
Michael Goldenberg
0e4e4eae2b refactor(indexeddb): rename IndexeddbMediaStoreSerializer{Error} to IndexedTypeSerializer{Error}
Signed-off-by: Michael Goldenberg <m@mgoldenberg.net>
2025-09-17 14:00:43 +02:00
Michael Goldenberg
b9410dff61 refactor(indexeddb): rename IndexeddbEventCacheStoreSerializer{Error} to IndexedTypeSerializer{Error}
Signed-off-by: Michael Goldenberg <m@mgoldenberg.net>
2025-09-17 14:00:43 +02:00
Michael Goldenberg
013bb9a5ac refactor(indexeddb): rename IndexeddbSerializer to SafeEncodeSerializer
Signed-off-by: Michael Goldenberg <m@mgoldenberg.net>
2025-09-17 14:00:43 +02:00
Michael Goldenberg
891ed0efff refactor(indexeddb): move SafeEncode-related traits and types into their own module
Signed-off-by: Michael Goldenberg <m@mgoldenberg.net>
2025-09-17 14:00:43 +02:00
Ivan Enderlin
2e3be13b4d fix(ui): The recency room list sorter stops using the latest event's timestamp.
This patch updates the `recency` room list sorter to no longer
use the `LatestEventValue::timestamp` method. It keeps using the
`Room::recency_stamp` for the moment, as it was the case before. This
patch is a test to try finding the problem in some Matrix clients where
the room list becomes unusable. We suspect it's because of this patch
sorter.
2025-09-17 13:32:42 +02:00
Ivan Enderlin
efcb7125ad chore(ffi): Define new log target for deserialized_responses.
This patch defines a new log target,
`MatrixSdkCommonDeserializedResponses`. It is enabled by the
`SyncProfiling`, `EventCache` or `Timeline` log packs.

This patch also changes the level of the log in
`TimelineEvent::timestamp` from `trace` to `warn`.
2025-09-17 11:33:14 +02:00
Valere Fedronic
681863423c feat(rtc): Remove deprecated CallNotify in favour of RtcNotification
`CallNotify` event has been deprecated in favour of `RtcNotification` event https://github.com/ruma/ruma/pull/2199
2025-09-16 16:06:39 +02:00
Stefan Ceriu
8c6922d5a9 feat(spaces): use the space children_state received from /hierarchy to populate children via parameters and expose them on SpaceRooms 2025-09-16 12:55:58 +03:00
Benjamin Bouvier
8c60ef2635 refactor(timeline): more refactorings around timeline focus
This includes a new code location where we'd need to handle
permalink-in-thread differently, and reduces the number of matches on
the focus kind.
2025-09-16 11:51:10 +02:00
Benjamin Bouvier
3e9e74a888 feat(timeline): add a public is_threaded() method to know if a timeline is focused on a thread or not
And use fewer `matches!` statements to figure whether a timeline is
threaded or not, or what its thread root is.
2025-09-16 11:51:10 +02:00
Benjamin Bouvier
a06403c12f refactor(timeline): use a getter to figure if a focus is on a thread
This will pave the way for permalink targets which are for events in a
thread, by making it possible to add a future condition in the
`TimelineFocusKind::Event` case (if the pagination used under the hood
is using /relations, then it's a thread).
2025-09-16 11:51:10 +02:00
Ivan Enderlin
d3a7d26c7d chore(common): Add log in TimelineEvent::timestamp.
This patch adds a log in `TimelineEvent::timestamp` when the `timestamp`
has to be extracted. It can be a performance problem depending on when
it's called.
2025-09-16 10:54:05 +02:00
Benjamin Bouvier
e83f37e68b test: add test for the previous commit 2025-09-15 18:02:34 +02:00
Benjamin Bouvier
efda12058f fix(room service): enable the thread subscriptions extension iff the server advertises support for it 2025-09-15 18:02:34 +02:00
dependabot[bot]
f12ee861b0 chore(deps): bump tj-actions/changed-files from 46.0.5 to 47.0.0
Bumps [tj-actions/changed-files](https://github.com/tj-actions/changed-files) from 46.0.5 to 47.0.0.
- [Release notes](https://github.com/tj-actions/changed-files/releases)
- [Changelog](https://github.com/tj-actions/changed-files/blob/main/HISTORY.md)
- [Commits](https://github.com/tj-actions/changed-files/compare/v46.0.5...v47.0.0)

---
updated-dependencies:
- dependency-name: tj-actions/changed-files
  dependency-version: 47.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-15 17:22:23 +02:00
dependabot[bot]
48cc68c466 chore(deps): bump CodSpeedHQ/action from 4.0.0 to 4.0.1
Bumps [CodSpeedHQ/action](https://github.com/codspeedhq/action) from 4.0.0 to 4.0.1.
- [Release notes](https://github.com/codspeedhq/action/releases)
- [Changelog](https://github.com/CodSpeedHQ/action/blob/main/CHANGELOG.md)
- [Commits](6eeb021fd0...653fdc30e6)

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

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-15 17:15:01 +02:00
Skye Elliot
acaff39594 fix(crypto): Report inner-outer state key differences as invalid.
Signed-off-by: Skye Elliot <actuallyori@gmail.com>
2025-09-15 15:13:25 +02:00
Stefan Ceriu
bdc564bb55 chore(spaces): rewrite /hierarchy room list filtering and parent space extraction to avoid mixing responsibilities. 2025-09-15 15:31:49 +03:00
Stefan Ceriu
ac68c4a47d chore(ffi): expose the new SpaceRoomList space and its respective updates publisher. 2025-09-15 15:31:49 +03:00
Stefan Ceriu
75a5c19f91 chore(spaces): have SpaceRoom::new_from_known work with a reference and reduce the number of clones required. 2025-09-15 15:31:49 +03:00
Stefan Ceriu
7a53615d80 feat(spaces): expose an is_direct flag on SpaceRooms 2025-09-15 15:31:49 +03:00
Stefan Ceriu
802e137ae5 chore(spaces): align on calling the owner of the room list a space and not a parent_space 2025-09-15 15:31:49 +03:00
Stefan Ceriu
68cb3fb6a4 feat(spaces): expose the parent space on the SpaceRoomList 2025-09-15 15:31:49 +03:00
Jorge Martín
cc1fbf9882 refactor(ffi): Make EC optional parameters default to None
This is done so we can just use:

```kotlin
VirtualElementCallWidgetConfig(intent = ...)
```

Instead of:

```kotlin
VirtualElementCallWidgetConfig(
    intent = ...,
    skipLobby = null,
    header = null,
    hideHeader = null,
    preload = null,
    ...
)
```
2025-09-15 11:21:49 +02:00
Richard van der Hoff
89c1c8e4fa changelog 2025-09-12 17:13:08 +01:00
Richard van der Hoff
423f15a125 test(crypto): add a test for verification_request_content 2025-09-12 17:13:08 +01:00