Commit Graph

357 Commits

Author SHA1 Message Date
Benoit Marty
21ddeb00fe Format and cleanup files 2024-04-26 13:57:08 +02:00
Benoit Marty
a11bfb5d29 Merge branch 'develop' into feature/fga/permalink_timeline 2024-04-26 12:50:38 +02:00
Benoit Marty
f1a31e3b3c Ensure roomId are not rendered in the UI.
Add preview to see the effect.
Use RoomAvatar data fallback everywhere, to not use roomId (`!` char) for the avatar initial, but rather `#`.
2024-04-25 11:52:40 +02:00
ganfra
60192bd080 Timeline permalink : start updating tests 2024-04-24 21:33:20 +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
70d7b5a61f Implement Knock action (until the SDK level) 2024-04-19 18:11:13 +02:00
Benoit Marty
025c6294c2 Change API MatrixClient.joinRoom(roomId: RoomId): Result<RoomId> to MatrixClient.joinRoom(roomId: RoomId): Result<Unit> 2024-04-19 18:11:13 +02:00
ganfra
6808edda86 Merge develop into feature/fga/permalink_timeline 2024-04-18 15:40:17 +02:00
Benoit Marty
1ed3e0c365 Add test to JoinRoomPresenter to cover RoomPreview 2024-04-18 00:03:19 +02:00
Benoit Marty
2a256f4a7a Fix JoinRoomPresenterTest 2024-04-18 00:03:19 +02:00
Benoit Marty
579c90e2fb Add test on RoomAliasResolverPresenter 2024-04-18 00:03:18 +02:00
Benoit Marty
c0bd527486 Resolve RoomId in RoomFlowNode. 2024-04-18 00:03:15 +02:00
Benoit Marty
c1188ebb2d Alias permalink navigation - WIP 2024-04-18 00:03:14 +02:00
Benoit Marty
a602849ec5 Increase usage of RoomAlias 2024-04-18 00:02:22 +02:00
Benoit Marty
fe7dfcb09b Use RoomId and RoomAlias in MatrixRoomInfo 2024-04-18 00:02:10 +02:00
Benoit Marty
dca3d56aa7 Introduce value class RoomAlias 2024-04-18 00:02:09 +02:00
Benoit Marty
fb3d49cc2f Add MatrixClient.getRoomPreview method. 2024-04-18 00:00:36 +02:00
Benoit Marty
0550da3e3b Add MatrixClient.resolveRoomAlias method. 2024-04-18 00:00:36 +02:00
ganfra
bbb92bcc87 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
e4174f2792 Timeline : start reworking timeline apis 2024-04-17 21:32:02 +02:00
Benoit Marty
87298803c6 Observe ignoredUsersFlow to have live data about blocked user.
This will also ensure that blocking a user will work even if the user is not a member of the room (preparatory work for user permalink)
2024-04-17 13:21:52 +02:00
ganfra
b09269333d RoomList invites : update and remove tests 2024-04-16 15:45:57 +02:00
Benoit Marty
9b6ab9b484 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
ganfra
2c6620a199 Room list : activate merged invites in Client 2024-04-15 16:58:07 +02:00
Benoit Marty
4c7e66e928 Use SDK API to build room and event permalinks. 2024-04-15 16:05:12 +02:00
ganfra
1dcdc713a4 Merge pull request #2695 from element-hq/feature/fga/room_navigation
Room navigation
2024-04-15 12:55:29 +02:00
ganfra
8b80b2859f Room navigation : some clean up 2024-04-12 15:58:15 +02:00
ganfra
79c6385edb Room navigation : fix tests on invite after the refactoring 2024-04-11 16:50:09 +02:00
Benoit Marty
d082e666d5 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
3ffa168774 Add desktopApplicationName to BuildMeta. 2024-04-10 12:36:41 +02: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
Benoit Marty
b68ecbf0c4 Add suggestion of users when starting a Chat #2634 2024-04-08 13:53:55 +02:00
Benoit Marty
124426e44b Add functions trackRecentlyVisitedRoom and getRecentlyVisitedRooms 2024-04-08 11:40:41 +02:00
Benoit Marty
68ababa0be Merge pull request #2653 from element-hq/feature/bma/copyPermalink
Copy permalink
2024-04-03 17:38:38 +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
90a03cbd4c Add action to copy permalink #2650 2024-04-03 15:37:21 +02:00
Benoit Marty
67a9765bd3 Code quality and remove reference to DefaultMatrixToConverter.SUPPORTED_PATHS in MatrixToConverter 2024-04-02 15:51:59 +02:00
Benoit Marty
db3f17fd7d Move PermalinkBuilder, MatrixToConverter and PermalinkParser content to the impl project in order to remove projects.appconfig dependency from matrix.api module. 2024-04-02 14:15:54 +02:00
ganfra
5e4eed68b5 RoomDirectory : address pr reviews 2024-03-29 11:37:00 +01:00
ganfra
35b12f265f Room directory : add tests and cleanup 2024-03-28 17:03:34 +01:00
ganfra
33c3dc07aa Merge branch 'develop' into feature/fga/room_directory 2024-03-28 16:15:04 +01:00
Benoit Marty
99132f39a9 Fix analytics: spaceId have the same syntax as roomId. Use MatrixRoom.isSpace instead of MatrixPatterns.isSpaceId (#2612)
Also remoce useless orFalse() calls.
2024-03-28 12:13:49 +01:00
ganfra
425eadd98f RoomDirectory : continue improving interactions 2024-03-27 12:51:36 +01:00
ganfra
089fbe697a RoomDirectory : continue implementing the search 2024-03-25 11:17:19 +01:00
ganfra
21dfb46b1e Room Directory : start exposing the matrix apis 2024-03-21 19:14:05 +01:00
Jorge Martín
f2d240c66d Fix SDK integration 2024-03-20 09:36:35 +01:00
Benoit Marty
62799e1854 Merge pull request #2565 from element-hq/feature/bma/userDataCache
Read user avatar from cache
2024-03-18 17:33:26 +01:00
Jorge Martin Espinosa
058a79127c Remove unnecessary Room.updateMembers() calls. (#2564)
* Remove unnecessary `updateMembers` calls.

Some of them can be directly removed since we have a way to automatically get member info updates based on membership changes.

Others can be replaced by a simpler `getUpdatedMember` method. This might still need a full member sync, but it's quite unlikely.
2024-03-18 14:57:25 +00:00
Benoit Marty
1144d467e5 Use client.cachedAvatarUrl(), to be able to render the user avatar faster, and even if there is no network (#2488). 2024-03-18 15:02:54 +01:00
Jorge Martin Espinosa
d19b3fe091 Change a room's permissions power levels (#2525)
* Change a room's permissions power levels

* Make `currentPermissions` use a `MatrixRoomPowerLevels?` instance instead.

* Update strings

* Update screenshots

---------

Co-authored-by: ElementBot <benoitm+elementbot@element.io>
2024-03-12 15:45:06 +01:00