Commit Graph

132 Commits

Author SHA1 Message Date
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 e35bb73a86 Rework some MatrixRoom api and fix rust 'destroyed' crash 2023-07-25 12:06:36 +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 2686e5d912 Ensure uitest take preview from appnav module. 2023-07-19 14:41:41 +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
Jorge Martin Espinosa a0c1f2c18a 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 4d8c929ad3 Remove extra syncService.startSync() call (#830) 2023-07-10 10:45:02 +02:00
ganfra 577eb7ae9f LoadingRoomNode : fix windowInsets... 2023-07-07 14:16:52 +02:00
Benoit Marty 8f4af0c16b 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 10c2859fac Merge branch 'develop' into feature/fga/waiting_ss_room 2023-07-07 11:34:45 +02:00
ganfra 7dd243cd70 Await room: add tests on LoadingRoomStateFlowFactory 2023-07-07 11:32:23 +02:00
Benoit Marty 9079825f81 Display the "verification success" Snackbar only when the state is VerificationFlowState.Finished.
Apply the same fix for `displayLeftRoomMessage`
2023-07-07 10:23:08 +02:00
ganfra a07808c314 Merge branch 'develop' into feature/fga/app_nav_node_fixes 2023-07-06 18:37:02 +02:00
ganfra 2e0da51ba9 Node: rework LoggedInFlowNode analytics pop 2023-07-06 18:12:45 +02:00
ganfra fc7bdafbcb Nodes: rework RootFlowNode with cache service 2023-07-06 18:08:29 +02:00
Benoit Marty 072b59e06b Use a val for the StateFlow, and expose a StateFlow. 2023-07-06 17:25:02 +02:00
ganfra e6f40bbfe8 Room: add network monitor in LoadingRoomView 2023-07-06 12:24:20 +02:00
ganfra d71a025f9d Room : rename the flows 2023-07-06 12:00:45 +02:00
Benoit Marty 9a7111cba1 Show the "You're in" screen 2023-07-06 11:48:06 +02:00
ganfra 43b4351732 Room : small refactoring 2023-07-05 16:10:47 +02:00
Marco Romano ca695ca077 Revert "Auto generate dark mode previews and screenshots (#776)" (#784)
This reverts commit fd467c2451.
2023-07-05 15:47:53 +02:00
Marco Romano fd467c2451 Auto generate dark mode previews and screenshots (#776)
With this change, composable previews and screenshots should be created with just:
```
@ElementPreviews
@Composable
fun MyViewPreview() {
    ElementPreview { 
        MyView()
    }
}
```

- Adds `@ElementPreviews` which is a shorthand for:
```
@Preview(name = "D")
@Preview(name = "N", uiMode = Configuration.UI_MODE_NIGHT_YES)
```
Should be used in connection with the now public `fun ElementPreview()` composable.

- Adds ElementPreviews to previewAnnotations in dangerfile
- Screenshots of night mode previews are now rendered with night mode
- Replaces `ElementPreviewLight` and `ElementThemedPreview` with `ElementPreview`
- Deprecates `ElementPreviewDark` which should be removed.
- Remaining usages of `ElementPreviewDark` are now ignored during screenshot tests
2023-07-05 13:58:24 +02:00
ganfra 27df1f2112 AwaitRoom : create loading state with placeholders 2023-07-05 12:42:01 +02:00
ganfra d59f59e9f6 Await room: first attempt to wait for a room to be ready 2023-07-04 18:19:06 +02:00
Benoit Marty d0cf400146 Add "Complete verification" item in the root setting screen. 2023-07-03 17:09:04 +02:00