Commit Graph

592 Commits

Author SHA1 Message Date
ganfra
abca950636 Room navigation : add a JoinedRoomFlowNode so we use RoomFlowNode for managing different routes 2024-04-04 20:36:16 +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
e296fe2877 Move Event exclusion to the module appconfig.
It has to become an android module to be able to add a dependency on : libraries:matrix:api.
2024-04-02 14:35:58 +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
5ee1b8f79b Merge pull request #2620 from element-hq/feature/fga/room_directory
Feature/fga/room directory
2024-03-29 16:54:27 +01:00
ganfra
5e4eed68b5 RoomDirectory : address pr reviews 2024-03-29 11:37:00 +01:00
Benoit Marty
9ff9b92035 Compact code. 2024-03-28 18:14:31 +01:00
Benoit Marty
2db04ecda8 Fix crash observed when going back to the room list.
Protect MatrixRoom access when the room is disposed.
2024-03-28 18:14:31 +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
0700384ef0 Room directory : implement simple join room 2024-03-26 12:32:15 +01:00
ganfra
967c1b1a02 Room directory : fix pagination and add empty state. 2024-03-25 18:21:03 +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 Martin Espinosa
1e0891bb68 Implement MSC2530 (#2570)
* Implement MSC2530
* Some layout improvements for images and videos with captions
* Update screenshots
* Replace `it` in several previews with `isMine`

---------

Signed-off-by: Marco Antonio Alvarez <surakin@gmail.com>
Co-authored-by: Marco Antonio Alvarez <surakin@gmail.com>
Co-authored-by: ElementBot <benoitm+elementbot@element.io>
2024-03-20 13:58:29 +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
Benoit Marty
a5940380c0 Merge pull request #2544 from element-hq/feature/bma/trackUtd
Track UTD errors.
2024-03-15 14:11:29 +01:00
Benoit Marty
55cbb99201 Improve UtdTracker test. 2024-03-15 12:33:54 +01:00
Benoit Marty
dce57a7234 Add unit test on UtdTracker 2024-03-15 12:29:38 +01:00
Benoit Marty
cf36ce3cec Improve crypto error content. 2024-03-15 09:41:43 +01:00
Benoit Marty
0702005468 Track UTD errors. 2024-03-14 17:03:50 +01:00
Jorge Martin Espinosa
a7093bae8b Add legacy call invite state events and notifications (#2552)
* Add state timeline events and notifications for legacy call invites

* Update screenshots

---------

Co-authored-by: ElementBot <benoitm+elementbot@element.io>
2024-03-14 16:29:06 +01:00
Jorge Martin Espinosa
1670909408 Improve room member list loading UX (#2543)
Improve room member list UX:

- Don't display the list in chunks anymore.
- Use an indeterminate linear progress indicator to display some loading is being done (either loading the cached list or the updated one).
- Try to make sure we don't display the members loaded from timeline items as the cached room list by mistake.
* Update screenshots
* Simplify member loading logic.

---------

Co-authored-by: ElementBot <benoitm+elementbot@element.io>
2024-03-14 08:05:44 +00: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
Jorge Martin Espinosa
2f4e266094 Fix crash when leaving room using LeaveRoomPresenter (#2498)
This happened because `roomInfoFlow` was shared eagerly and the `initial` part was called after the `Room` Rust object was destroyed.

I think there isn't a need for room info to be shared, it was a mistake I forgot to rollback.
2024-03-06 16:39:44 +00:00
Jorge Martin Espinosa
d8f9408cdb Room member moderation: kick, ban and unban (#2496)
* Room member moderation: kick, ban and unban

---------

Co-authored-by: ElementBot <benoitm+elementbot@element.io>
2024-03-06 16:44:05 +01:00
Jorge Martin Espinosa
6a75be7bf0 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
b64d7a267e Add extra params to bug reports (#2490)
* Add extra params to bug reports

- `local_time`: the time in the device's timezone.
- `utc_time`: the time in UTC.
- `sdk_sha`: the commit SHA that was used to build the Rust SDK
2024-03-05 17:21:47 +01:00
Timo Kösters
3386ee5178 Faster member list by avoiding many FFI calls (#2322)
* Faster member list by avoiding many FFI calls
2024-03-05 10:41:51 +01:00
renovate[bot]
209e89469b Update dependency org.matrix.rustcomponents:sdk-android to v0.2.6 (#2482)
* Update dependency org.matrix.rustcomponents:sdk-android to v0.2.6

* Update SDK changes

* Fix tests

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Jorge Martín <jorgem@element.io>
2024-03-04 17:01:31 +00:00
ganfra
26607761a1 RoomListFilters : use kotlin filtering as rust one is slower and has more chance to bust the room list cache. 2024-02-27 16:24:54 +01:00
Jorge Martin Espinosa
f0700f9904 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
Benoit Marty
9cace3c1de Log the fact that the application is using the global proxy. 2024-02-26 11:01:01 +01:00
Benoit Marty
a536ba583b Also log the filter value. 2024-02-26 10:21:13 +01:00
Benoit Marty
ec82072b4d Provide global proxy to the SDK 2024-02-23 11:49:35 +01:00
ganfra
0f563d712a Merge pull request #2422 from element-hq/feature/fga/room_list_filters
[Feature] Room list filters
2024-02-22 22:59:28 +01:00
Benoit Marty
4477328cf2 Merge pull request #2429 from element-hq/feature/bma/testRecoveryKey
Test recovery key
2024-02-22 17:37:11 +01:00
Benoit Marty
3d94310d02 Merge pull request #2432 from element-hq/renovate/org.matrix.rustcomponents-sdk-android-0.x
Update dependency org.matrix.rustcomponents:sdk-android to v0.2.4
2024-02-22 17:36:03 +01:00
Jorge Martín
1e6895ba80 Add null proxy parameter to RustAuthenticationService 2024-02-22 17:01:27 +01:00
Benoit Marty
236725dfb2 Merge try blocks. 2024-02-22 16:06:01 +01:00
Benoit Marty
d51430dfe4 Create extensions backupStateFlow() and recoveryStateFlow. 2024-02-22 12:37:44 +01:00
Benoit Marty
f29f46b9e9 Safer code, add some try catch blocks.
Filter out system alias before reading the keyStore entry.
use `size` instead of `count()`
Kotlin style.
2024-02-22 12:06:54 +01:00