Commit Graph

147 Commits

Author SHA1 Message Date
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
Benoit Marty
7ea2f28d96 More log about Node lifecycle. Will help to track user navigation. 2023-07-12 12:01:54 +02:00
Benoit Marty
5f3ba74f30 Remove fontSize parameter. Must use style only. 2023-07-10 17:33:42 +02:00
ganfra
28db48540c 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
5d1be53ff4 RoomNodeView: remove contentWindowInsets=systemBars as it's default one 2023-07-10 15:33:32 +02:00
ganfra
8af99fe280 LoadingRoomNodeView: ConsumeWindowInsets... 2023-07-10 15:13:32 +02:00
Jorge Martin Espinosa
9170c5eb71 Display room invitation notification (#735)
* Notifications: Add some extra mappings so we keep the original contents and can pass it later to an UI layer

* Fix notifications not appearing for a room if the app was on that room when it went to background.

* Modernize how we create spannable strings for notifications, remove unneeded dependency

* Remove actions from invite notifications temporarily

* Add `NotificationDrawerManager` interface to be able to clear membership notifications when accepting or rejecting a room invite

* Fix tests

* Add comment to clarify some weird behaviours

* Address review comments

* Set circle shape for `largeBitmap` in message notifications

* Fix no avatar in DM rooms

* Fix rebase issues

* Add invite list pending intent:

- Refactor pending intents.
- Make `DeepLinkData` a sealed interface.
- Fix and add tests.

* Rename `navigate__` functions to `attach__`

* Add an extra test case for the `InviteList` deep link

* Address most review comments.

* Fix rebase issue

* Add fallback notification type, allow dismissing invite notifications.

Fallback notifications have a different underlying type and can be dismissed at will.

* Fix tests
2023-07-10 14:34:58 +02:00
Jorge Martin Espinosa
10d5ada93d Remove extra syncService.startSync() call (#830) 2023-07-10 10:45:02 +02:00
ganfra
e94295bef8 LoadingRoomNode : fix windowInsets... 2023-07-07 14:16:52 +02:00
Benoit Marty
2347c815a7 Merge pull request #811 from vector-im/feature/bma/verificationSnackbar
Display the "verification success" Snackbar only when the state is `VerificationFlowState.Finished`.
2023-07-07 14:12:52 +02:00
ganfra
da27970116 Merge branch 'develop' into feature/fga/waiting_ss_room 2023-07-07 11:34:45 +02:00