1
0
mirror of https://github.com/element-hq/element-x-android.git synced 2026-10-23 18:49:00 +03:00

1989 Commits

Author SHA1 Message Date
ElementBot
a94c67d9fe Update screenshots 2026-10-21 19:16:04 +00:00
ganfra
d39249e241 Merge pull request #7961 from element-hq/feature/fga/multi-account-user-status
Render user status of other accounts in settings
2026-10-20 13:53:57 +02:00
ElementBot
6e61a32f31 Update screenshots 2026-10-20 09:22:31 +00:00
Benoit Marty
b3c05db9a1 Merge pull request #7941 from element-hq/feature/bma/iterateNotificationSettings
Iterate on the Notification settings screen to match the design
2026-10-20 11:11:14 +02:00
Benoit Marty
ecfeba8fb9 Merge pull request #7952 from element-hq/feature/bma/duplicateSignIn
Iterate wording on duplicate sign in
2026-10-20 11:07:31 +02:00
ElementBot
592bb99ed7 Update screenshots 2026-10-16 14:31:51 +00:00
ElementBot
695411abc9 Update screenshots 2026-10-16 14:19:16 +00:00
ElementBot
6567cbc3bf Update screenshots 2026-10-15 15:39:36 +00:00
Benoit Marty
a3fa7aeedd Merge branch 'develop' into feature/bma/otherAccountUnreadCount
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-14 20:15:02 +02:00
ElementBot
c3f178985d Update screenshots 2026-10-14 16:00:19 +00:00
Benoit Marty
56623b8a7f Merge branch 'develop' into feature/bma/swipeAvatarAnnouncement
Account switching is now handled by RootFlowNode, through the onSwitchToAccount callback, instead
of HomeEvent.SwitchToAccount. To keep dismissing the swipe avatar announcement when the user
switches account by swiping their avatar, HomeView now also sends the new
HomeEvent.DismissSwipeAvatarAnnouncement.

