Commit Graph

1089 Commits

Author SHA1 Message Date
Benoit Marty 7ca5bcf74e Fix preview. 2023-07-18 10:12:56 +02:00
Benoit Marty 616d933fb6 Format file 2023-07-18 10:12:56 +02:00
Benoit Marty 5aa4cbdac7 Fix text color 2023-07-18 10:12:56 +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
Benoit Marty 80cf8e758a Merge branch 'develop' into fix/jme/880-sliding-sync-loop-expires-and-restarts 2023-07-17 22:18:59 +02:00
Benoit Marty 48277d095a Change return type (mostly for clarity) 2023-07-17 22:03:21 +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
Benoit Marty b42343fd3c Merge pull request #887 from vector-im/feature/bma/fixComposerState
Fix composer state
2023-07-17 17:58:53 +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
Benoit Marty 6681f6f806 Remove StableCharSequence, it was useful when we were using the Epoxy library. 2023-07-17 16:47:54 +02:00
Marco Romano 004b86b05d MapLibre compose wrapper library (#877)
Heavily inspired from https://github.com/googlemaps/android-maps-compose It doesn't aim to be a full featured library like android-maps-compose, it's been stripped down to only handle our use cases.

Related to:
https://github.com/vector-im/element-meta/issues/1674
https://github.com/vector-im/element-meta/issues/1682
2023-07-17 16:22:29 +02:00
Benoit Marty abe7e952a3 Map ClientException. 2023-07-17 15:50:08 +02:00
Jorge Martín e2549a8308 Try to centralise session restoration through MatrixClientsHolder 2023-07-17 15:05:13 +02:00
Benoit Marty 6fd5ac6655 Merge pull request #859 from vector-im/feature/bma/transactionId
Create value class for transactionId
2023-07-17 11:28:42 +02:00
ElementBot e75438a8e3 Sync Strings (#882)
* Sync Strings from Localazy

* Update screenshots

---------

Co-authored-by: bmarty <bmarty@users.noreply.github.com>
2023-07-17 10:22:15 +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
Marco Romano a63d3df39c Extract MessageComposerContext class from MessageComposerPresenter (#876)
When sending "Composer" analytics from screens other than the composer's (e.g. send location from map) we need to know the composer's mode in order to properly fill the analytics event. `MessageComposerContext` hoists this state so that other presenters can also read it.

Related to:
https://github.com/vector-im/element-meta/issues/1674
https://github.com/vector-im/element-meta/issues/1682
2023-07-14 11:32:09 +00:00
Benoit Marty c919618bc0 Fix account provider change on nightly and release (#861)
* Use parallelMap (same code)

* Add proguard rules. Fixes #818

* Rename file proguard-rules.pro to consumer-rules.pro for coherency.

* Remove empty and non-referenced proguard files.
2023-07-13 14:46:57 +02:00
ganfra 732a4eb5fa Merge pull request #863 from vector-im/feature/fga/timeline_pagination
Feature/fga/timeline pagination
2023-07-13 11:58:10 +02:00
ganfra a6b3da3cd7 Merge pull request #856 from vector-im/feature/fga/update-rust-sdk-0.1.31
Feature/fga/update rust sdk 0.1.31
2023-07-13 09:42:46 +02:00
Jorge Martin Espinosa 494229d153 Set right timestamp for fallback notifications (#864) 2023-07-13 06:02:38 +00:00
ganfra a92fa391e5 Timeline: rename file 2023-07-12 22:50:14 +02:00
ganfra e334100b75 Timeline: split the initial item list in small chunks to post items asap 2023-07-12 22:44:42 +02:00
ganfra 9873588d2a Timeline: avoid pagination when timeline is not ready 2023-07-12 22:43:35 +02:00
Benoit Marty 6e2f645514 Create value class for transactionId. There is no validation on the format, but validation is a bonus for userId, roomId, etc.
The main advantage of using value classes instead of Strings everywhere is to detect errors at compilation time.
2023-07-12 18:15:17 +02:00
ganfra c8776f9806 Merge branch 'develop' into feature/fga/update-rust-sdk-0.1.31 2023-07-12 17:36:05 +02:00
Benoit Marty 86a2c340ee Ensure pending intent data are unique. 2023-07-12 17:28:53 +02:00
Benoit Marty 1e45235c64 Merge pull request #850 from vector-im/feature/bma/fixTests
Ensure CI run all the tests.
2023-07-12 16:59:37 +02:00
ganfra ed779abead Update rust sdk to 0.1.31: fix build 2023-07-12 16:50:40 +02:00
Benoit Marty 281d0dde56 Merge pull request #847 from vector-im/feature/bma/blockUserUx
Improve block/unblock user ux
2023-07-12 16:33:12 +02:00
ganfra 6622889b09 Update rust sdk to 0.1.31: new app service 2023-07-12 16:05:51 +02:00
ganfra 1472a29441 Update rust sdk to 0.1.31: new notification api 2023-07-12 16:05:36 +02:00
ganfra beb10cbfc4 Update rust sdk to 0.1.31: new uniqueId on timeline 2023-07-12 16:04:10 +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 c8912060fb Fix another warning. 2023-07-12 14:16:10 +02:00
Benoit Marty 92f5c96936 Use the param (bad copy paste) 2023-07-12 14:14:44 +02:00
Benoit Marty 67fd2ebba9 Fix warning (rename the base parameter name). 2023-07-12 14:11:26 +02:00
Benoit Marty 1627dbfd27 Improve logs. 2023-07-12 12:39:41 +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 e85de6b300 Rework DeeplinkParser to fix a test (and fix a bug in release mode).
The test was failing in release mode because there is not check on `RoomId` format, so INVITE_LIST value ("invites") is seen as a valid RoomId.
First check for known paths, then try to parse as RoomId. The tryOrNull will return null only in debug mode, so I think we can remove it.
Error was:
value of: getFromIntent(...)
expected: InviteList(sessionId=@alice:server.org)
but was : Room(sessionId=@alice:server.org, roomId=invites, threadId=null)
	at io.element.android.libraries.deeplink.DeeplinkParserTest.nominal cases(DeeplinkParserTest.kt:54)
2023-07-12 09:59:52 +02:00
Benoit Marty af520ddc00 Fix failing test. Code is now aligned with the comment. 2023-07-12 09:43:18 +02:00
ganfra 21f9093e78 Merge pull request #843 from vector-im/feature/fga/coroutine_dispatcher
Feature/fga/coroutine dispatcher
2023-07-11 20:42:01 +02:00
Benoit Marty d56c668663 Improve UX on Block/Unblock user action. Add loading and error case. And make the value (a bit more) live. 2023-07-11 17:48:31 +02:00
ganfra 4012317e40 Coroutine: introduce scoped dispatcher with limitedParalellism 2023-07-11 11:41:24 +02:00
ganfra d77ff60f03 Coroutine: remove diffUpdateDispatcher, not used anymore 2023-07-11 11:40:55 +02:00
Benoit Marty 253e8c1c2b Move TypographyAliases next to ColorAliases 2023-07-11 11:29:56 +02:00
Benoit Marty 53501a6483 Cleanup import. 2023-07-11 11:29:56 +02:00
Benoit Marty 31e0e3cdde Cleanup doc 2023-07-11 11:29:56 +02:00
Benoit Marty 88eaab0e44 Fix regression on some colors. Introduce a temporary color, since the color values are not in Compound. temporaryColorBgSpecial 2023-07-11 10:29:06 +02:00