Commit graph

4982 commits

Author SHA1 Message Date
ganfra
7b2a83c1de
Merge pull request #6171 from element-hq/feature/fga/enable_spaces_ff
Enable space feature flags by default
2026-02-10 21:42:12 +01:00
ganfra
4ab5580533 Enable space feature flags by default 2026-02-10 16:33:10 +01:00
Benoit Marty
ba70938667 Fix issues detected by Paparazzi 2026-02-10 15:30:14 +01:00
Jorge Martin Espinosa
5b5224eb58
When a background SDK task fails, react in the client (#6166)
- For initialization issues or errors, we just print and report them.
- For panics (unrecoverable errors) we also crash the app.
2026-02-10 12:28:24 +01:00
ganfra
b271e06973
Merge pull request #6150 from element-hq/feature/fga/space_ui_tweaks
Iterate on Space related UI
2026-02-10 11:36:09 +01:00
Benoit Marty
68c9e688ad Use correct bg color. 2026-02-10 10:17:41 +01:00
ganfra
0dec3a1cb6 Merge branch 'develop' into feature/fga/space_ui_tweaks 2026-02-10 09:31:50 +01:00
Benoit Marty
20406ec0cf
QRCode login: treat not found error as expired error. (#6161)
Reorder some when cases.
2026-02-09 16:34:23 +01:00
ElementBot
7c95f824d5
Sync Strings from Localazy (#6155)
Co-authored-by: bmarty <3940906+bmarty@users.noreply.github.com>
2026-02-09 16:30:57 +01:00
Benoit Marty
0311fc9f01 QRCode login: treat not found error as expired error.
Reorder some when cases.
2026-02-09 15:14:18 +01:00
Skye Elliot
1e268b0709
Add history sharing badges to room details (#6132)
* feat: Add history sharing badges to room details view

* tests: Add snapshots for history sharing room details badges

* fix: Disable soft-wrapping in badges, use FlowRow

* tests: Add unit test for `RoomDetailsState` and history sharing badges.

* tests: Add `MatrixBadgeAtomNeutralWrappingPreview` to exceptions

* chore: Re-order `MatrixBadgeAtom` previews

* fix: Add `Immutable` annotation to `RoomHistoryVisibility`.

* fix: Correct translation for shared badge
2026-02-06 19:03:52 +00:00
renovate[bot]
4cb3b16914
Update dependency org.matrix.rustcomponents:sdk-android to v26.2.6 (#6144)
* Update dependency org.matrix.rustcomponents:sdk-android to v26.2.5

* Fix breaking API changes:
- Add temporary imlementation for `RustClientSessionDelegate.onBackgroundTaskErrorReport`, logging unrecoverable errors in background tasks of the SDK.
- Change `TimelineEventTypeFilter` to `TimelineEventFilter`.
- Support new `LatestEventValue.RemoteInvite`.

* Update the Rust SDK to `26.2.6`

* Fix API changes: `TimelineFocus.PinnedEvents` no longer takes any arguments

* Fix test fixtures: `NotificationItem` has a `rawEvent` field now

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Jorge Martín <jorgem@element.io>
2026-02-06 12:40:03 +00:00
ganfra
85f35cb051 Fix formatting 2026-02-06 12:03:17 +01:00
ganfra
53ed396ab5 Add border to SpaceAvatar 2026-02-06 12:03:09 +01:00
ganfra
657d8f3345 Use RoomPreviewAliasAtom in space and room headers 2026-02-06 10:55:02 +01:00
ganfra
ed72a56529 Introduce RoomPreviewAliasAtom with copy feature 2026-02-06 10:52:12 +01:00
ganfra
0118b47a38 Update SpaceRoom visibility related UI 2026-02-06 09:36:42 +01:00
ganfra
e2a13841c6 Sync required strings 2026-02-06 09:32:10 +01:00
ganfra
6327641469
Merge pull request #6136 from element-hq/feature/fga/space_room_list_filter
Add Space Filters feature for Room List
2026-02-05 16:14:16 +01:00
Jorge Martin Espinosa
13d5068b6d
Fix linkify helper index out of bounds with parenthesis (#6140)
When parenthesis were mismatched by having more opening parenthesis than closing ones, we could end up incorrectly making the URLSpan `end` value greater than the actual text length, causing an `IndexOutOfBoundsException`
2026-02-05 09:33:38 +01:00
Jorge Martin Espinosa
9ee40c4fca
When creating a DM, set room history visibility to invited (#6138) 2026-02-04 14:54:59 +00:00
ganfra
c7015c367c Add tests for SpaceFiltersPresenter and SpaceFiltersView and fix quality 2026-02-04 14:42:57 +01:00
Jorge Martin Espinosa
bd6bad963e
Remove JoinRule.Private from the codebase (#6129)
It shouldn't be in use, since it was never properly defined:

- The `Private` values coming from the SDK are considered to be `Invite` instead.
- Remove any existing `JoinRule.Private` usages in our code.
2026-02-03 19:27:22 +01:00
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