996 Commits

Author SHA1 Message Date
Letro Bot
022b236e0d updated icons 2026-04-14 12:16:39 +03:30
Jorge Martin Espinosa
b340e85f83 Add floating/sticky date badge in the timeline (#6496)
* Add floating date indicator while scrolling the timeline (#6433)

* Add `FeatureFlags.FloatingDateBadge`. This enables displaying the floating date badge in the timeline as you scroll.

* Don't display the floating badge if the timeline isn't reversed. Otherwise, this will affect talkback users and break the existing navigation

* Use `TimelineItem.formattedDate()` to get the date to display. Always try finding the closest one (usually it will be just the 1st one we try).

* Align designs with iOS. Also fix shadows in fade animation by adding some paddings.

* Update screenshots

---------

Co-authored-by: Gianluca Iavicoli <gianluca.iavicoli04@gmail.com>
Co-authored-by: ElementBot <android@element.io>
2026-04-01 10:45:57 +00:00
Jorge Martin Espinosa
ba81e44052 Fix content scrolling not working in the RTE (#6492)
Implement a `customDetectVerticalDragGestures` that matches the original `detectVerticalDragGestures` expect we conditionally consume the initial DOWN event in compose to decide whether we need to drag the bottom sheet or scroll inside the Android `EditText`
2026-04-01 11:06:28 +02:00
Jorge Martin Espinosa
dbd51ebc90 Try fixing location pin previews (#6495)
* Try fixing location pin previews

* Update screenshots

---------

Co-authored-by: ElementBot <android@element.io>
Co-authored-by: Benoit Marty <benoitm@element.io>
2026-03-31 14:57:37 +00:00
Benoit Marty
24f897917f Merge pull request #6459 from element-hq/feature/bma/iterateOnBadgeColors
Sync compound tokens https://github.com/element-hq/compound-design-tokens/releases/tag/v8.0.0
2026-03-25 14:28:15 +01:00
Benoit Marty
9069afed33 Merge pull request #6456 from element-hq/feature/bma/iterateOnSpaceHeader
Iterate on space header
2026-03-24 17:54:02 +01:00
Benoit Marty
36d8ea2234 Edit room detail: increase avatar size. #6458 2026-03-24 16:56:34 +01:00
Benoit Marty
7e0b95074d Add border for Neutral badge. 2026-03-24 16:39:37 +01:00
ganfra
d1a6363a57 Merge pull request #6342 from element-hq/feature/fga/live_location_sharing_setup
Setup live location sharing feature
2026-03-24 15:46:45 +01:00
Benoit Marty
c59300d6ff Add Figma link on MatrixBadgeAtom 2026-03-24 15:43:04 +01:00
Benoit Marty
637df0a228 Edit room/space detail: change avatar size to 64 and adapt edit icon ratio. See #6364 2026-03-24 12:53:31 +01:00
renovate[bot]
e8a2f97cf5 fix(deps): update dependency androidx.compose.material3:material3 to v1.5.0-alpha15 (#6306)
* fix(deps): update dependency androidx.compose.material3:material3 to v1.5.0-alpha15

* Fix deprecations

* Add bottom sheet workaround

* Fix new lint issues

* Fix and ignore broken tests

* Update screenshots

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Jorge Martín <jorgem@element.io>
Co-authored-by: ElementBot <android@element.io>
2026-03-24 11:24:07 +01:00
ganfra
02b3c61edc Fix quality! 2026-03-12 21:12:52 +01:00
ganfra
fb775833c7 Code cleanup 2026-03-12 12:35:46 +01:00
ganfra
fa9f0a93c0 Improve LocationPin rendering with caching mechanism 2026-03-09 20:54:02 +01:00
ganfra
d53db78856 Use android.graphic.canvas to create proper bitmap 2026-03-09 20:54:02 +01:00
ganfra
4704a6fc2a LocationPin : disable hardware rendering if needed 2026-03-09 20:54:02 +01:00
ganfra
3cce8caec4 Introduce LocationPinMarkers composable 2026-03-09 20:54:02 +01:00
ganfra
34aad88023 Remove PinIcon 2026-03-09 20:54:01 +01:00
ganfra
ba89201f37 Better LocationPinMarker 2026-03-09 20:54:01 +01:00
ganfra
904657e86f Introduce LocationPinMarker 2026-03-09 20:54:01 +01:00
ganfra
7472f889cf Allow picking duration for the live location share 2026-03-09 20:54:01 +01:00
Benoit Marty
217c3a2b08 Remove ComposerAlertLevel.Default (not in the design). 2026-03-02 13:56:08 +01:00
Benoit Marty
723cfc77ff Use gradient color in ComposerAlertMolecule. Fixes #6192 2026-03-02 13:03:47 +01:00
Benoit Marty
2e5304ba78 Fix compilation issue. 2026-03-02 12:44:58 +01:00
Benoit Marty
ab7325a2e7 Use stop icon from Compound. 2026-03-02 12:42:45 +01:00
Benoit Marty
afd7fc51c4 Create HorizontalFloatingToolbar wrapper in our components. 2026-02-25 15:51:20 +01:00
Benoit Marty
ed3a56cb90 Fix deprecation issue 2026-02-25 15:51:20 +01:00
Jorge Martin Espinosa
1b73a15953 Try to fix common issue with the top app bar (#6187)
The exception is:

> Size(720 x -83) is out of range. Each dimension must be between 0 and 16777215.

So forcing the height to at least 0 should fix it (although it might cause UI glitches?)
2026-02-16 09:42:41 +01:00
Jorge Martin Espinosa
0f170b671b Remove explicit dependency androix.compose.material (#6199)
* Remove explicit dependency for `androix.compose.material` for compose library modules

* Ensure `Button` uses the `material3.Icon` instead of the `material.Icon`

* Remove entry in `libs.versions.toml`
2026-02-13 15:19:31 +01:00
ganfra
ee0da6b15c 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
d351f7d471 Use correct bg color. 2026-02-10 10:17:41 +01:00
ganfra
91eeb7b773 Merge branch 'develop' into feature/fga/space_ui_tweaks 2026-02-10 09:31:50 +01:00
Skye Elliot
028ec221b0 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
ganfra
bbc11809b0 Fix formatting 2026-02-06 12:03:17 +01:00
ganfra
2dbfa4811f Add border to SpaceAvatar 2026-02-06 12:03:09 +01:00
ganfra
9080400ff0 Use RoomPreviewAliasAtom in space and room headers 2026-02-06 10:55:02 +01:00
ganfra
5775ac5c60 Introduce RoomPreviewAliasAtom with copy feature 2026-02-06 10:52:12 +01:00
ganfra
9641d3ef4f Add tests and clean code after RoomList Filter rework 2026-01-30 15:33:51 +01:00
ganfra
0824a3ab8b Refactor room list filtering to use Rust SDK 2026-01-29 22:08:12 +01:00
Jorge Martin Espinosa
0313fa56dd 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
ganfra
fa1b32f0ba Let SearchBar/SearchField use TextFieldState 2026-01-23 10:32:58 +01:00
ganfra
626479844f Quality improvements after PR review 2026-01-22 19:57:04 +01:00
ganfra
9fe7c50972 Implement Space "Add existing rooms" logic and ui 2026-01-21 17:33:30 +01:00
Jorge Martin Espinosa
03d14087e6 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
59c175ebe0 Remove BigIcon loading state.
Loading is rendered in the buttons now.
2026-01-08 15:53:09 +01:00
Jorge Martin Espinosa
d67aee23c3 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
Benoit Marty
b01135aeef Merge pull request #5963 from element-hq/feature/bma/variablePlayBackSpeed
Voice message: variable play back speed
2026-01-05 13:58:01 +01:00
Benoit Marty
5b6dfca5d3 Ensure that room / space avatar always have a contentDescription. 2026-01-02 16:23:15 +01:00
Benoit Marty
78ad8056a1 Cleanup 2026-01-02 16:07:45 +01:00