Commit graph

89 commits

Author SHA1 Message Date
ganfra
982410ece8 fix : protect some more calls to client and rework the concerned apis 2024-11-21 19:53:42 +01:00
Benoit Marty
40e727f2e4 Change signature of selectPushProvider and add missing unit test. 2024-11-15 15:13:24 +01:00
Jorge Martin Espinosa
49e1cfed42 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
Jorge Martin Espinosa
e44b5ad98d 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
Benoit Marty
c709b8d76e Remove dependencies to other presenters from RootPresenter 2024-10-07 17:45:16 +02:00
Jorge Martin Espinosa
03786c1fd2 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
Benoit Marty
2b016227e9 Migrate license to AGPL.
Run script `uv run license-editor --repository ../element-x-android`
2024-09-06 17:19:19 +02:00
Jorge Martín
d5c2e5e436 Extract OIDC to its own module 2024-08-13 08:55:05 +02:00
Benoit Marty
94f38f1af5 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
ganfra
e93a41a5b5 Merge branch 'develop' into feature/fga/sending_queue_iteration 2024-06-19 13:54:24 +02:00
ganfra
f98441c74d Sending queue : change a bit the logic to re-enable sending queue. 2024-06-19 12:56:04 +02:00
Benoit Marty
ff51a90ee6 Typo 2024-06-19 09:10:41 +02:00
Benoit Marty
1bf27aad3e Also fix same issue for analytics. 2024-06-18 11:08:25 +02:00
Benoit Marty
e44de15f94 Iterate on sessionVerificationService.sessionVerifiedStatus and fix tests. 2024-06-18 11:02:19 +02:00
Benoit Marty
6ea0fc8d17 Add test about selecting the first provider with a distributor. 2024-06-17 17:54:55 +02:00
Benoit Marty
618c351f9f Fix test issue. 2024-06-17 17:49:01 +02:00
Benoit Marty
ff201c6412 Fix test compilation issue. 2024-06-17 17:38:10 +02:00
Benoit Marty
366d6c017d Add ability to not show the pusher registration again. 2024-06-17 11:38:32 +02:00
Benoit Marty
e6f6e82ce2 Render an error dialog in case registering a pusher fails. 2024-06-17 11:30:23 +02:00
Benoit Marty
f7b8e0c931 Add pusher status in the state.
It improve the tests and we may want to render errors in the View at some point.
2024-06-17 11:30:23 +02:00
Benoit Marty
3eaf780087 Add test on pusher registration 2024-06-17 11:30:22 +02:00
ganfra
a1aac5578c Sending queue : rename const for more clarity. 2024-06-13 13:03:04 +02:00
ganfra
05786cedc3 Fix formatting issues 2024-06-12 15:31:59 +02:00
ganfra
cd18e5a981 Sending queue : adjust to match the latest rust api 2024-06-12 15:15:04 +02:00
ganfra
71b6482094 Merge branch 'develop' into feature/fga/message_queuing 2024-06-11 17:08:47 +02:00
ganfra
bbd8e5d8dc Sending queue : code quality 2024-06-11 17:05:12 +02:00
ganfra
825599abaf Sending queue : rename fake and add tests 2024-06-11 16:50:53 +02:00
Benoit Marty
6781b5cee7 Add a flag to enable or disable incoming share 2024-06-06 12:34:05 +02:00
Benoit Marty
ebe7ab2d2b Fix test and add new tests. 2024-06-05 18:55:19 +02:00
Valere
d2915cb0c8 Test | Missing mocks in RootPresenterTest 2024-05-31 14:07:03 +02:00
Benoit Marty
cdf6f48112 Change Test class suffix. 2024-05-30 10:11:18 +02:00
Benoit Marty
87689d787e Lambda parameters in a composable function should be in present tense, not past tense.
https://mrmans0n.github.io/compose-rules/rules/#naming-parameters-properly
2024-05-29 12:18:23 +02:00
Benoit Marty
c71656df0c Rename class (code quality) 2024-05-23 14:42:06 +02:00
Benoit Marty
c7120ceca0 Use lambdaError() instead of throw NotImplementedError() 2024-05-23 09:33:41 +02:00
Valere
036c73c31b Use LaunchedEffect and improve test 2024-05-07 10:41:08 +02:00
Valere
94bbcbf503 Code review - more tests 2024-05-07 09:38:26 +02:00
Valere
c430699711 Add support for Verification state analytics 2024-05-06 19:06:54 +02:00
Benoit Marty
be6e0e394a Add tests on IntentResolver about external permalink. 2024-05-03 12:37:36 +02:00
Benoit Marty
66cfaf97c9 Open user profile and room with event from permalink 2024-05-02 12:25:21 +02:00
ganfra
9ffed34303 Timeline : continue to fix more tests... 2024-04-25 12:41:34 +02:00
Benoit Marty
0310b5df0f Move RoomAliasResolver classes to their own module. 2024-04-18 00:03:20 +02:00
Benoit Marty
579c90e2fb Add test on RoomAliasResolverPresenter 2024-04-18 00:03:18 +02:00
Benoit Marty
6a46555462 Handle permalink navigation - WIP
- prepare navigating to an Event
- add NodeBuilder to MessagesEntryPoint
2024-04-18 00:02:09 +02:00
ganfra
79c6385edb Room navigation : fix tests on invite after the refactoring 2024-04-11 16:50:09 +02:00
ganfra
d07df2319b Merge branch 'develop' into feature/fga/room_navigation 2024-04-10 16:55:55 +02:00
Benoit Marty
b68ecbf0c4 Add suggestion of users when starting a Chat #2634 2024-04-08 13:53:55 +02:00
ganfra
abca950636 Room navigation : add a JoinedRoomFlowNode so we use RoomFlowNode for managing different routes 2024-04-04 20:36:16 +02:00
Jorge Martin Espinosa
8b335a9125 Move session verification to FTUE flow, make it mandatory (#2594)
* Move session verification to the FTUE
* Allow session verification flow to be restarted
* Use `EncryptionService` to display session verification faster
* Remove session verification item from settings
* Remove session verification banner from room list
* Remove 'verification needed' variant from the `TimelineEncryptedHistoryBanner`
* Improve verification flow UI and UX
* Remove 'verification successful' snackbar message
* Only register push provider after the session has been verified
* Hide room list while the session hasn't been verified
* Prevent deep links from changing the navigation if the session isn't verified
* Update screenshots
* Renamed `FtueState` to `FtueService`, created an actual `FtueState`.

---------

Co-authored-by: ElementBot <benoitm+elementbot@element.io>
2024-04-03 14:53:17 +00:00
Benoit Marty
5ff74caed8 Create FakePushService. 2024-04-02 16:14:59 +02:00
Benoit Marty
8f3bb607da Use appName from BuildMeta in the crash detection dialog. 2024-02-07 16:33:48 +01:00