Commit graph

224 commits

Author SHA1 Message Date
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
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
158e779bdb Ensure that room with long names renders correctly in the room list. 2026-01-15 17:07:25 +01: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
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
Jorge Martin Espinosa
ce85ed16f6
Use TextFieldState for room list search (#5975)
* Add new `FilledTextField` variant using `TextFieldState`

* Use `TextFieldState` for `RoomListSearchState.query` - it seems like this is the best practice for this kind of data

* Bonus: fix the clear button being misaligned
2026-01-07 17:24:01 +01:00
ElementBot
46f6e811d5
Sync Strings from Localazy (#5971)
Co-authored-by: bmarty <3940906+bmarty@users.noreply.github.com>
2026-01-05 13:57:09 +01:00
ganfra
0bc8b16079 Remove FeatureFlags.Space entirely 2025-12-22 17:46:45 +01:00
ElementBot
ad881c303a
Sync Strings from Localazy (#5904)
Co-authored-by: bmarty <3940906+bmarty@users.noreply.github.com>
2025-12-15 23:51:19 +01:00
Benoit Marty
e1361d8677
Merge pull request #5888 from element-hq/feature/bma/roomListIcons
RoomSummary: move the icon related to the last message state on start of the message.
2025-12-12 17:12:34 +01:00
Benoit Marty
6427332c84 Fix compilation issue. 2025-12-12 12:21:41 +01:00
Benoit Marty
82d38faa3d RoomSummary: move the icon related to the last message state on start of the message. 2025-12-11 13:52:30 +01:00
Benoit Marty
556af69399 Add accessibility to the "sending" picto. 2025-12-08 15:28:38 +01:00
ganfra
a23bdfb1d4
Merge pull request #5830 from element-hq/sync-localazy
Sync Strings
2025-12-02 20:58:45 +01:00
Benoit Marty
14b83d6a7e
Merge pull request #5824 from element-hq/feature/bma/roomListIndicators
Add room list indicators about last message
2025-12-02 17:42:46 +01:00
Benoit Marty
43de65a612 Rename LatestEvent.Regular to LatestEvent.Synced 2025-12-02 16:54:50 +01:00
Benoit Marty
011378aa76 Update API of RoomLatestEventFormatter. 2025-12-02 16:51:23 +01:00
Jorge Martin Espinosa
2e2d68ba83
Load JoinedRoom in home screen, pass it to the room flow (#5817)
* Load `JoinedRoom` in `HomeFlowNode.navigateToRoom`, then pass it to the next navigation nodes

* Add delayed loading indicator for cases when loading the room takes too long

* Avoid an extra FFI call in `RustRoomFactory`.

Use `RoomInfo.membership` instead.

Also use `computation` dispatcher, since it should reduce the delay when switching contexts.

* Remove the dispatcher usage when loading the room in `HomeFlowNode`, we immediately call a method that changes the dispatcher used

* Make sure only a single room is opened at a time
2025-12-02 15:22:55 +00:00
bmarty
32d56ea92d Sync Strings from Localazy 2025-12-01 00:23:54 +00:00
Jorge Martín
04feea5d25 Move analytic watchers to :services:analytics 2025-11-28 14:15:54 +01:00
Jorge Martín
daf7bea39e Add another performance check for cold start time until the cached room list is displayed 2025-11-28 14:15:54 +01:00
Benoit Marty
5624386f98 Add indicators in room list for sending event and errors. 2025-11-27 12:58:25 +01:00
ganfra
b04524e566 misc : use new_latest_event api (+ some renaming) 2025-11-26 10:58:16 +01:00
ElementBot
703496e059
Sync Strings from Localazy (#5782)
Co-authored-by: jmartinesp <480955+jmartinesp@users.noreply.github.com>
2025-11-20 15:25:19 +00:00
ElementBot
738f707ca7
Sync Strings from Localazy (#5747)
Co-authored-by: bmarty <3940906+bmarty@users.noreply.github.com>
2025-11-17 10:29:26 +01:00
Benoit Marty
eb31505dc7 Copyright: Add Element Creations Ltd. copyright 2025-11-10 11:05:05 +01:00
Benoit Marty
f86431e663 Copyright: Add final period 2025-11-10 10:13:41 +01:00
Benoit Marty
c4e0370f41 Copyright: run command uv run license-editor --repository ../element-x-android 2025-11-10 10:09:26 +01:00
Benoit Marty
8769b98862
Merge pull request #5698 from element-hq/feature/bma/handleEvent
Code consistency around view event handling
2025-11-10 09:36:04 +01:00
ElementBot
967f250e4b
Sync Strings from Localazy (#5704)
Co-authored-by: bmarty <3940906+bmarty@users.noreply.github.com>
2025-11-10 09:21:00 +01:00
Benoit Marty
7ad9c8f687 Rename handleEvents to handleEvent 2025-11-07 12:21:43 +01:00
ganfra
fe7bc4fd9d change(roles and permissions): clean code 2025-11-05 15:40:34 +01:00
ganfra
42b8dc33f2 change(roles and permissions): improve the flow 2025-11-05 14:42:34 +01:00
ganfra
499502b5af change(roles and permissions): import codefrom roomdetails module 2025-11-03 18:29:51 +01:00
ganfra
98670478ff change(roles and permissions): rename package changeroommemberrole to rolesandpermissions 2025-11-03 17:52:40 +01:00
Benoit Marty
07b6148035 Remove context(parentNode: Node) and provide the parent Node as a parameter. 2025-10-31 12:04:57 +01:00
Benoit Marty
f1822c5afd Fix typo in package name. 2025-10-30 18:47:20 +01:00
Benoit Marty
f174084942 Use context parameter for the parentNode 2025-10-30 16:32:53 +01:00
Benoit Marty
02dc71c4c3 Remove NodeBuilder to ensure that Params and Callback are always provided. 2025-10-30 16:32:52 +01:00
Benoit Marty
be03c50aaf Ensure a Callback and only one is provided in the Plugin. Also reduce boilerplate code in Nodes. 2025-10-30 16:32:51 +01:00
Benoit Marty
43972dba68 Rename fun in Callback for clarity. 2025-10-30 16:32:48 +01:00
Benoit Marty
eef0fbf4be Fix "Arrow is redundant when parameter list is empty"
And other issues that ktlint now reports
2025-10-30 14:33:25 +01:00
ElementBot
b1addb4521
Sync Strings from Localazy (#5610)
Co-authored-by: bmarty <3940906+bmarty@users.noreply.github.com>
2025-10-27 13:53:07 +01:00
ganfra
450aaf1ef3 Fix ktlint 2025-10-24 18:15:15 +02:00
ganfra
72fda96df1 design(space): let divider be full width
# Conflicts:
#	features/home/impl/src/main/kotlin/io/element/android/features/home/impl/spaces/HomeSpacesView.kt
2025-10-24 16:07:16 +02:00
Jorge Martin Espinosa
51bf99cfba
Clearing the room list search clears the search term too (#5603) 2025-10-24 09:30:10 +02:00
ganfra
b779ac0086 design(home) : better comment on padding 2025-10-23 18:00:33 +02:00
ganfra
318ad1edbd design(home) : clean up 2025-10-23 17:22:39 +02:00
ganfra
21c21259cb design(home) : allow scrolling to top when clicking on already selected tab 2025-10-23 17:00:40 +02:00
ganfra
dfb9bc5ab0 design(home) : use enterAlwaysScrollBehavior for the RoomListFiltersView 2025-10-23 16:41:43 +02:00