Commit Graph

157 Commits

Author SHA1 Message Date
ganfra
30f77eb9c5 Fix test compilation 2023-09-19 18:18:53 +02:00
ganfra
1a14a18a29 DI: rework how components are created and provided 2023-09-19 17:51:36 +02:00
Benoit Marty
e326e49e4c Use DayNightPreview 2023-09-19 11:49:12 +02:00
Marco Romano
b860bd30bd GRemove the @JvmField annotation whenever using WarmUpRule. 2023-09-13 15:19:26 +02:00
Benoit Marty
6864b65962 Add a way to configure tracing when the session does not exist yet. 2023-09-11 09:58:40 +02:00
Benoit Marty
88ef944154 Remove unused val. 2023-09-07 22:59:56 +02:00
ganfra
423c7d6444 Sync: use the new SyncIndicator api 2023-09-07 17:03:52 +02:00
jonnyandrew
301e49c3a3 Reduce test flakiness by warming up molecule tests (#1226) 2023-09-06 10:08:21 +00:00
Benoit Marty
a3adb7deaa 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 74a444966e.

* 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
ee3d3ae213 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
74a444966e 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
364c2cec86 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
eed1a30717 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
7838973d95 Add documentation to LoggedInAppScopeFlowNode. 2023-08-28 13:07:02 +02:00
Benoit Marty
56c637ce7d Merge branch 'develop' into feature/bma/settingUpAccount 2023-08-28 13:02:44 +02:00
Benoit Marty
04bab22f62 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
52853101d9 migrate object to data object (#1135) 2023-08-24 09:32:44 +02:00
ganfra
c15483828d 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
2a1a6bcdd9 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
226a3dbf28 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
d06f86f79d Merge pull request #967 from vector-im/feature/bma/detektConfig
Update detekt config.
2023-07-28 16:47:26 +02:00
ganfra
337d4d05d6 Sync: move sync lifecycle to onStart/onStop instead of onResume/onPause 2023-07-27 16:49:49 +02:00
Benoit Marty
6fff373613 Enable detekt rules OptionalUnit and fix existing issues. 2023-07-26 11:43:48 +02:00
Benoit Marty
1d3aa2cd05 Enable detekt rules CascadingCallWrapping and fix existing issues. 2023-07-26 11:07:25 +02:00
Benoit Marty
996574f2c6 Enable detekt rule PreviewPublic and fix existing issues. 2023-07-26 10:08:39 +02:00
ganfra
cfd43af45c Merge branch 'develop' into feature/fga/avoid_deadlocks 2023-07-25 16:09:24 +02:00
ganfra
daf23c5541 Rework some MatrixRoom api and fix rust 'destroyed' crash 2023-07-25 12:06:36 +02:00
ganfra
2f92203d85 Room: avoid calling displayName/avatarData on each recomposition 2023-07-21 15:19:19 +02:00
Benoit Marty
55538c2773 Enable detekt rules UnusedImports and cleanup the code. 2023-07-20 18:00:23 +02:00
renovate[bot]
6d3b816bf5 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
d5e6bbbe05 Show Sync status when state is Terminated. 2023-07-19 14:57:10 +02:00
Benoit Marty
c04fcfc352 Make SyncState values match SyncServiceState values. 2023-07-19 14:44:53 +02:00
Benoit Marty
1f243dcb54 Ensure uitest take preview from appnav module. 2023-07-19 14:41:41 +02:00
Benoit Marty
f8fd684710 Implement SyncState chip. (#909) 2023-07-19 12:30:34 +02:00
ganfra
c7d0bbc174 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
78773b68e7 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
1a9f0732e1 Merge branch 'develop' into feature/fga/update-rust-sdk-0.1.32 2023-07-18 10:12:19 +02:00
ganfra
ae3c0c7e32 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
c7406de5e2 Update rust sdk : start branching new SyncService (wip) 2023-07-17 22:26:21 +02:00
Benoit Marty
b15484933d Merge branch 'develop' into fix/jme/880-sliding-sync-loop-expires-and-restarts 2023-07-17 22:18:59 +02:00
ganfra
98131d3046 MatrixClientHolders: some more cleanup 2023-07-17 21:32:07 +02:00
ganfra
9846db6338 Rework a bit MatrixClientHolder and reintroduce cacheIndex... 2023-07-17 18:34:50 +02:00
Jorge Martin Espinosa
280b7e32e0 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
e61af2eb7d 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
ded1518f0b Try to centralise session restoration through MatrixClientsHolder 2023-07-17 15:05:13 +02:00
Jorge Martín
d69dea6608 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
8893a8bfdc Fix crash at first startup. Inject NotLoggedInImageLoaderFactory directly to NotLoggedInFlowNode 2023-07-12 15:32:00 +02:00
Benoit Marty
c0d2de26db Improve logs. 2023-07-12 12:39:41 +02:00
Benoit Marty
a9720e36c1 Let RootFlowNode manage MatrixClientsHolder save and restoration. 2023-07-12 12:25:04 +02:00
Benoit Marty
93c918ea2a Fix image not loading after a clear cache. 2023-07-12 12:05:31 +02:00