Commit graph

155 commits

Author SHA1 Message Date
Benoit Marty
25e5fde061 Fix compilation issue on minimal app. 2024-10-07 17:46:18 +02:00
Benoit Marty
1e91e8b356 Fix building the app using a local SDK.
Inject `AnalyticsService` instead of `UtdTracker` since `UtdTracker` requires access to `org.matrix.rustcomponents.sdk.UnableToDecryptDelegate`
2024-10-04 12:01:30 +02:00
Benoit Marty
b3af1f8b52 Fix compilation issue. 2024-09-19 20:32:22 +02:00
Benoit Marty
3f35bf7875 Fix compilation issue 2024-09-19 11:34:59 +02: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
Valere
bb50d3eb96 crypto: Add configuration flag to enable invisible crypto 2024-09-12 14:53:59 +02: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
76bc70afa0 Remove Wait list screen #3293 2024-09-09 14:06:53 +02:00
Benoit Marty
375ac25d8d Migrate license to AGPL - XML files. 2024-09-06 17:43:35 +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
Benoit Marty
faa2f8108c Remove the migration screen. #3292 2024-09-04 12:11:31 +02:00
Benoit Marty
8b65cf2f4b Introduce SessionPathsFactory. 2024-08-30 18:42:00 +02:00
Benoit Marty
c41cb33410 Provide distinct cache directory to the Rust SDK. 2024-08-30 18:36:20 +02:00
Benoit Marty
ad8e8305eb Add banner entry point to set up recovery 2024-08-29 18:34:55 +02:00
Jorge Martín
114b12cbc7 Fix build issues 2024-07-19 15:17:16 +02:00
Benoit Marty
85ceb0296c When user manually mark a room as read, also dismiss the notifications for this room. 2024-07-16 13:10:30 +02:00
Benoit Marty
6ea629a4d2 Rename interface NotificationDrawerManager to NotificationCleaner since it actually contains only method to remove notifications. 2024-07-16 11:24:41 +02:00
Jorge Martín
d68ddc6423 Fix build 2024-07-02 19:37:22 +02:00
Jorge Martin Espinosa
32a374d836
FFs can now be toggled in release builds too (#3101)
- Removed `StaticFeatureFlagProvider`.
- Always provide `PreferencesFeatureFlagProvider`.
- For the default values of feature flags, use a lambda with a `BuildMeta` parameter so we can customize the return value based on its data.
2024-07-02 16:06:42 +00:00
Benoit Marty
6c4e7ec85e
Merge pull request #3025 from element-hq/feature/bma/elementEnterprise
Element enterprise (EE) foundations
2024-07-01 17:08:40 +02:00
Jorge Martin Espinosa
4904c4b751
Bump Rust SDK version and adapt our code (#3068)
* Use the new SDK version
* Adapt the authentication service to the new Rust SDK APIs
* Remove `Timeline.enterSpecialMode(...)` as it's no longer necessary
2024-06-27 09:44:14 +00:00
Benoit Marty
a9fb4b95ce Add isEnterpriseBuild to BuildMeta 2024-06-26 11:59:45 +02:00
Jorge Martin Espinosa
b741c32e91
Add full screen intent permissions banner (#3024)
* Add full screen intent permissions banner, creating `:libraries:fullscreenintent` modules.
* Add it to notification settings too:
    - Create `libraries:fullscreenintent` modules for the permission presenter and associated data.
    - Add the presenter and states to `NotificationSettingsPresenter` and `NotificationSettingsView`.
* Use the right API to check for full screen intent permissions.
- Use the right package name for `:libraries:permission` contents.
* Fix broken tests (flaky?)
* Ignore coverage verification for fake and small presenters

---------

Co-authored-by: ElementBot <benoitm+elementbot@element.io>
2024-06-18 07:41:10 +00:00
ganfra
19e06d17c9 Fix sample compilation 2024-06-12 15:57:47 +02:00
Benoit Marty
3fa508f1fe Add Konsist test Class with 'ContributeBinding' annotation should have allowed prefix and fix exissting issues.
Also remove annotation `DefaultPreferences`, we only have one implementation.
2024-05-31 10:18:08 +02:00
Benoit Marty
45598a885e Rename some class from Impl to Default 2024-05-31 09:47:27 +02:00
Benoit Marty
37d9a9f5a9 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
22329b9678 Provide serverNames when available and fix issue around analytics 2024-05-14 15:58:10 +02:00
Benoit Marty
2c8abbed0c Merge branch 'develop' into feature/fga/permalink_timeline 2024-04-26 12:50:38 +02:00
Benoit Marty
25751efbbe Fix compilation of minimal. 2024-04-25 16:57:45 +02:00
ganfra
bffa2d717f Timeline : continue to fix more tests... 2024-04-25 12:41:34 +02:00
ganfra
0cda5b9e90
Merge pull request #2714 from element-hq/feature/fga/room_list_invites
[Feature] Room list invites
2024-04-17 23:04:31 +02:00
ganfra
e72983f1b8 RoomList invites : update and remove tests 2024-04-16 15:45:57 +02:00
ganfra
4dbcd072c0 Invite : remove invitelist entry points 2024-04-16 11:41:55 +02:00
Benoit Marty
3df328b1ab Parse permalink using parseMatrixEntityFrom.
Create new PermalinkData type for link to Events.
Keep matrixToConverter for now to first convert to matrix.to link. At some point it may be done by the SDK.
Remove parse(Uri)
2024-04-15 17:47:40 +02:00
Benoit Marty
7b14a0e4c8
Merge pull request #2704 from element-hq/feature/bma/encryptDbRelease
Encrypt new session data with a passphrase
2024-04-15 15:59:15 +02:00
ganfra
e19cd28879
Merge pull request #2695 from element-hq/feature/fga/room_navigation
Room navigation
2024-04-15 12:55:29 +02:00
Benoit Marty
3e52a4f3bd Encrypt new session data with a passphrase #2703 2024-04-15 11:02:16 +02:00
Benoit Marty
ffede8b13b Use productionApplicationName, set to "Element", instead of "Element X", and use ot for screen_onboarding_welcome_message 2024-04-10 16:45:14 +02:00
Benoit Marty
075510c425 Add desktopApplicationName to BuildMeta. 2024-04-10 12:36:41 +02:00
ganfra
f586114458 Room navigation : rename module invitelist to invite 2024-04-08 17:22:13 +02:00
Jorge Martin Espinosa
41287c5f59
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
ef7553a6f6 Fix compilation of minimal app. 2024-04-02 15:06:59 +02:00
ganfra
3f1f764745 Room directory : add tests and cleanup 2024-03-28 17:03:34 +01:00
Benoit Marty
9302b65053 Fix compilation of minimal. 2024-03-15 12:00:16 +01:00
ganfra
bf68261ed9 RoomList: refactor and fix tests 2024-03-12 15:38:33 +01:00
ganfra
bd87e99df1 RoomListFilters : use kotlin filtering as rust one is slower and has more chance to bust the room list cache. 2024-02-27 16:24:54 +01:00
Benoit Marty
ec007a2b21 Provide global proxy to the SDK 2024-02-23 11:49:35 +01:00
ganfra
57f99a9090
Merge pull request #2422 from element-hq/feature/fga/room_list_filters
[Feature] Room list filters
2024-02-22 22:59:28 +01:00
ganfra
f18e8030bf Merge develop into feature/fga/room_list_filters 2024-02-22 11:15:43 +01:00