Commit graph

1568 commits

Author SHA1 Message Date
Richard van der Hoff
e718ce2c77
Update icon shown for world_readable rooms (#6111)
* Update icon shown for world_readable rooms

Followup to #6090: having discussed this in the team, we want to show a
different icon (with different text) for rooms where the history_visibility is
`world_readable` rather than `shared`.

* delint

* Update screenshots

---------

Co-authored-by: ElementBot <android@element.io>
2026-02-02 17:32:46 +00:00
Benoit Marty
f4a9900a0d
Iterate on QrCode login error buttons (#6101)
* Iterate on login error: add a cancel button that fully close the flow.

tom

* Fix compilation warning: `Name contains character(s) that can cause problems on Windows: "`

* Update screenshots

---------

Co-authored-by: ElementBot <android@element.io>
2026-01-30 14:21:14 +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
Benoit Marty
24868f97d2
Merge pull request #6097 from element-hq/feature/bma/favoriteWording
Improve favorite wording and icon of room
2026-01-28 17:16:53 +01:00
ElementBot
583aa6161b Update screenshots 2026-01-28 15:39:09 +00:00
ElementBot
2c3ef4ac8c Update screenshots 2026-01-27 14:23:42 +00:00
Skye Elliot
03bd85b3fc
Remove "history may be shared" banner. (#6087)
* Revert "Add alert to encrypted rooms with visible history (Android). (#5709)"

This reverts commit 59f51d8627.

* fix: Restore identity state change preview and snapshot.
2026-01-27 14:15:41 +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
6a9d084a50
Add an empty state for the space screen if the user can modify its graph (#6064)
* Add an empty state for the space screen if the user can modify its graph. It adds a new 'create room' button that allows you to open the create room screen with some preset values.

* When computing the editable spaces in `ConfigureRoomPresenter`, also set up the initial selected parent space if possible

* Use `Builder` pattern for `CreateRoomEntryPoint`

* Update screenshots

---------

Co-authored-by: ElementBot <android@element.io>
2026-01-27 11:12:12 +01: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
ElementBot
d52cc97d10 Update screenshots 2026-01-23 11:31:45 +00:00
ElementBot
d55713dd8b Update screenshots 2026-01-22 13:34:15 +00: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
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
ElementBot
60755e5212 Update screenshots 2026-01-20 09:25:30 +00: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
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
ElementBot
d7c771f431 Update screenshots 2026-01-15 17:56:01 +00: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
ElementBot
2a3843bc36 Update screenshots 2026-01-12 10:36:41 +00: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
Benoit Marty
bd5857ae23 Fix konsist test. 2026-01-09 15:36:10 +01:00
ElementBot
5b95e8c480 Update screenshots 2026-01-09 13:57:10 +00:00
ElementBot
29f50d0b6e Update screenshots 2026-01-08 16:48:16 +00:00
ElementBot
96cf40023f Update screenshots 2026-01-08 15:49:32 +00:00
ElementBot
bf7afd535c Update screenshots 2026-01-08 13:49:53 +00:00
ElementBot
39d36b2eac Update screenshots 2026-01-08 12:44:36 +00:00
Benoit Marty
7186044482
Merge pull request #5963 from element-hq/feature/bma/variablePlayBackSpeed
Voice message: variable play back speed
2026-01-05 13:58:01 +01:00
ganfra
094b4c8c0f
Merge pull request #5960 from element-hq/feature/fga/fix_space_ff_disabled
Ensure space feature is enabled
2026-01-05 11:30:37 +01:00
Benoit Marty
233d22367f Cleanup 2026-01-02 16:07:45 +01:00
ElementBot
1be2cb1c64 Update screenshots 2025-12-31 10:43:57 +00:00
ElementBot
fed2b10bb4 Update screenshots 2025-12-30 09:39:13 +00:00
ganfra
76bc487f28
Merge pull request #5950 from element-hq/feature/fga/iterate_permissions_screen
Changes : iterate again on permissions
2025-12-22 18:41:38 +01:00
ElementBot
fe1cdb6df6 Update screenshots 2025-12-22 14:41:43 +00:00
ElementBot
cad746e3e2 Update screenshots 2025-12-22 10:29:46 +00:00
Benoit Marty
5551f4e039
Merge pull request #5942 from element-hq/feature/bma/roomHistoryVisibilitySettings
Simplify the copy of the history visibility settings
2025-12-20 17:02:24 +01:00
Benoit Marty
2a9765ad33
Upgrade robolectric to version 4.16 (#5923)
* Update dependency org.robolectric:robolectric to v4.16

* Fix file size formatter output on API 26+

* Use more realistic value for maxUploadSize

* Update screenshots

* Fix test issue: "java.security.KeyStoreException: AndroidKeyStore not found"

* Add exceptions.

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: ElementBot <android@element.io>
2025-12-19 15:37:38 +01:00
ElementBot
55f1c91e35 Update screenshots 2025-12-19 14:08:00 +00:00
renovate[bot]
07671dbd72
fix(deps): update dependency com.google.zxing:core to v3.5.4 (#5935)
* fix(deps): update dependency com.google.zxing:core to v3.5.4

* We are not targetting API 24+ so it should be fine to use the last version

* Update screenshots

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Benoit Marty <benoitm@element.io>
Co-authored-by: ElementBot <android@element.io>
2025-12-19 14:15:55 +01:00
Benoit Marty
ac7321f841 Add exceptions. 2025-12-19 09:44:58 +01:00
Benoit Marty
4aadbed0b1 Fix test issue: "java.security.KeyStoreException: AndroidKeyStore not found" 2025-12-19 09:27:11 +01:00
Benoit Marty
3ea10c2c62
Merge pull request #5909 from element-hq/feature/bma/qrCodeLogin
Link new device using QrCode - First version
2025-12-18 16:08:21 +01:00
ElementBot
c4eeb1bab2 Update screenshots 2025-12-18 11:18:55 +01:00
ElementBot
d247e72b76 Update screenshots 2025-12-17 14:21:11 +00:00
Benoit Marty
3784ad39b2 Fix how we compute screenshot files.
`AttachmentsPreviewViewPreview` was wrongly converted to `AttachmentsView` instead of `AttachmentsPreviewView`
2025-12-17 15:05:11 +01:00
ElementBot
eef74524cb Update screenshots 2025-12-17 11:26:22 +00:00
ElementBot
e8d7c0bf2d Update screenshots 2025-12-17 08:46:11 +00:00
ElementBot
7c475df1b3 Update screenshots 2025-12-16 21:09:45 +00:00