Commit graph

359 commits

Author SHA1 Message Date
Benoit Marty
a4c6e6c281 Add mapping on FocusEventException.
Extract FocusRequestState to its own file and add preview.
2024-04-26 16:40:09 +02:00
Benoit Marty
f4f5888d5b Move LiveTimelineProvider to the test module. 2024-04-26 14:47:01 +02:00
Benoit Marty
300d3e34b1 Format and cleanup files 2024-04-26 13:57:08 +02:00
Benoit Marty
2c8abbed0c Merge branch 'develop' into feature/fga/permalink_timeline 2024-04-26 12:50:38 +02:00
Benoit Marty
ce7bb11724 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
bf87b975fc Timeline permalink : start updating tests 2024-04-24 21:33:20 +02:00
Jorge Martin Espinosa
1de6797673
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
797c912ccd Implement Knock action (until the SDK level) 2024-04-19 18:11:13 +02:00
Benoit Marty
f29e79d64e Change API MatrixClient.joinRoom(roomId: RoomId): Result<RoomId> to MatrixClient.joinRoom(roomId: RoomId): Result<Unit> 2024-04-19 18:11:13 +02:00
ganfra
ff92551472 Merge develop into feature/fga/permalink_timeline 2024-04-18 15:40:17 +02:00
Benoit Marty
2eb545cd11 Add test to JoinRoomPresenter to cover RoomPreview 2024-04-18 00:03:19 +02:00
Benoit Marty
12b230594b Fix JoinRoomPresenterTest 2024-04-18 00:03:19 +02:00
Benoit Marty
6a125bbb1b Add test on RoomAliasResolverPresenter 2024-04-18 00:03:18 +02:00
Benoit Marty
235ef2a71b Resolve RoomId in RoomFlowNode. 2024-04-18 00:03:15 +02:00
Benoit Marty
ea3a1f363a Alias permalink navigation - WIP 2024-04-18 00:03:14 +02:00
Benoit Marty
8327ea306f Increase usage of RoomAlias 2024-04-18 00:02:22 +02:00
Benoit Marty
ecd1bf76e2 Use RoomId and RoomAlias in MatrixRoomInfo 2024-04-18 00:02:10 +02:00
Benoit Marty
bd12ff737b Introduce value class RoomAlias 2024-04-18 00:02:09 +02:00
Benoit Marty
68346dd782 Add MatrixClient.getRoomPreview method. 2024-04-18 00:00:36 +02:00
Benoit Marty
37fa6548c4 Add MatrixClient.resolveRoomAlias method. 2024-04-18 00:00:36 +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
83e7c13618 Timeline : start reworking timeline apis 2024-04-17 21:32:02 +02:00
Benoit Marty
f2ff326938 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
e72983f1b8 RoomList invites : update and remove tests 2024-04-16 15:45:57 +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
ganfra
9d87240f4c Room list : activate merged invites in Client 2024-04-15 16:58:07 +02:00
Benoit Marty
294f1f2d96 Use SDK API to build room and event permalinks. 2024-04-15 16:05:12 +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
ganfra
11979167c5 Room navigation : some clean up 2024-04-12 15:58:15 +02:00
ganfra
fbb92f0c9a Room navigation : fix tests on invite after the refactoring 2024-04-11 16:50:09 +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
Jorge Martin Espinosa
1045f99d18
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
1c66254e74 Add suggestion of users when starting a Chat #2634 2024-04-08 13:53:55 +02:00
Benoit Marty
649204238c Add functions trackRecentlyVisitedRoom and getRecentlyVisitedRooms 2024-04-08 11:40:41 +02:00
Benoit Marty
4a2703810b
Merge pull request #2653 from element-hq/feature/bma/copyPermalink
Copy permalink
2024-04-03 17:38:38 +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
bf068f4f25 Add action to copy permalink #2650 2024-04-03 15:37:21 +02:00
Benoit Marty
8e7fdc859c Code quality and remove reference to DefaultMatrixToConverter.SUPPORTED_PATHS in MatrixToConverter 2024-04-02 15:51:59 +02:00
Benoit Marty
1e5a61a49c 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
5f8b74055d RoomDirectory : address pr reviews 2024-03-29 11:37:00 +01:00
ganfra
3f1f764745 Room directory : add tests and cleanup 2024-03-28 17:03:34 +01:00
ganfra
37d645d153 Merge branch 'develop' into feature/fga/room_directory 2024-03-28 16:15:04 +01:00
Benoit Marty
46008c2887 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
b900818001 RoomDirectory : continue improving interactions 2024-03-27 12:51:36 +01:00
ganfra
4c5ae6ae4b RoomDirectory : continue implementing the search 2024-03-25 11:17:19 +01:00
ganfra
01e6b46323 Room Directory : start exposing the matrix apis 2024-03-21 19:14:05 +01:00
Jorge Martín
cc9c04b1a3 Fix SDK integration 2024-03-20 09:36:35 +01:00
Benoit Marty
fb64018110
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
883d834284
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