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