Commit Graph

81 Commits

Author SHA1 Message Date
Benoit Marty b87bec6228 Account deactivation. 2024-09-17 16:51:11 +02:00
Benoit Marty 39348d2e7e Account Creation using a WebView 2024-09-16 12:24:47 +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
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 31d0621fa1 Merge pull request #3360 from element-hq/feature/bma/sessionVerificationBannerIsBack
Add banner entry point to set up recovery
2024-08-30 16:56:11 +02:00
Benoit Marty ad8e8305eb Add banner entry point to set up recovery 2024-08-29 18:34:55 +02:00
Benoit Marty f4beddef99 Add a way to sign out when the user is asked to verify the session. 2024-08-29 15:56:08 +02:00
Jorge Martín 8a1e333aa7 Fix most review comments 2024-08-14 16:53:50 +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
Jorge Martin Espinosa 30a1367714 Element Call ringing notifications (#2978)
- Add `ActiveCallManager` to handle incoming and ongoing calls.
- Add ringing call notifications with full screen intents and missed call ones as part of the 'conversation' notifications.

---------

Co-authored-by: ElementBot <benoitm+elementbot@element.io>
2024-06-10 11:51:19 +02:00
Benoit Marty aec579d757 Remove strings screen_qr_code_login_.* from the ftue module. 2024-06-04 09:42:00 +02:00
Jorge Martin Espinosa c8bd04ceb1 Sign in with QR code (#2793)
* Add QR code login.
* Add FF to disable it in release mode.
* Force portrait orientation on the login flow.
* Create `NumberedList` UI components.
* Improve camera permission dialog.
* Make nodes in qrcode feature use `QrCodeLoginScope` instead of `AppScope`
* Bump SDK version.
* Fix maestro tests

---------

Co-authored-by: Benoit Marty <benoit@matrix.org>
Co-authored-by: ElementBot <benoitm+elementbot@element.io>
2024-05-31 14:38:27 +02:00
Benoit Marty 0476bd95c8 Open user profile and room with event from permalink 2024-05-02 12:25:21 +02:00
Benoit Marty 2974156ee1 Move InviteSender to :library:matrixui module. 2024-04-18 15:00:49 +02:00
Benoit Marty 275733757d Use string from Localazy. 2024-04-18 00:04:27 +02:00
ganfra 26eaed5ea4 RoomList : invite row 2024-04-15 21:42:39 +02:00
ganfra 73f276ba8e Merge branch 'develop' into feature/fga/room_navigation 2024-04-10 16:55:55 +02:00
Jorge Martin Espinosa cf072fa1e1 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
ganfra 14a638626d Room navigation : import join room strings 2024-04-09 15:53:25 +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 cb435c523b Create dedicated module for notification troubleshoot. 2024-04-02 18:12:36 +02:00
Benoit Marty 09b2cbaaf5 Localize Troubleshoot notification feature. 2024-04-02 16:15:04 +02:00
ganfra 42004f251b Room directory : more cleanup and more tests 2024-03-28 18:10:29 +01:00
Benoit Marty 08f3faed02 Update config.json. 2024-03-13 09:58:37 +01:00
Benoit Marty 579837771b Add explicit includeRegex to avoid string duplication. Importing "screen_room_.*" was not filtering enough, and excludeRegex was not complete enough. 2024-03-12 16:21:09 +01:00
Jorge Martin Espinosa b9d902e3fe Room admins can change user roles (#2423)
Allow Admins to modify room member roles:

- Add a 'roles and permissions' option for each room.
- Allow promoting users to admins, adding or removing moderators, and demote yourself if you're and admin.

---------

Co-authored-by: ElementBot <benoitm+elementbot@element.io>
2024-03-05 16:46:47 +00:00
Jorge Martin Espinosa cdf89adcd2 Show blocked users list (#2437)
* Show blocked users list.

Also allow to unblock them from this list.

* Add non-blocking `AsyncIndicatorHost` component

* Use `StateFlow` for getting ignored users.

---------

Co-authored-by: ElementBot <benoitm+elementbot@element.io>
2024-02-26 15:24:22 +00:00
Jorge Martin Espinosa d06e5c23cb Move migration screen to within the room list (#2361)
* Rename migration bg drawable and add night variant
* Move `migration` package from `ftue` to `messages:impl` module
* Update `SunsetPage` with light and dark modes
* Fix bloom colors when nested theme is used
* Integrate the migration screen in the room list
* Fix `WaitListView` cancel button color
* Clear migration store when removing the app's cache

---------

Co-authored-by: ElementBot <benoitm+elementbot@element.io>
2024-02-08 10:01:08 +00:00
Jorge Martin Espinosa 27f55c0bc4 Replace 'leave room' text with 'leave conversation' for DMs (#2231)
* Replace 'leave room' text with 'leave conversation' for DMs

* Add `isDm` property to both `RoomSummary` and `RoomListRoomSummary`

* Remove redundant `leave_conversation_alert_subtitle_*` texts

* Fix maestro flow

---------

Co-authored-by: ElementBot <benoitm+elementbot@element.io>
2024-01-16 15:49:44 +01:00
Benoit Marty 8f286c8ce6 Merge branch 'develop' into julioromano/poll_history_entry_point 2023-12-14 17:34:49 +01:00
Jorge Martin Espinosa d27e9e5265 Add warning message to 'mentions and keywords only' notification option (#2028)
* Add warning message to 'mentions and keywords only'

 It should be displayed when it's not supported by the homeserver

* Only display disclaimer in the room notification settings if the room is encrypted

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

* Fix test and add another one

---------

Co-authored-by: ElementBot <benoitm+elementbot@element.io>
Co-authored-by: Benoit Marty <benoit@matrix.org>
2023-12-14 16:15:39 +00:00
ganfra 863d156e4d Merge branch 'develop' into julioromano/poll_history_entry_point 2023-12-13 17:22:55 +01:00
ganfra a2c5cdf483 Poll history : use localazy strings 2023-12-12 14:36:07 +01:00
ganfra 3efbf4747d StartDM : add tests 2023-11-30 18:05:26 +01:00
jonnyandrew 8fcec4a006 Allow polls to be edited (#1869)
Polls can be edited if they do not have any votes

---------

Co-authored-by: ElementBot <benoitm+elementbot@element.io>
2023-11-24 16:47:58 +00:00
Benoit Marty d380cff645 Simplify config for Localazy 2023-11-14 18:25:05 +01:00
Benoit Marty eb6252bed3 Timeline: render TimelineItemReadMarkerModel 2023-11-14 18:10:26 +01:00
Benoit Marty 2cb0060f96 Add a View to show the beginning of the timeline (parity with iOS) 2023-11-14 17:31:42 +01:00
Benoit Marty 4f146d7a1c Localazy: move report_content strings to the :features:messages:impl module. 2023-11-14 11:37:21 +01:00
Benoit Marty 2257652450 Localazy: move leave_room_alert_ strings to the :features:leaveroom:api module. 2023-11-14 11:26:40 +01:00
Benoit Marty c6d34e8599 Localazy: move settings_rageshake strings to the :features:rageshake:api module. 2023-11-14 11:16:57 +01:00
Benoit Marty 0adc3b1f1d Localazy: move screen_notification_settings_ strings to the :features:preferences:impl module.
Need to also import `screen_notification_settings_edit_failed_updating_default_mode` to the module `:features:roomdetails:impl`.
2023-11-14 11:12:35 +01:00
Benoit Marty 2ebe7d3365 Localazy: move emoji_picker_category_ strings to the :features:messages:impl module. 2023-11-14 10:53:30 +01:00
Benoit Marty d9f5fdccbc Localazy: move some strings to the :features:analytics:api module. 2023-11-14 10:48:02 +01:00
jonnyandrew 5080df3262 Add voice message 'hold to record' tooltip (#1710)
---------

Co-authored-by: ElementBot <benoitm+elementbot@element.io>
2023-11-02 14:29:05 +00:00
Benoit Marty b77089f1b6 Merge pull request #1662 from vector-im/feature/bma/secureBackupUi
Secure backup UI
2023-10-27 18:36:38 +02:00
Jorge Martin Espinosa 44de6adb86 Initial support for member suggestions (#1631)
* Initial support for member suggestion (search and UI)

* Add custom `BottomSheetScaffold` implementation to workaround several scrolling bugs

* Start searching as soon as `@` is typed, add UI following initial designs

* Extract suggestion processing code

* Extract component, add previews, fix tests

* Add tests

* Add exception from kover to the forked bottom sheet code

* Add a feature flag for mentions

- Extract composer & mention suggestions to their composable.
- Extract mentions suggestions processing to its own class.
- Add `MatrixRoom.canTriggerRoomNotification` function.
- Update strings and conditions for displaying the `@room` mention.

---------

Co-authored-by: ElementBot <benoitm+elementbot@element.io>
2023-10-27 10:26:40 +00:00
Benoit Marty 9807ebf649 Secure backup 2023-10-27 12:18:40 +02:00
ganfra 54cd62ab76 PIN: branch SignOut 2023-10-25 11:15:15 +02:00