Commit graph

353 commits

Author SHA1 Message Date
ganfra
0261739fff Merge branch 'develop' into feature/bma/fixSendQueueCrash 2024-11-22 10:51:41 +01:00
ganfra
e76f7fb67e
Merge pull request #3887 from element-hq/feature/fga/close_room_leave_action
fix : use RoomMembershipObserver to close room screen when leaving
2024-11-22 09:52:42 +01:00
ganfra
aa1a1514aa fix : use RoomMembershipObserver to close room screen when leaving/declining invite/canceling knock request 2024-11-21 21:37:38 +01:00
ganfra
3cb8d4f54f fix : protect some more calls to client and rework the concerned apis 2024-11-21 19:53:42 +01:00
ElementBot
bc59a70043
Sync Strings - add translations to Finnish (#3883)
Co-authored-by: bmarty <3940906+bmarty@users.noreply.github.com>
2024-11-18 11:37:17 +00:00
Benoit Marty
f0aca004ba Change signature of getCurrentDistributor. 2024-11-15 15:18:28 +01:00
Benoit Marty
500659d4e1 Change signature of selectPushProvider and add missing unit test. 2024-11-15 15:13:24 +01:00
Jorge Martin Espinosa
2206e940bc
Fix verification failed issue, simplify verification logic (#3830)
* Simplify session verification:

- Reuse Rust `Client` instances created on the login process so we don't need to restore one right before the session verification.
- Remove unnecessary sources of verification state updates.
- Add an intermediate FTUE flow step which will display an indeterminate progress indicator instead of a blank screen.

* Remove unnecessary workaround: the SDK should already handle this

* Add regression tests for noop analytics service usage.

* Add `services.analytics.noop` module to the test dependencies

---------

Co-authored-by: Benoit Marty <benoit@matrix.org>
2024-11-08 16:42:27 +01:00
bmarty
0b609db1db Sync Strings from Localazy 2024-11-04 00:27:46 +00:00
Benoit Marty
1c020bcf26
Merge pull request #3750 from element-hq/feature/bma/cryptoIteration
UI iteration on the encryption settings
2024-10-30 11:11:35 +01:00
Benoit Marty
1e0c212459 Crypto: iterate on wording, UI and UX.
Change wording of setup recovery key banner and change target to root.
Iterate on wording of encryption screen.
Change button to Switch.
Iterate on wording to delete key storage.
Iterate on wording and icon on the root setting.
Remove confirmation dialog when disabling backup.
Add subtitle to change recovery key action.
Enable key storage directly, remove quite empty screen to setup the backup.
Disable recovery action if key backup is disabled.
2024-10-29 14:54:59 +01:00
Benoit Marty
b8b38208f4 Incoming session verification request
Add more log to the state machines
Ensure the block cannot be cancelled, else if the Rust SDK emit a new state during the API execution, the state machine may cancel the api call.
Let VerificationFlowState values match the SDK api for code clarity.
Rename sub interface for clarity.
Migrate tests to the new FakeVerificationService.
2024-10-29 09:26:15 +01:00
bmarty
b179518962 Sync Strings from Localazy 2024-10-21 00:27:20 +00:00
Jorge Martin Espinosa
366db4791b
Upgrade Kotlin to v2.0 (#3594)
* Bump Kotlin to v2.0

* Fix lots of issues due to the upgrade: lint issues, function signature incompatibilities, broken tests, etc.

---------

Co-authored-by: Benoit Marty <benoit@matrix.org>
2024-10-10 08:32:00 +00:00
ganfra
348c84b8b9 misc : rework getRoomInfoFlow (by using getRoomSummaryFlow) 2024-10-08 21:36:38 +02:00
Benoit Marty
f99081fd47 Remove dependencies to other presenters from RootPresenter 2024-10-07 17:45:16 +02:00
bmarty
e25ba65170 Sync Strings from Localazy 2024-10-07 00:28:33 +00:00
Jorge Martin Espinosa
79c17f714f
Use Anvil KSP instead of the Square KAPT one (#3564)
* Use Anvil KSP instead of the Square KAPT one

* Fix several configuration cache, lint and test issues

* Allow incremental kotlin compilation in the CI

* Workaround Robolectric + Compose issue that caused `AppNotIdleException`

* Update the `enterprise` commit hash

* Update screenshots

---------

Co-authored-by: ElementBot <android@element.io>
2024-10-02 11:52:17 +00:00
Jorge Martin Espinosa
eeec7cc785
Centralise the DI code generation logic (#3562)
* Create Anvil extension helper

* Use the helper everywhere
2024-09-30 12:20:28 +00:00
bmarty
86373ad1f7 Sync Strings from Localazy 2024-09-30 00:26:52 +00:00
bmarty
1768f24fd0 Sync Strings from Localazy 2024-09-23 00:23:49 +00:00
bmarty
4583ffeaf9 Sync Strings from Localazy 2024-09-17 11:05:35 +00:00
bmarty
bb0a281342 Sync Strings from Localazy 2024-09-16 18:40:24 +00:00
Jorge Martin Espinosa
663362ac7f
Add forced logout flow when the proxy is no longer available (#3458)
* Add `MatrixClient.isSlidingSyncProxySupported` function

* Update localazy strings

* Modify `ErrorDialog` to have an `onSubmit` call, which will be used for the submit action.

Also make the title text optional and dismissing the dialog by tapping outside/going back configurable.

* Check if a forced migration to SSS is needed because the proxy is no longer available.

In that case, display the non-dismissable dialog and force the user to log out after enabling SSS.

* Enable native/simplified sliding sync by default.

* Refactor the login to make sure we:

1. Always try native/simplified sliding sync login first, if available.
2. Then, if it wasn't available or failed with an sliding sync not supported error, try with the proxy instead (either discovered proxy or forced custom one).

* Move logic to `LoggedInPresenter` and the UI to `LoggedInView`

* Update screenshots

---------

Co-authored-by: ElementBot <benoitm+elementbot@element.io>
2024-09-16 09:13:02 +00:00
Jorge Martin Espinosa
67e262fdc8
Add banner for optional migration to simplified sliding sync (#3429)
* Add banner for optional migration to native sliding sync

- Add `MatrixClient.isNativeSlidingSyncSupported()` and `MatrixClient.isUsingNativeSlidingSync` to check whether the home server supports native sliding sync and we're already using it.
- Add `NativeSlidingSyncMigrationBanner` composable to the `RoomList` screen when the home server supports native sliding sync but the current session is not using it.
- Add an extra logout successful action to the logout flow, create `EnableNativeSlidingSyncUseCase` so it can be used there.

* Update screenshots

* Make sure the sliding sync migration banner has lower priority than the encryption setup ones

---------

Co-authored-by: ElementBot <benoitm+elementbot@element.io>
2024-09-09 18:13:19 +02:00
Benoit Marty
f61df38e55 Migrate license to AGPL.
Run script `uv run license-editor --repository ../element-x-android`
2024-09-06 17:19:19 +02:00
ganfra
d3420da599 Pinned messages list : improve and fix code after PR review. 2024-09-05 17:40:50 +02:00
ganfra
c30398ccc7 Pinned messages: clean code 2024-09-04 14:27:18 +02:00
ganfra
12e7e05551
Merge branch 'develop' into feature/fga/pinned_messages_list 2024-09-04 14:11:53 +02:00
ganfra
e840581247 Pinned messages list : navigation from room details 2024-09-03 09:41:30 +02:00
ganfra
90beb0a7f1 Pinned events : better navigation from ViewInTimeline or permalink 2024-08-30 18:28:45 +02:00
Benoit Marty
ad8e8305eb Add banner entry point to set up recovery 2024-08-29 18:34:55 +02:00
Jorge Martín
5239e5ce81 Fix lint issues 2024-08-13 08:55:06 +02:00
Jorge Martín
ee7a31cace Extract OIDC to its own module 2024-08-13 08:55:05 +02:00
Benoit Marty
5bda29ca7e
Rework FakeMatrixRoom so that it contains only lambdas. (#3229)
* Upgrade lint to 8.7.0-alpha01

* FakeMatrixRoom: lambda everywhere

Fix test compilation issues
2024-07-22 10:39:48 +02:00
renovate[bot]
05e56e1ebc
Update dependency org.matrix.rustcomponents:sdk-android to v0.2.33 (#3220)
* Update dependency org.matrix.rustcomponents:sdk-android to v0.2.33

* Fix API breaks

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Jorge Martín <jorgem@element.io>
2024-07-19 13:33:27 +02:00
Benoit Marty
e48b958d52 When clearing cache, ensure that SessionPreferencesStore is removed from the cache.
Fixes blank screen after clear cache.
Also cleanup the codebase.
2024-07-08 16:48:40 +02:00
Jorge Martin Espinosa
b0cebf5ca0
Improve screenshot testing with ComposablePreviewScanner (#3125)
* Use ComposablePreviewScanner to rework how screenshot testing works
* Add test sharding
* Update screenshots
* Fixes for Element Gallery

---------

Co-authored-by: ElementBot <benoitm+elementbot@element.io>
Co-authored-by: Benoit Marty <benoit@matrix.org>
2024-07-03 13:05:06 +02:00
Benoit Marty
8cc5f35e0c Fix image not rendering after clearing cache. 2024-06-24 13:58:15 +02:00
ganfra
b874d3e38c
Merge branch 'develop' into feature/fga/sending_queue_iteration 2024-06-19 13:54:24 +02:00
ganfra
6e7e024a2d Sending queue : change a bit the logic to re-enable sending queue. 2024-06-19 12:56:04 +02:00
Benoit Marty
5420cd01ad Typo 2024-06-19 09:10:41 +02:00
Benoit Marty
874bf5b901 Ensure that process recreation also use the restoreMutex 2024-06-18 18:33:04 +02:00
Benoit Marty
d69a5ee1a1 Also fix same issue for analytics. 2024-06-18 11:08:25 +02:00
Benoit Marty
bc30aee359 Iterate on sessionVerificationService.sessionVerifiedStatus and fix tests. 2024-06-18 11:02:19 +02:00
Benoit Marty
d97db21d75 Rather use NoDistributorsAvailable, it has more chance to happen IRL. 2024-06-17 18:03:00 +02:00
Benoit Marty
892a6d5503 Add test about selecting the first provider with a distributor. 2024-06-17 17:54:55 +02:00
Benoit Marty
0908e9b9e4 Fix test issue. 2024-06-17 17:49:01 +02:00
Benoit Marty
e12f723ff7 Fix test compilation issue. 2024-06-17 17:38:10 +02:00
Benoit Marty
b4b407a69e Store the first provider even if no distributor is available, else error in troubleshoot test will not be accurate.
Also when registering for the first time, pick the fist available provider with at least one distributor.
2024-06-17 17:36:39 +02:00