Commit graph

4959 commits

Author SHA1 Message Date
ganfra
212a8e3aa3 Add room list filter combining based on space selection 2026-02-02 21:46:33 +01:00
ganfra
b1488f42ca Add RoomListSpaceFilters FF 2026-02-02 21:02:55 +01:00
ganfra
a60d07eb2a Spaces : expose new SpaceServiceFilter 2026-02-02 21:02:55 +01:00
ganfra
bc9a46a821 Spaces : some cleanup on SpaceService 2026-02-02 21:02:54 +01:00
Benoit Marty
f8699fcf20
Merge pull request #6119 from element-hq/feature/bma/handleHttp429
Ensure http 429 are retried 3 times before failing.
2026-02-02 12:42:57 +01:00
Benoit Marty
4aa56abada
Merge pull request #6122 from element-hq/sync-localazy
Sync Strings
2026-02-02 12:24:28 +01:00
ganfra
440eacc892
Merge pull request #6117 from element-hq/feature/fga/room_list_filter_rust
Refactor room list filtering to use Rust SDK
2026-02-02 10:58:21 +01:00
Benoit Marty
53e48462a4
Update comment 2026-02-02 10:45:39 +01:00
ganfra
a3147b4a10 Remove unused withoutAccents extension function 2026-02-02 10:21:25 +01:00
bmarty
2fefc0691b Sync Strings from Localazy 2026-02-02 00:39:17 +00:00
Benoit Marty
b87c847855 Ensure http 429 are retried 3 times before failing. 2026-01-30 15:43:00 +01:00
ganfra
babaa7351f Add tests and clean code after RoomList Filter rework 2026-01-30 15:33:51 +01:00
Jorge Martin Espinosa
95b6356d0b
Add special flow for leaving a space as the last owner (#6112)
* When the user is in a v12 room, use different UI to select the last owner when leaving

- Add `LeaveSpaceRoom.areCreatorsPrivileged` to detect when this is happening.
- Import new strings.
- Build the new UI.
- Attach it to a change member roles screen navigation.

* Don't display the `isLastOwner` UI if the user is the only joined one in the room

* Rename `LeaveSpaceState.isLastOwner` to `.needsOwnerChange`. This way, it's easier to understand the difference with the passed `LeaveSpaceRoom.isLastOwner` value

* Add a test for the new check of user not being the last joined member

* Fix paddings in `LeaveSpaceView`

* Update screenshots

---------

Co-authored-by: ElementBot <android@element.io>
2026-01-30 09:10:00 +00:00
ganfra
5c3fc13052 Refactor room list filtering to use Rust SDK 2026-01-29 22:08:12 +01:00
ganfra
a85c566341 Clean up unused imports and improve code documentation 2026-01-27 18:43:38 +01:00
ganfra
e896c7604d Iterate on manage space rooms, but not happy with the reset method. 2026-01-27 18:43:38 +01:00
ganfra
ae4d635357 Add SpaceRoomList extension functions for pagination 2026-01-27 18:43:38 +01:00
ganfra
5f52b38de6 Add reset method to SpaceRoomList 2026-01-27 18:43:38 +01:00
renovate[bot]
bcd707d307
Update dependency org.matrix.rustcomponents:sdk-android to v26.1.27 (#6096)
* Update dependency org.matrix.rustcomponents:sdk-android to v26.1.27

* Fix breaking API changes: `LeaveSpaceRoom.isLastAdmin` is now `LeaveSpaceRoom.isLastOwner`.

* Rename `isLastAdmin` to `isLastOwner` in our codebase too.

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Jorge Martín <jorgem@element.io>
2026-01-27 15:02:55 +00:00
Richard van der Hoff
e884cbf76e
Show an icon in the room header for shared history (#6090)
Add a decoration to the header for encrypted rooms with `history_visibility:
{shared|public}`.

Fixes: #6070

---------

Co-authored-by: ElementBot <android@element.io>
Co-authored-by: Jorge Martín <jorgem@element.io>
2026-01-27 11:31:01 +00:00
Jorge Martin Espinosa
62768359cb
Create a new room in a space (#6061)
* Add `SpaceService.editableSpaces` and `SpaceService.addChildToSpace`

* Add `parentSpace` to `CreateRoomConfig`

* Allow setting a parent space to a room in `ConfigureRoomPresenter`, make sure the room is added to the parent space when creating it

* `ConfigureRoomPresenter`: Load the list of possible spaces a room can be added to

* Refactor `RoomVisibilityState` to internally use `JoinRuleItem`

This gets rid of `RoomAccess` and `RoomAccessItem`, and it will allow us to map the join rule items in a cleaner way to both join rules and the UI

* Implement the UI changes:

- Display the parent space.
- Allow selecting a new one.
- Import needed strings.

* Fix existing tests

* Add `@Immutable` annotation to `SpaceRoom`, since it was detected as unstable.

Maybe because of `RoomType`?

* Update screenshots

---------

Co-authored-by: ElementBot <android@element.io>
2026-01-26 18:23:02 +01:00
Benoit Marty
e8b14e62cf Sync all strings and fix compilation issue. 2026-01-26 14:13:06 +01:00
ElementBot
3ab67a5e15
Sync Strings from Localazy (#6085)
Co-authored-by: bmarty <3940906+bmarty@users.noreply.github.com>
2026-01-26 12:06:38 +01:00
ganfra
5d40c64a3b
Merge pull request #6074 from element-hq/feature/fga/fix_edit_details
Fix RoomDetailsEditView avatar picker for spaces
2026-01-23 15:55:37 +01:00
ganfra
e8ed268eb2 Fix AvatarPickerView touch target and disabled state
- Make edit button clickable for better touch accessibility
- Hide edit button and erase background when disabled
- Extract interactionSource to share between clickable areas
2026-01-23 12:11:51 +01:00
ganfra
766c6ef373
Merge pull request #6072 from element-hq/feature/fga/search_bar_text_field_state
Let SearchBar/SearchField use TextFieldState
2026-01-23 11:07:37 +01:00
ganfra
5b700f7b98 Let SearchBar/SearchField use TextFieldState 2026-01-23 10:32:58 +01:00
Jorge Martin Espinosa
57e0b74482
Use MediaPreviewValue.Private to check if media should be displayed in notifications (#6038)
* Use `MediaPreviewValue.Private` to check if images should be displayed in notifications

Also added `NotificationData.roomJoinRule` so we can use it to check if the room is public or not

* Add logging message for cases when we should have an image uri it turns out we don't
2026-01-23 09:01:52 +00:00
ganfra
c53dbf7b2d Quality improvements after PR review 2026-01-22 19:57:04 +01:00
ganfra
5c1b68b36d Fix quality 2026-01-22 10:46:01 +01:00
ganfra
e9a55ea79a Sync strings 2026-01-21 19:49:47 +01:00
ganfra
8e69174a11 Implement Space "Add existing rooms" logic and ui 2026-01-21 17:33:30 +01:00
ganfra
4d73f9fb43 Add addChildToSpace method to SpaceService 2026-01-21 17:33:30 +01:00
ganfra
d2bd1bb784
Merge pull request #6054 from element-hq/feature/fga/room_list_coroutine_scope
sdk : allow passing coroutineScope to RoomList
2026-01-21 17:21:29 +01:00
ganfra
9ae97048a0
Merge pull request #6043 from element-hq/renovate/metro
fix(deps): update metro to v0.10.0
2026-01-21 17:01:42 +01:00
ganfra
e6d8b07538 sdk : allow passing coroutineScope to RoomList 2026-01-21 16:48:22 +01:00
Jorge Martin Espinosa
a1b81046f0
Add empty state view for HomeSpacesView (#6047)
* Add empty state view for `HomeSpacesView`

This links to the create space flow, and has an 'explore public spaces', hidden for now.

* Make sure we display the empty view if the 'create spaces' FF is enabled

Also, remove the tab and navigate to the chats tab if the FF is disabled and the last space is left

* Update screenshots

---------

Co-authored-by: ElementBot <android@element.io>
2026-01-21 10:36:12 +01:00
ganfra
dd68db3fc1
Merge pull request #6045 from element-hq/feature/fga/invite_people_suggestions
Add suggestions section to InvitePeopleView
2026-01-20 13:45:42 +01:00
Benoit Marty
c901772145 Metro 0.10.0: Classes annotated with ContributesIntoSet do not need to be annotated with Inject. 2026-01-20 10:13:39 +01:00
ganfra
660265e8d8 Add suggestions section to InvitePeopleView 2026-01-20 10:09:49 +01:00
ElementBot
2c6e2c6c89
Sync Strings from Localazy (#6042)
Co-authored-by: bmarty <3940906+bmarty@users.noreply.github.com>
2026-01-20 10:04:53 +01:00
Benoit Marty
f7a9fe1c2b
Merge pull request #6033 from element-hq/sync-localazy
Sync Strings
2026-01-19 20:56:53 +01:00
Jorge Martin Espinosa
eb2254f895
Tweak the power levels when creating a space (#6012)
* Tweak the power levels when creating a space

* Also tweak the `invite` power levels for public access rooms
2026-01-19 10:54:33 +01:00
Jorge Martin Espinosa
2e353848f9
The relatedTo field in RoomSendQueueUpdate.MediaUpload is a transaction id (#6002)
It was being incorrectly mapped to an event id.
2026-01-19 10:39:48 +01:00
bmarty
45ed8619dd Sync Strings from Localazy 2026-01-19 00:35:31 +00:00
Richard van der Hoff
ad622b0ac2
Display a badge for messages decrypted using shared keys (#6023)
The EXA side of element-hq/element-meta#2877: if the keys for a message have been forwarded by another user, indicate that in the UI via the text shown when tapping the event shield.
2026-01-16 17:24:18 +00:00
Jorge Martin Espinosa
a464e29570
Create AppMigration09 to remove the cached well-known config from the SDK (#6026)
This value was most likely was incorrectly cached due to a previous issue in the SDK
2026-01-16 16:03:49 +01:00
ganfra
1070b55bb9
Merge pull request #6022 from element-hq/feature/fga/space_manage_rooms
Space : manage rooms
2026-01-16 11:54:29 +01:00
Benoit Marty
418ac4c7b7
Merge pull request #6019 from element-hq/feature/bma/fixCrashOnLongStrings
Ensure that room with long names are rendered correctly in the room list.
2026-01-15 18:13:58 +01:00
Benoit Marty
51a92eb20c Avoid creating a new constant for the same goal. 2026-01-15 17:07:53 +01:00