Commit Graph

4939 Commits

Author SHA1 Message Date
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
Benoit Marty 158e779bdb Ensure that room with long names renders correctly in the room list. 2026-01-15 17:07:25 +01:00
ganfra 57b89d241f Add proper localization for space room removal UI 2026-01-15 12:14:08 +01:00
Benoit Marty 6190980097 Signin with Element Classic WIP 2026-01-15 11:58:28 +01:00
ganfra bb082191e4 Merge branch 'develop' into feature/fga/space_manage_rooms 2026-01-14 17:54:43 +01:00
ganfra df3fe6d6d6 Fix wrong param order for removeChildFromSpace 2026-01-14 15:27:06 +01:00
ElementBot aa4125bdc0 Sync Strings from Localazy (#5994)
Co-authored-by: jmartinesp <480955+jmartinesp@users.noreply.github.com>
2026-01-14 11:43:57 +00:00
Jorge Martin Espinosa 3ef5e76e99 When a duplicate room list entry is found, report it and remove it (#6006)
* When a duplicate room list entry is found, report it and remove it

* Fix tests and fixtures

* Simplify how the updates are described in the Sentry reports
2026-01-14 10:56:45 +00:00
ganfra b7ff884838 Add manage mode to space view for removing child rooms, wip. 2026-01-13 22:08:48 +01:00
Jorge Martin Espinosa 6d1ed5967b Create spaces (#5982)
* Allow creating a space with `CreateRoomParameters`

* Add 'Create space' menu item in the spaces home screen. Also, imports new strings related to spaces.

* Link the 'Create space' button with the screen to create the space

* Unify room access and visibility for `ConfigureRoom`, use the updated design

* Fix `EditRoomDetails` avatar size (68dp)

* Replace `EditableAvatarView` and `UnsavedAvatar` copmonents with `AvatarPickerView`

* `AvatarDataFetcherFactory`: Make sure we use a fallback image fetcher when the URL is not an MXC one (a local one, i.e.). This removes the previous need for a separate `UnsavedAvatarView`

* Use `AvatarPickerView` in all the screens where `EditableAvatarView` was used

* Improve naming and previews

* Update strings, remove unused ones for `RoomAccessItem`

* Make `isSpace` part of the `CreateRoomConfig`

* Ensure the content fits in the screenshots for `AvatarPickerSizesPreview`

* Add `AvatarDataFetcherFactoryTest`

* Add new feature flag for creating spaces

* Fix ripple being too large for the `Pick` state

* Tweak margins and section titles a bit

* Add preview for `HomeTopBar` with the spaces case

* Update screenshots

---------

Co-authored-by: ElementBot <android@element.io>
2026-01-13 14:35:49 +01:00
Benoit Marty e311a719e1 [a11y] voice message improvements (#5980)
* A11Y: ensure a11y focus is not lost and reset to the back button when the user start playing a pending voice message.

* A11Y: ensure a11y focus is not lost and reset to the back button when the user use the keyboard to focus the send button and press the space bar to perform a click.

* Cleanup code. This if was not necessary.

* Small rework to prepare a bugfix. No behavior / UI change.

* Ensure that the keyboard focus and accessibility focus is not lost when deleting a pending voice message.

* Update screenshots

* Improve code readability.

* Update screenshots

---------

Co-authored-by: ElementBot <android@element.io>
2026-01-13 09:23:17 +01:00
Benoit Marty 1bd8fb4f36 Improve code readability. 2026-01-12 10:54:10 +01:00
ganfra 1614bd7a20 Merge pull request #5979 from element-hq/feature/fga/space_members_access
Change Room’s Access to/from Space members
2026-01-12 10:48:44 +01:00
Jorge Martin Espinosa 1f86a4d2c4 Remove previously used id filtering from RoomSyncSubscriber (#5985)
This is done in the SDK, doing it in the client was a source of issues.
2026-01-09 17:19:35 +01:00
Benoit Marty 3e4ca0dd53 Remove BigIcon loading state.
Loading is rendered in the buttons now.
2026-01-08 15:53:09 +01:00
ganfra 0668135d0e Merge branch 'develop' into feature/fga/space_members_access 2026-01-08 13:46:02 +01:00
Benoit Marty a76e10868e Ensure that the keyboard focus and accessibility focus is not lost when deleting a pending voice message. 2026-01-08 13:29:27 +01:00
Benoit Marty 9e5de144a2 Small rework to prepare a bugfix. No behavior / UI change. 2026-01-08 11:42:05 +01:00
Benoit Marty 553d5c7b28 Cleanup code. This if was not necessary. 2026-01-08 11:35:52 +01:00
Benoit Marty 61f68f02d1 A11Y: ensure a11y focus is not lost and reset to the back button when the user use the keyboard to focus the send button and press the space bar to perform a click. 2026-01-08 10:01:23 +01:00
renovate[bot] ff11d6e9c1 fix(deps): update dependency org.matrix.rustcomponents:sdk-android to v26 (#5977)
* fix(deps): update dependency org.matrix.rustcomponents:sdk-android to v26

* Fix API breaks: `ShieldStateCode` is now `TimelineEventShieldStateCode`

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Jorge Martín <jorgem@element.io>
2026-01-07 17:29:18 +00:00