Commit graph

145 commits

Author SHA1 Message Date
Benoit Marty
9c9a6ce7be Add a way to configure tracing when the session does not exist yet. 2023-09-11 09:58:40 +02:00
Benoit Marty
61f5983b2b Remove unused val. 2023-09-07 22:59:56 +02:00
ganfra
6f86fca2c2 Sync: use the new SyncIndicator api 2023-09-07 17:03:52 +02:00
jonnyandrew
9e5b46200b
Reduce test flakiness by warming up molecule tests (#1226) 2023-09-06 10:08:21 +00:00
Benoit Marty
128c4a7b09
SDK 0.1.49: notification decryption is now fully handled by the Rust SDK. (#1231)
* Revert "Ensure the sync is started when receiving a Push, to ensure that the encryption loop is running."

This reverts commit 82f6f358a7.

* Integrate SDK from https://github.com/matrix-org/matrix-rust-sdk/pull/2505

* Enable retryDecryption() on the NotificationClient.

* SDK 0.1.49 - Encryption Sync is enabled by default now, and retryDecryption is the default too.

* Remove feature flag `UseEncryptionSync`

* Fix sample project build

* Exclude `DeveloperSettingsPresenter` from kover verification.

* Add changelog

---------

Co-authored-by: Jorge Martín <jorgem@element.io>
2023-09-06 11:33:36 +02:00
Jorge Martin Espinosa
cfdccc904e
Replace notification permission dialog with a screen (#1223)
* Replace notification permission dialog with a screen

---------

Co-authored-by: ElementBot <benoitm+elementbot@element.io>
2023-09-05 18:58:05 +02:00
Benoit Marty
82f6f358a7 Ensure the sync is started when receiving a Push, to ensure that the encryption loop is running.
Fixes notification with endecrypted content (#1178)
2023-09-04 12:50:37 +02:00
Benoit Marty
79d4a4c1be LoggedInAppScopeFlowNode is just having one permanent child: LoggedInFlowNode. So no need to have a Backstack here, a ParentNode with PermanentNavModel is enough. 2023-08-29 10:08:59 +02:00
Benoit Marty
8c2cc41f97 Add missing plugin forward between LoggedInAppScopeFlowNode and LoggedInFlowNode. The RoomComponent was not created.
Fix crash when opening a room.
2023-08-28 16:56:50 +02:00
Benoit Marty
e47d137c6a Add documentation to LoggedInAppScopeFlowNode. 2023-08-28 13:07:02 +02:00
Benoit Marty
f80eece489
Merge branch 'develop' into feature/bma/settingUpAccount 2023-08-28 13:02:44 +02:00
Benoit Marty
d8459093a5 Introduce LoggedInAppScopeFlowNode. It's a Node just responsible to set up the Dagger SessionScope.
This allow to inject objects with SessionScope in the node `LoggedInFlowNode` and all it's dependency (in my case `FtueState` and `MatrixClient`)
2023-08-25 13:52:32 +02:00
Benoit Marty
7083abcf09 migrate object to data object (#1135) 2023-08-24 09:32:44 +02:00
ganfra
a911134636
Update rust sdk to 0.1.42 (changes in tracing and sync apis) (#1055)
* Update rust sdk to 0.1.42 (changes in tracing and sync apis)

* Fix sample compilation

---------

Co-authored-by: ganfra <francoisg@element.io>
2023-08-11 21:32:31 +00:00
ganfra
e600b0515f
Sync: remove distincUntilChanged which can cause sync to stay blocked (#1044)
Co-authored-by: ganfra <francoisg@element.io>
2023-08-09 18:59:04 +00:00
ganfra
fa51f6eaa7
Feature/fga/sync states (#1042)
* Change RoomSummaryDataSource to RoomListService to better reflects the rust api

* Better Sync management

* Sync: improve sync spinner rendering

* Sync: make test compiles

* Sync: add more test for sync spinner

* Sync: more clean-up

* Sync: pr review

---------

Co-authored-by: ganfra <francoisg@element.io>
2023-08-09 12:37:43 +00:00
Benoit Marty
822bb82347
Merge pull request #967 from vector-im/feature/bma/detektConfig
Update detekt config.
2023-07-28 16:47:26 +02:00
ganfra
8393db5d9e Sync: move sync lifecycle to onStart/onStop instead of onResume/onPause 2023-07-27 16:49:49 +02:00
Benoit Marty
0e219200b0 Enable detekt rules OptionalUnit and fix existing issues. 2023-07-26 11:43:48 +02:00
Benoit Marty
e0255777c0 Enable detekt rules CascadingCallWrapping and fix existing issues. 2023-07-26 11:07:25 +02:00
Benoit Marty
6aa5239189 Enable detekt rule PreviewPublic and fix existing issues. 2023-07-26 10:08:39 +02:00
ganfra
da57f42fcc Merge branch 'develop' into feature/fga/avoid_deadlocks 2023-07-25 16:09:24 +02:00
ganfra
e35bb73a86 Rework some MatrixRoom api and fix rust 'destroyed' crash 2023-07-25 12:06:36 +02:00
ganfra
a3bcb2c4ca Room: avoid calling displayName/avatarData on each recomposition 2023-07-21 15:19:19 +02:00
Benoit Marty
2928073e22 Enable detekt rules UnusedImports and cleanup the code. 2023-07-20 18:00:23 +02:00
renovate[bot]
156bf08b7a
Update dependency app.cash.molecule:molecule-runtime to v1 (#925)
* Update dependency app.cash.molecule:molecule-runtime to v1

* Replace `RecompositionClock` with `RecompositionMode`

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Jorge Martín <jorgem@element.io>
2023-07-20 07:36:19 +02:00
Benoit Marty
5792fdad04 Show Sync status when state is Terminated. 2023-07-19 14:57:10 +02:00
Benoit Marty
3c9ecec563 Make SyncState values match SyncServiceState values. 2023-07-19 14:44:53 +02:00
Benoit Marty
b55b4d551d Implement SyncState chip. (#909) 2023-07-19 12:30:34 +02:00
ganfra
9741b3df64
Merge pull request #906 from vector-im/feature/fga/update-rust-sdk-0.1.34
Feature/fga/update rust sdk 0.1.34
2023-07-18 22:52:48 +02:00
Marco Romano
e7cab7ac1d
Make the functions in SystemUtils extensions (#899)
- They are now all extensions over `Context` or `Activity` (when `Context` is not enough) (some of them already were).
- Allows for IDE completion.
2023-07-18 13:11:11 +00:00
ganfra
7cefff8610 Merge branch 'develop' into feature/fga/update-rust-sdk-0.1.32 2023-07-18 10:12:19 +02:00
ganfra
207a20b67c RoomFlowNode: use newRoot instead of safeRoot as in this case it can create a race condition where we end up not switching node 2023-07-17 23:27:18 +02:00
ganfra
9b96bd427c Update rust sdk : start branching new SyncService (wip) 2023-07-17 22:26:21 +02:00
Benoit Marty
80cf8e758a
Merge branch 'develop' into fix/jme/880-sliding-sync-loop-expires-and-restarts 2023-07-17 22:18:59 +02:00
ganfra
07ab919367 MatrixClientHolders: some more cleanup 2023-07-17 21:32:07 +02:00
ganfra
2b679710d2 Rework a bit MatrixClientHolder and reintroduce cacheIndex... 2023-07-17 18:34:50 +02:00
Jorge Martin Espinosa
2488432805
Hide encryption history + FTUE flow (#839)
* First attempt at implementing encrypted history banner and removing old UTDs

* Get the right behavior in the timeline

* Implement the designs

* Extract post-processing logic, add tests

* Add encryption banner to timeline screenshots

* Create FTUE feature to handle welcome screen and analytics

* Move classes to their own packages, add tests for `DefaultFtueState`.

* Remove unnecessary private MutableStateFlow

* Move some FTUE related methods and classes back to the `impl` module

* Handle back press at each FTUE step

* Remove unneeded `TestScope` receiver for `createState` in tests.

* Use light & dark previews for the banner view.

* Move color customization from `TextStyle` to `Text` component.

* Rename `InfoList` design components, use them in `AnalyticsOptInView` too.

* Cleanup MatrixClient.

* Fix copy&paste error

Co-authored-by: Benoit Marty <benoit@matrix.org>

* Fix typo

* Fix Maestro tests

---------

Co-authored-by: ElementBot <benoitm+elementbot@element.io>
Co-authored-by: Benoit Marty <benoit@matrix.org>
2023-07-17 18:34:36 +02:00
Jorge Martin Espinosa
9247cd765a
Fix: make sure we ignore notifications for open rooms (#867)
* Make sure we ignore notifications for open rooms
- Listen to process lifecycle changes in `AppForegroundStateService`. Use initializers to reliable create it.
- Merge `AppNavigationState` with `AppForegroundState`. Renamed the previous `AppNavigationState` to `NavigationState`, created a new `AppNavigationState` which contains both the navigation state and the foreground state.
2023-07-17 17:02:06 +02:00
Jorge Martín
e2549a8308 Try to centralise session restoration through MatrixClientsHolder 2023-07-17 15:05:13 +02:00
Jorge Martín
0632d01d86 Fix sliding sync loop restarts due to expirations
Both `NotifiableEventResolver` and `DefaultNotificationDrawerManager` were creating new Rust SDK Clients while processing notifications instead of reusing the already existing one.
2023-07-17 08:05:12 +02:00
Benoit Marty
d3a95afe86 Fix crash at first startup. Inject NotLoggedInImageLoaderFactory directly to NotLoggedInFlowNode 2023-07-12 15:32:00 +02:00
Benoit Marty
1627dbfd27 Improve logs. 2023-07-12 12:39:41 +02:00
Benoit Marty
47b684f724 Let RootFlowNode manage MatrixClientsHolder save and restoration. 2023-07-12 12:25:04 +02:00
Benoit Marty
5622517dff Fix image not loading after a clear cache. 2023-07-12 12:05:31 +02:00
Benoit Marty
bb1991fe4a More log about Node lifecycle. Will help to track user navigation. 2023-07-12 12:01:54 +02:00
Benoit Marty
2844dee6d2 Remove fontSize parameter. Must use style only. 2023-07-10 17:33:42 +02:00
ganfra
42dea3ed65
Merge pull request #816 from vector-im/feature/fga/fix_loading_room_node_padding
LoadingRoomNode : fix windowInsets...
2023-07-10 15:49:51 +02:00
ganfra
d330180f5d RoomNodeView: remove contentWindowInsets=systemBars as it's default one 2023-07-10 15:33:32 +02:00
ganfra
12a22c5423 LoadingRoomNodeView: ConsumeWindowInsets... 2023-07-10 15:13:32 +02:00