Commit Graph

148 Commits

Author SHA1 Message Date
ganfra
82a31d3ede Self verification : makes sure cancellation works properly 2024-09-09 10:30:35 +02: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
Benoit Marty
ec4f2dcfbf Properly skip the FTUE verification screen if verification is not needed. 2024-09-04 16:41:34 +02:00
bmarty
39ef8b38bb Sync Strings from Localazy 2024-09-02 00:15:17 +00:00
Benoit Marty
a645e9762f Show sign out button only at initial step. 2024-08-29 16:29:30 +02:00
Benoit Marty
20a8862b3f Add a way to sign out when the user is asked to verify the session. 2024-08-29 15:56:08 +02:00
Benoit Marty
1302d2d60d Sync English strings. 2024-08-29 09:51:28 +02:00
bmarty
1b064a008f Sync Strings from Localazy 2024-08-26 00:25:40 +00:00
bmarty
5765d9bf9f Sync Strings from Localazy 2024-08-19 00:25:36 +00:00
Jorge Martín
429853b957 Remove unused import 2024-08-13 08:55:07 +02:00
Jorge Martín
4f1adb1609 Fix vertical position for the primary button in VerifySelfSessionView 2024-08-13 08:55:06 +02:00
Jorge Martín
d5c2e5e436 Extract OIDC to its own module 2024-08-13 08:55:05 +02:00
Jorge Martín
e16057a366 Initial implementation of the reset identity feature 2024-08-13 08:55:05 +02:00
ElementBot
01617e1c9d Sync Strings (#3297)
Co-authored-by: bmarty <3940906+bmarty@users.noreply.github.com>
2024-08-12 06:03:23 +00:00
ElementBot
9bd014427b Sync Strings (#3267)
Co-authored-by: jmartinesp <480955+jmartinesp@users.noreply.github.com>
2024-08-05 07:11:27 +00:00
bmarty
d288ace4bd Sync Strings from Localazy 2024-07-29 00:26:27 +00:00
ElementBot
9522569860 Sync Strings (#3232)
Co-authored-by: bmarty <3940906+bmarty@users.noreply.github.com>
2024-07-22 08:59:47 +00:00
bmarty
3865709d98 Sync Strings from Localazy 2024-07-15 00:23:30 +00:00
jmartinesp
58f2cbf489 Sync Strings from Localazy 2024-07-03 11:21:27 +00:00
Jorge Martin Espinosa
950e502ca6 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
bmarty
99ae2b9640 Sync Strings from Localazy 2024-07-01 00:22:10 +00:00
ElementBot
072daa080a Sync Strings (#3077)
Co-authored-by: bmarty <3940906+bmarty@users.noreply.github.com>
2024-06-24 09:29:35 +02:00
Benoit Marty
83f279ec81 Use receiver. 2024-06-18 15:54:45 +02:00
Jorge Martin Espinosa
feef0f6976 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
bmarty
57510316ec Sync Strings from Localazy 2024-06-10 00:17:04 +00:00
Benoit Marty
cdf6f48112 Change Test class suffix. 2024-05-30 10:11:18 +02:00
Benoit Marty
0e4b30e58d Merge pull request #2941 from element-hq/sync-localazy
Sync Strings
2024-05-29 16:27:17 +02:00
bmarty
46b6ae6251 Sync Strings from Localazy 2024-05-29 12:44:57 +00: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
bbb44db297 Translations: pt -> pt-rBR 2024-05-27 14:51:32 +02:00
bmarty
52be64fe73 Sync Strings from Localazy 2024-05-27 00:17:53 +00:00
Jorge Martin Espinosa
0e05a0e4ed Session falsely displayed as 'verified' with no internet connection (#2884)
* Session falsely displayed as 'verified' with no internet connection
	- Remove the need to wait for `isReady` for `SessionVerificationService.canVerifySessionFlow` to fix this.
	- Rename `SessionVerificationService.canVerifySessionFlow` to `needsSessionVerification`.
	- Make `isReady` private.
2024-05-21 11:41:18 +00:00
bmarty
0241014932 Sync Strings from Localazy 2024-05-20 00:23:05 +00:00
bmarty
602b3988e4 Sync Strings from Localazy 2024-05-13 12:47:48 +00:00
Jorge Martin Espinosa
9aadec8435 Enforce mandatory session verification only for new logins (#2811)
* Enforce mandatory session verification only for new logins

- Creates `AppMigration` base interface as a way to isolate migration logic, app migrations must implement this interface.
- Creates `AppMigration01` with the existing logs removal migration and `AppMigration02` with the logic to allow existing sessions to skip verification.
- Add `DefaultSessionPreferencesStoreFactory.remove(sessionId)` to allow a ephemeral session store access to exist outside the `SessionScope` for this new migration.

* Fix tests

* Add more tests.

This also includes creating several abstractions.

* Review changes.

- Make `orderedMigrations` a class property, `migrations` just a constructor parameter to avoid incorrect usages.
- Create `lastMigration` property too, use it instead of `MIGRATION_VERSION`.
2024-05-07 14:06:34 +00:00
bmarty
d2eb0d9820 Sync Strings from Localazy 2024-05-06 00:19:35 +00:00
Benoit Marty
66cfaf97c9 Open user profile and room with event from permalink 2024-05-02 12:25:21 +02:00
Jorge Martin Espinosa
fe9b3f7cdb Always display 'lost recovery key?' option (#2745)
* Always display 'lost recovery key?' option

* Use `isLastDevice` it to display only 'enter recovery key' option for verification.

* Update strings. This should fix the wrong term 'passcode' being used in the recovery key screen title.

* Disable 'lost your recovery key?' button while the screen is in a loading state

* Update screenshots

---------

Co-authored-by: ElementBot <benoitm+elementbot@element.io>
2024-04-25 15:28:24 +02:00
Jorge Martin Espinosa
2cc124bda2 Remove SessionData.needsVerification as the source of truth for session verification status (#2748)
* Remove `SessionData.needsVerification` as the source of truth for session verification status.

- Use the Rust SDK `EncryptionService.verificationState()` instead, but always waiting for the first 'known' result (either verified or not, discarding 'unknown').
- Add a workaround in the super rare case when reading this value gets stuck somehow. We'll assume the user is not verified in that case.
- Make `DefaultFtueService.getNextStep` and dependent checks `suspend`.
- Make the `skip` button use a value in the session preferences instead.

* Log exception when the verification status can't be loaded

Co-authored-by: Benoit Marty <benoit@matrix.org>

* Fix review comments

---------

Co-authored-by: Benoit Marty <benoit@matrix.org>
2024-04-24 13:55:25 +00:00
Benoit Marty
4916baadd8 Sync strings. 2024-04-10 12:36:41 +02:00
Jorge Martin Espinosa
3436351619 Improve session recovery screens (#2657)
* Improve enter recovery key screen UI

* Add instructions to reset the encryption of the logged in account.

* Update screenshots

* Fix maestro flow

---------

Co-authored-by: ElementBot <benoitm+elementbot@element.io>
2024-04-09 17:01:06 +00:00
Jorge Martin Espinosa
c8b5458878 Add SessionData.needsVerification field (#2672)
* Add `SessionData.needsVerification`:
  - Allows us to add a skip button for debug builds.
  - We can have the verification state almost instantly.
  - It doesn't depend on network availability to know the verification state and display the UI.
* Add DB migration.
- Make the skip button in the verification flow skip the whole flow including the completed screen.
- Save the session as verified in `RustEncryptionService.recover(recoveryKey)`.
* Enforce session verification for existing users too.
* Fix verification confirmed screen subtitle (typo in id, was using the wrong string)
* Update screenshots

---------

Co-authored-by: ElementBot <benoitm+elementbot@element.io>
2024-04-09 17:28:12 +02:00
bmarty
70a85b5c2b Sync Strings from Localazy 2024-04-08 00:20:53 +00: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
bmarty
4d68f193a1 Sync Strings from Localazy 2024-03-25 00:18:59 +00:00
bmarty
0c0c36c393 Sync Strings from Localazy 2024-03-12 13:54:03 +00:00
ElementBot
af6ed820a8 Sync Strings (#2523)
Co-authored-by: bmarty <3940906+bmarty@users.noreply.github.com>
2024-03-11 08:46:07 +00:00
bmarty
a5aa446dce Sync Strings from Localazy 2024-02-29 13:48:26 +00:00
bmarty
7fd358166d Sync Strings from Localazy 2024-02-28 11:33:05 +00:00
bmarty
54ef435d9c Sync Strings from Localazy 2024-02-26 18:17:16 +00:00