Commit Graph

851 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
Jorge Martín
b933dd929c Only retrieve active users in RoomMemberListDataSource 2024-03-22 10:14:22 +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
Jorge Martin Espinosa
eabdb9ae4d Add isInDebug variable to simulate debug/release configs for tests (#2566)
* `isInDebug` as `ThreadLocal<Boolean>`

* Use a simple var for `isInDebug` and add a helper method to test release mode, when running the debug test.

* Add some more docs

---------

Co-authored-by: Benoit Marty <benoit@matrix.org>
2024-03-18 17:56:07 +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
Benjamin Bouvier
b2b3f2372f Disable trace logs for read receipts
Read receipts have been considered quite stable over the last few weeks, so
there's no need to keep the trace level for the associated logs for the time
being.
2024-03-08 15:11:46 +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