Commit graph

78 commits

Author SHA1 Message Date
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
ganfra
20c2ee9e3a Merge branch 'develop' into feature/fga/pin_create_ui 2023-10-19 22:26:21 +02:00
Jorge Martin Espinosa
46f78ef700
Integrate Element Call with widget API (#1581)
* Integrate Element Call with widget API.

- Add `appconfig` module and extract constants that can be overridden in forks there.
- Add an Element Call feature flag, disabled by default.
- Refactor the whole `ElementCallActivity`, move most logic out of it.
- Integrate with the Rust Widget Driver API (note the Rust SDK version used in this PR lacks some needed changes to make the calls actually work).
- Handle calls differently based on `CallType`.
- Add UI to create/join a call.

---------

Co-authored-by: ElementBot <benoitm+elementbot@element.io>
2023-10-19 15:38:43 +00:00
ganfra
7ebe6719da Pin create: use localazy strings 2023-10-19 16:28:20 +02:00