Also opt in to ExperimentalCoroutinesApi in the HomePresenter tests using advanceTimeBy.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-14 17:39:24 +02:00
ElementBot
c62c1491bc Update screenshots 2026-10-14 14:32:50 +02:00
ElementBot
be98d04f40 Update screenshots 2026-10-14 10:26:25 +00:00
ElementBot
cff4562b79 Update screenshots 2026-10-13 18:15:31 +00:00
ElementBot
0dce4b9e49 Update screenshots 2026-10-13 10:11:22 +00:00
Benoit Marty
50aa723f63 Merge pull request #7899 from element-hq/feature/bma/multiAccountDeviceVerification
Show account information on the identity confirmation screen
2026-10-13 11:31:13 +02:00
ElementBot
9beef99760 Update screenshots 2026-10-12 09:07:31 +00:00
ElementBot
7ffb36fe4b Update screenshots 2026-10-12 08:13:03 +00:00
Benoit Marty
5d498ee37b Merge pull request #7883 from element-hq/feature/bma/roomSelectSearchField
Use a search field to filter the rooms in the room select screen
2026-10-09 15:09:50 +02:00
Jorge Martin Espinosa
d8a072755f Add edit and redaction send state support (#7840)
* Expose edit/redaction send states and retry/abort send from the Rust SDK

Pending edits and redactions have their own send queue entries, separate
from the original event. Surface them so the UI can reflect and act on them:

- Add `SendTarget` (Event, Edit, Redaction, Reaction) to the matrix API,
  with a mapper to the Rust SDK type.
- Add `editSendState` and `redactionSendState` to `EventTimelineItem` and
  map them from the SDK item.
- Add `Timeline.retrySend` / `Timeline.abortSend`, which take a `SendTarget`
  so the right queued request is retried or removed. Implement them in
  `RustTimeline` and in `FakeTimeline`.

* Track edit and redaction send states on timeline events

`TimelineItem.Event` now carries `editSendState` and `redactionSendState`
next to `localSendState`.

- `failedToSend` is true when any of the three states is failed, so a
  failed edit or redaction is shown like a failed message.
- `pendingSend()` returns the first pending state together with its
  `SendTarget`; the read receipt row, the send failure dialog and the
  timeline presenter use it instead of reading `localSendState` directly.
- `TimelineItemReadReceiptView` is restructured so the row is only
  rendered when there is something to show, and the send state takes
  precedence over read receipts.
- Update the previews provider and test fixtures for the new fields, and
  make `aMessageEvent`'s send state nullable.

* Retry and remove failed sends through the timeline

Retrying or removing a failed message used the event's `SendHandle`, which
only knows about the original send. Route both through the timeline with
the `SendTarget` of the pending request instead:

- `TimelineController` gains `retrySend` (which also re-enables the send
  queue) and `abortSend`, acting on the current timeline.
- `MessagesPresenter` retries via `retrySend`, and does nothing when the
  event has no pending send state.
- Redacting something that was never sent (no event ID) or a pending
  edit/redaction now aborts the queued request rather than sending a
  redaction, and no confirmation is asked for.
- Update the presenter tests accordingly.

* Log send queue errors

Log when the SDK reports a send queue error for a room, and when the
send queue is disabled, to help diagnose messages stuck in the queue.

* Make sure we display send queue errors before verification states

* Fix logic for displaying read receipts and add more screenshot tests

* Only use states with read receipts in `ReadReceiptBottomSheetStatePreviewParam`

* Handle `LocalEventSendState = null` state just like `LocalEventSendState.Sent`

* Add `TimelineItemAction.AbortSend` and use it for both:
  1. Aborting sending a message/edit/redaction from the 'sending failed' dialog.
  2. Abort sending a local message when selected from the timeline -> redact action.

* Update screenshots

---------

Co-authored-by: ElementBot <android@element.io>
2026-10-09 10:30:52 +02:00
ElementBot
2f7e2316e1 Update screenshots 2026-10-09 07:23:33 +00:00
mxandreas
13a5c5ce1d Merge remote-tracking branch 'origin/develop' into mxandreas/disable-public-rooms
# Conflicts:
#	enterprise
2026-10-09 09:58:27 +03:00
Jorge Martin Espinosa
1564de9b6e Iterate on unread counts again (#7869)
* Fix timestamp color to match the designs.

* Don't limit the call and unread row height to 16dp: the font size is not fixed and it might display components in a broken state

* Ensure the alignment works

* Remove `SemanticColors.unreadIndicator` and use `.iconAccentPrimary` and `.textActionAccent` instead

* Simplify and document `UnreadIndicatorAtom`

* Use `fontBodySmMedium` for the font size in the unread indicator

* Update screenshots

---------

Co-authored-by: ElementBot <android@element.io>
2026-10-09 08:30:43 +02:00
ElementBot
a53bf586e9 Update screenshots 2026-10-08 16:04:27 +00:00
ganfra
512bab05a6 Merge branch 'develop' into feature/fga/timeline-multi-forward 2026-10-08 17:38:14 +02:00
ElementBot
4dfb35206e Update screenshots 2026-10-07 16:05:23 +02:00
ElementBot
15f7afc7c5 Update screenshots 2026-10-07 15:50:07 +02:00
Benoit Marty
fe8b3764e5 Move matrixmedia sources to the libraries.matrixmedia.* packages
The matrixmedia modules were using the `libraries.matrix.ui.media` package
(shared with the matrixui module) and `libraries.matrix.ui.media.*`
namespaces. Use `libraries.matrixmedia.api`, `libraries.matrixmedia.impl`
and `libraries.matrixmedia.test` instead, matching the module paths.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-06 12:10:14 +02:00
Benoit Marty
9cb68844da Merge pull request #7865 from element-hq/feature/bma/multiAccountBottomSheetAnnouncement
Announce multi-account support
2026-10-06 12:09:38 +02:00
Benoit Marty
902631362e Merge pull request #7858 from element-hq/feature/bma/fixPackageNames
Fix wrong package names and namespaces in several modules
2026-10-06 10:58:25 +02:00
Benoit Marty
ddcd01a2bf Follow naming convention 2026-10-06 09:46:28 +02:00
ElementBot
86e72ac11e Update screenshots 2026-10-06 07:38:09 +00:00
ganfra
9b2dcd4b26 Fix the Konsist preview naming for the selection previews 2026-10-05 20:48:14 +02:00
ElementBot
721cedbc45 Update screenshots 2026-10-05 16:25:38 +00:00
ElementBot
19a0b3d517 Update screenshots 2026-10-05 14:26:03 +00:00
Benoit Marty
ab20281b26 Fix wrong package names and namespaces in several modules
Some modules were using package names or namespaces inherited from copy-paste
or from older module names (e.g. `features.logout.impl` in the deactivation
module, `features.api` in the migration api module, `sessionstorage` in the
cachestore module), or containing typos (`roomaliasesolver`,
`roomdetetailsedit`).

Move the sources to the package matching their module, update the imports, and
rename the impacted screenshots accordingly.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-05 13:43:22 +02:00
ElementBot
54409a82af Update screenshots 2026-10-05 10:02:52 +00:00
ElementBot
3130de8273 Update screenshots 2026-10-02 08:11:58 +02:00
Benoit Marty
4602e1f32d Show the account receiving the incoming user verification request 2026-10-02 08:11:57 +02:00
Benoit Marty
5ed880d539 Merge pull request #7823 from element-hq/feature/bma/multiAccountIncomingVerification
Multi account incoming device verification
2026-10-02 08:10:19 +02:00
Jorge Martin Espinosa
2dd0a47eb4 Allow displaying only unread notifications (#7803)
* Allow displaying only unread notifications

Add `FeatureFlags.ShowAllActivityInRoomList` (enabled by default, to match the current behavior) that, when disabled, will display the unread messages of a room instead of unread notifications if no unread notifications are found

* Restore UI changes to the badges, `RoomSummaryRow` and `HorizontalFloatingToolbar`

* Fix `NavigationBarIcon`: use `BadgeBox` component.

* Adjust padding in `RoomSummaryRow` to 6.dp

* Fix other indicators not displaying a dot anymore

* Update screenshots

---------

Co-authored-by: ElementBot <android@element.io>
2026-10-01 19:46:01 +02:00
Jorge Martin Espinosa
6cde0706be Add remove item and clear history buttons to search history (#7816)
* Add remove and clear history buttons to search

* Rename `SearchHistoryResultItem` to `SearchHistoryListItem` and `MessagesSearchResultItem` to `MessageSearchListItem`

Also, add some docs.

* Update screenshots

---------

Co-authored-by: ElementBot <android@element.io>
2026-10-01 18:17:18 +02:00
Benoit Marty
d589ff37dc Merge pull request #7831 from element-hq/feature/bma/fixScreenshotFlakiness
Stop rewriting screenshots that did not meaningfully change
2026-10-01 17:43:25 +02:00
ganfra
3847922895 Merge pull request #7826 from element-hq/feature/fga/user-status-update
Update user status UI
2026-10-01 17:33:33 +02:00
ElementBot
852d540dd0 Update screenshots 2026-10-01 14:48:38 +00:00
Benoit Marty
56f8cffe34 Remove LayoutLibErrorFilterStatement
Paparazzi 2.0.0-alpha05.1 ships layoutlib 16.2.3, which fixes the errors this
rule was swallowing. All screenshot tests pass without it.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-01 15:58:52 +02:00
ElementBot
306f96e2a6 Update screenshots 2026-09-30 19:07:56 +00:00
ElementBot
ee65fb99ae Update screenshots 2026-09-30 15:21:35 +00:00
ElementBot
d1c041094e Update screenshots 2026-09-30 14:07:57 +00:00
Benoit Marty
485f71c824 Merge pull request #7822 from element-hq/feature/bma/signedOutScreen
Update signed out screen
2026-09-30 15:41:21 +02:00