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