Nicolas Mauri
0a52fc895e
ffi: Allow to get the user-defined notification mode for a room
2023-08-10 09:51:10 +02:00
Ivan Enderlin
51c25a4456
feat(ui): Implement RoomList::entries_with_dynamic_filter
...
feat(ui): Implement `RoomList::entries_with_dynamic_filter`
2023-08-10 08:28:43 +02:00
Ivan Enderlin
0f94f93080
chore: When LSP is broken… :-)
2023-08-09 15:18:24 +02:00
Ivan Enderlin
55ba580c0d
chore: Simplify Fn declaration.
2023-08-09 15:08:05 +02:00
Ivan Enderlin
da7e05f18f
feat(ffi): Use an enum to set dynamic filter.
...
This patch removes
`RoomListEntriesDynamicFilter::set_with_fuzzy_match_pattern` and
replaces it by a single `::set` method. It takes a new enum as
parameter: `RoomListEntriesDynamicFilterKind`. This enum has a
`FuzzyMatchRoomName` variant to simulate the removed method. It also
adds the `All` variant, to represent the `all` filter.
2023-08-09 15:00:09 +02:00
Ivan Enderlin
f35275f4fc
feat(ui): Implement a new filter: all.
...
This patch implements a new `all` filter.
2023-08-09 14:51:15 +02:00
Ivan Enderlin
90682270ae
feat(ffi): Implement RoomList::entries_with_dynamic_filter.
...
First, this patch makes `RoomList::entries` infallible.
Second, this patch implements `RoomList::entries_with_dynamic_filter`.
2023-08-09 14:16:23 +02:00
Ivan Enderlin
3c46a1019b
test(ui): Update some tests about fuzzy matcher.
...
These test cases are more easy to understand than the previous one if
you ask me.
2023-08-09 14:15:10 +02:00
Ivan Enderlin
61f481c126
test(ui): Test RoomList::entries_with_dynamic_filter.
...
This patch updates the tests to ensure `entries_with_dynamic_filter`
works as expected.
2023-08-09 13:53:14 +02:00
Ivan Enderlin
bd2f5119db
feat(ui): Rename entries_filtered to entries_with_static_filter.
...
Because it makes more sense.
2023-08-09 13:52:55 +02:00
Jonas Platte
1b8768becc
Use AsyncCell instead of mpsc channel
2023-08-09 13:24:39 +02:00
Damir Jelić
3d3021efc0
Expose bindings to manage dehydrated devices
2023-08-09 12:32:48 +02:00
Damir Jelić
64ca96543e
Initial support for dehydrated devices
...
Co-authored-by: Jonas Platte <jplatte@matrix.org >
2023-08-09 12:32:48 +02:00
Damir Jelić
8ce3b56180
Allow an Olm Account to generate its own device id
2023-08-09 12:32:48 +02:00
Damir Jelić
3e2f531caa
Split out the receive_sync_changes method into a helper
...
This splits the method out so the bigger chunks doesn't persist the
changes in the store.
This will be useful if we need to hijack the changes and persist them in
a different store.
2023-08-09 12:32:48 +02:00
Jonas Platte
56f771a347
ui: Remove unnecessary boxing
2023-08-09 10:46:13 +02:00
Ivan Enderlin
1ab0d2081a
doc(ui): Add inline comments.
2023-08-09 10:01:24 +02:00
Ivan Enderlin
90c30e4058
ui: Add RoomList::entries_with_dynamic_filter
2023-08-09 10:01:15 +02:00
Benjamin Bouvier
80c9464f1e
chore: fix typo in cargo xtask kotlin doc comment ( #2387 )
2023-08-08 16:00:20 +02:00
Benjamin Bouvier
625acb056a
feat(ffi): add an optional file layer for tracing ( #2384 )
...
* feat(ffi): add an optional file logger
Also makes logging to stdout/logcat optional.
* WIP: stupidly duplicate code 🤷
* ffi: Get rid of duplication in tracing initialization
* feat: add OtlpTracingConfiguration too
* feat: log either to stdout on non-android or logcat on android
---------
Co-authored-by: Jonas Platte <jplatte@matrix.org >
2023-08-08 12:37:32 +00:00
Nicolas Mauri
ff9923c6a6
Allow to define the default notification mode for a given room type ( #2369 )
...
* Add a function to define the default notification mode for a given kind of room
* Code refactoring
* sdk+ffi: code refactoring
2023-08-08 14:20:17 +02:00
Kévin Commaille
1680a7d4d6
sdk: Set the refresh token lock if refresh token is missing
...
Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr >
2023-08-08 12:16:03 +02:00
Kévin Commaille
302cff6ba9
sdk: Make RefreshTokenError authentication API-agnostic
...
Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr >
2023-08-08 12:16:03 +02:00
Ivan Enderlin
dc3636d766
feat(ui): Turn on cached list for SlidingSync in RoomListService
...
feat(ui): Turn on cached list for `SlidingSync` in `RoomListService`
2023-08-08 11:29:51 +02:00
Ivan Enderlin
87f7fc7367
chore: Update Cargo.lock.
2023-08-07 17:48:17 +02:00
Ivan Enderlin
741bb1c12d
chore: Update Cargo.lock.
2023-08-07 17:20:19 +02:00
Ivan Enderlin
7e371a642a
feat(ui): Turn on cached list for SlidingSync in RoomListService.
...
Now is a good time to re-enable the cache :-).
2023-08-07 15:54:08 +02:00
Ivan Enderlin
1c01a146b1
chore: Update Cargo.lock.
2023-08-07 12:10:44 +02:00
Jonas Platte
074fd8b335
Upgrade opentelemetry crates
2023-08-06 12:02:41 +02:00
Benjamin Bouvier
5c74a597eb
nit: prefer using assert_matches! in tests
2023-08-04 17:41:47 +02:00
Benjamin Bouvier
dd3cab9409
fix: don't try /context when a notification has been filtered out
2023-08-04 17:41:47 +02:00
Benjamin Bouvier
aea0b00ac2
chore: add comments to get_notification about the return type
2023-08-04 17:41:47 +02:00
Benjamin Bouvier
e1c928f121
fix: compute whether a room is a DM before joining it
...
If we were invited and joined a room, then the computation of is_direct() was happening after
joining, and depended on the presence of a global account event of type "m.direct". This event
is added by the "set_is_direct()" call thereafter, so this couldn't ever happen.
This fixes it by computing the is_direct field *before* joining the room, and then marking the
room as a DM based on that.
2023-08-04 17:41:47 +02:00
Benjamin Bouvier
7676ff509f
nit: remove else after return
2023-08-04 17:41:47 +02:00
Benjamin Bouvier
10f709450e
tests(notification): add integration tests for notification events
2023-08-04 17:41:47 +02:00
Jonas Platte
4ebc3d70ad
Hide test helpers from documentation
2023-08-03 21:39:56 +02:00
Jonas Platte
1679669376
Remove the 'testing' feature from matrix-sdk-ui
...
At the expense of slightly increasing our public API, but we can always
deprecate things.
2023-08-03 21:39:56 +02:00
Jonas Platte
edc6428e69
Fix clippy warnings
2023-08-03 21:39:56 +02:00
Kévin Commaille
a434b97c54
sdk: Don't derive (De)serialize for AuthSession
...
It turns out not all authentication API sessions (i.e. OIDC) are fully (de)serializable.
Signed-off-by: Kévin Commaille <zecakeh@tedomum.fr >
2023-08-03 20:47:30 +02:00
Ivan Enderlin
6c0f24b657
chore: Update UniFFI fork
...
chore: Update UniFFI fork
2023-08-03 15:42:30 +02:00
Ivan Enderlin
2481e1f97e
chore: Update UniFFI fork.
2023-08-03 15:36:52 +02:00
Benjamin Bouvier
bf754667d9
chore: get rid of Client::inherit_session
...
It does the same as `restore_session` now. Thanks @zecakeh for finding this out!
2023-08-03 14:10:32 +02:00
Nicolas Mauri
61d4d5b096
Fix an arithmetic overflow
2023-08-02 18:25:35 +02:00
Jonas Platte
ea03b821fd
ffi: Use UniFFI fork with future cancellation support
...
Upstream PR: https://github.com/mozilla/uniffi-rs/pull/1684
2023-08-02 16:16:24 +02:00
Jonas Platte
f1b4b80460
ffi: Don't spawn tokio tasks for add_timeline_listener, send_attachment
2023-08-02 16:16:24 +02:00
Jonas Platte
b39d06353a
Revert "ffi: Spawn tokio tasks for the remaining async fns"
...
This reverts commit eb4dab138e .
2023-08-02 16:16:24 +02:00
Jonas Platte
34be01ecf2
Revert "ffi: Remove async from a few functions"
...
This reverts commit fc3883d08e .
2023-08-02 16:16:24 +02:00
Jonas Platte
0f6dd644b5
Upgrade async-rx
2023-08-01 17:31:29 +02:00
Jonas Platte
7d9d600eda
ui: Only lock TimelineInnerState once per back-pagination response
2023-08-01 17:31:29 +02:00
Jonas Platte
8ac0f099f6
ui: Exclude Debug implementation from coverage
2023-08-01 17:31:29 +02:00