Commit graph

477 commits

Author SHA1 Message Date
bmarty
23c1112dcf Sync Strings from Localazy 2026-04-13 00:48:40 +00:00
Benoit Marty
dc4c1c265b
Merge pull request #6560 from element-hq/feature/bma/removeSpacesFF
Remove spaces features flags
2026-04-10 09:17:51 +02:00
Benoit Marty
64b0a7eef3 Remove FF CreateSpaces 2026-04-09 11:28:24 +02:00
Benoit Marty
ed2b43e0da Remove useless dependencies. 2026-04-08 17:45:01 +02:00
ElementBot
7179ca867c
Sync Strings (#6435)
* Sync Strings from Localazy

* Sync strings.

---------

Co-authored-by: bmarty <3940906+bmarty@users.noreply.github.com>
Co-authored-by: Benoit Marty <benoit@matrix.org>
2026-03-23 18:05:26 +00:00
bmarty
299d5a9394 Sync Strings from Localazy 2026-03-16 00:42:32 +00:00
ElementBot
73961b4940
Sync Strings (#6302)
Co-authored-by: bmarty <3940906+bmarty@users.noreply.github.com>
2026-03-09 10:38:07 +01:00
ElementBot
cf479a8df0
Sync Strings from Localazy (#6269)
Co-authored-by: bmarty <3940906+bmarty@users.noreply.github.com>
2026-03-02 14:54:50 +01:00
renovate[bot]
896d62a81e
Update metro to v0.11.0 (#6245)
* Update metro to v0.11.0

* Fix `@AssistedInject` usages

Now the injected variables in the factories must match the names in the constructors

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Jorge Martín <jorgem@element.io>
2026-02-25 16:19:47 +01:00
bmarty
25c723c35a Sync Strings from Localazy 2026-02-23 00:39:49 +00:00
ganfra
e93c73b761 Fix tests after ff enabled 2026-02-10 21:06:36 +01:00
ganfra
718ff0469c Fix quality 2026-02-10 10:07:27 +01:00
ganfra
0dec3a1cb6 Merge branch 'develop' into feature/fga/space_ui_tweaks 2026-02-10 09:31:50 +01:00
ganfra
04ae1b17b2 Updates again SelectParentSpaceOption ui 2026-02-09 20:42:52 +01:00
ganfra
df6433d6ea Fix create room in space configuration 2026-02-09 20:37:31 +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
ganfra
e4b9f97cba Update ConfigureRoomView space selection 2026-02-06 09:32:24 +01:00
ganfra
e2a13841c6 Sync required strings 2026-02-06 09:32:10 +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
bmarty
2fefc0691b Sync Strings from Localazy 2026-02-02 00:39:17 +00: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
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
3ab67a5e15
Sync Strings from Localazy (#6085)
Co-authored-by: bmarty <3940906+bmarty@users.noreply.github.com>
2026-01-26 12:06:38 +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
2c635c04a9
misc: Provide ConfigureRoomState.availableVisibilityOptions from the presenter (#6024)
It seems better to handle the filtering logic there than on the view.

Besides this, hide knocking for spaces even if the knocking feature is enabled. We don't want to have knocking in spaces yet.
2026-01-19 10:54:00 +01:00
bmarty
45ed8619dd Sync Strings from Localazy 2026-01-19 00:35:31 +00: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
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
ganfra
9cee5541f7
Merge pull request #5946 from element-hq/sync-localazy
Sync Strings
2025-12-23 12:01:53 +01:00
bmarty
96dc67162c Sync Strings from Localazy 2025-12-23 11:23:46 +01:00
renovate[bot]
00dcbf4a7f
fix(deps): update kotlin to 2.3.0 (#5917)
* fix(deps): update kotlin to 2.3.0

* Cleanup - remove `datetime` compat version

* Fix several lint issues caused by the Kotlin compiler inference working better (checks in nullables, vars, etc.)

* Fix tests by removing mock in `File.readBytes`, it seems like it's no longer allowed. Using a tmp file works well enough.

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Benoit Marty <benoit@matrix.org>
Co-authored-by: Jorge Martín <jorgem@element.io>
2025-12-22 14:28:15 +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
8a7e71b49e PermissionsEvents -> PermissionsEvent 2025-12-10 10:50:10 +01:00
bmarty
32d56ea92d Sync Strings from Localazy 2025-12-01 00:23:54 +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
7ad9c8f687 Rename handleEvents to handleEvent 2025-11-07 12:21:43 +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
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
263e761907 Remove @Inject, not necessary anymore when class is annotated with @ContributesBinding 2025-10-22 18:52:37 +02:00
Benoit Marty
c93561c513 Replace Uri by String in State that are used in Composable function. 2025-10-10 17:44:50 +02:00
Benoit Marty
fe51f65aff Fix instability of Uri 2025-10-09 18:22:19 +02:00
renovate[bot]
5b9ce7a210
Update metro to v0.6.7 (#5416)
* Update metro to v0.6.7

* Replace `@Inject` with `@AssistedInject` where needed

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Jorge Martín <jorgem@element.io>
2025-09-26 08:16:36 +00:00
Benoit Marty
4d7d0ac8d0 Avoid using AndroidJUnit4 runner to test Entrypoint implementations. 2025-09-16 14:38:32 +02:00