Commit graph

14421 commits

Author SHA1 Message Date
Jorge Martin Espinosa
6cd0491292 Move empty day separator filtering to a timeline post-processor (#6866)
* Move empty day separator filtering to a timeline post-processor

* Split `FilterPublicMembershipChangesPostProcessor` from `RoomBeginningPostProcessor`
2026-05-26 08:28:32 +00:00
Jorge Martin Espinosa
1f927b9965 Fix public read receipts being sent by mistake (#6838)
When returning to the chat screen from the room details one or a member's profile, `TimelineEvent.OnScrollFinished` will be called immediately, and this would read the default value for `isSendPublicReadReceiptsEnabled`, which is `true`.

If you had public read receipts disabled, this is a mistake, and would send a public read receipt. Instead, what we want to do is wait until the updated value is emitted and use it to decide whether we want to send a public or private read receipt.
2026-05-26 10:10:42 +02:00
Benoit Marty
6fb79d6e06 Image edition before sending: crop and rotate. (#6842)
* Add crop and rotate editing before sending images (#6363)

* feat(messages): add crop and rotate before image upload

* Update screenshots

* chore: trigger CI after screenshot update

* fix: resolve detekt violations in image editor and media viewer modules

* fix: require explicit edits param, use plurals for rotation a11y, remove redundant @Inject

* fix: require explicit edits param, use plurals for rotation a11y, remove redundant @Inject

* fix: use semantically correct RotateRight icon for image rotation action

* Update screenshots

* chore: trigger CI after screenshot update

---------

Co-authored-by: ElementBot <android@element.io>
Co-authored-by: Benoit Marty <benoitm@element.io>

* Update design and UX

Update and add tests
Improve preview

* Update screenshots

* For quality issue and improve preview

* Update screenshots

* Remove default value of data class.

* Rename file.

* Fix tests.

* Allow detecting touch events outside the image by applying the drag detection to the parent node and offsetting the touch events

* Improve touch detection.

* Update screenshots

* Remove useless line.

---------

Co-authored-by: Gianluca Iavicoli <gianluca.iavicoli04@gmail.com>
Co-authored-by: ElementBot <android@element.io>
Co-authored-by: Jorge Martín <jorgem@element.io>
2026-05-26 10:07:05 +02:00
ElementBot
13bcf48e2a Sync Strings from Localazy (#6856)
Co-authored-by: bmarty <3940906+bmarty@users.noreply.github.com>
2026-05-26 08:05:07 +00:00
Jorge Martin Espinosa
d5fa633bba Use runBlocking for the token refresh logic (#6863)
* Use `runBlocking` for the token refresh logic

The `RustClientSessionDelegate` callbacks always run in a separate thread, so they don't block the main thread.

This ensures the token refresh is fully done (data saved/failed to) before the SDK continues sending the pending previously failed requests
2026-05-26 09:40:07 +02:00
Benoit Marty
45a4cefbd8 Remove useless line. 2026-05-26 09:22:43 +02:00
renovate[bot]
089bf0c690 Update codecov/codecov-action action to v6.0.1 (#6864)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-05-26 07:59:33 +02:00
ElementBot
58be97ee8b Update screenshots 2026-05-25 19:34:34 +00:00
Benoit Marty
edfdda36d6 Improve touch detection. 2026-05-25 21:16:12 +02:00
bxdxnn
23abc91510 Fix formatting inconsistencies in latest event summaries (#6855)
* Fix message type prefixes formatting inconsistencies

* Use new string for the poll summary prefix instead of the A11y text. Also add tests check for the bold spans.

---------

Co-authored-by: Jorge Martín <jorgem@element.io>
2026-05-25 11:40:25 +02:00
bxdxnn
ff263e611e Do not show membership/profile events in public rooms (#6360)
* Filter some membership/profile/topic events in public rooms: don't display join and leave membership events in publicly joinable rooms, and hide display name and avatar url changes in non encrypted and publicly joinable rooms.

* Add empty day post-processing to the timeline based on bxdxnn's code, tweaked.

---------

Co-authored-by: Jorge Martín <jorgem@element.io>
2026-05-25 10:31:53 +02:00
Jorge Martín
935506230b Allow detecting touch events outside the image by applying the drag detection to the parent node and offsetting the touch events 2026-05-22 16:57:00 +02:00
Benoit Marty
3623b9d7fc Fix tests. 2026-05-22 15:28:48 +02:00
Benoit Marty
1971d8842c Rename file. 2026-05-22 13:59:21 +02:00
Benoit Marty
23602cf8e7 Remove default value of data class. 2026-05-22 13:56:50 +02:00
ElementBot
3cb8f25429 Update screenshots 2026-05-22 10:29:31 +00:00
Benoit Marty
12c8240d04 For quality issue and improve preview 2026-05-22 12:13:09 +02:00
ElementBot
f4a136db77 Update screenshots 2026-05-22 08:45:58 +00:00
Benoit Marty
2d5a0b9153 Update design and UX
Update and add tests
Improve preview
2026-05-22 10:29:36 +02:00
renovate[bot]
f297ce3d52 Update dependencyAnalysis to v3.12.0 (#6840)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-05-22 07:57:00 +02:00
Gianluca Iavicoli
8851d91ff6 Add crop and rotate editing before sending images (#6363)
* feat(messages): add crop and rotate before image upload

* Update screenshots

* chore: trigger CI after screenshot update

* fix: resolve detekt violations in image editor and media viewer modules

* fix: require explicit edits param, use plurals for rotation a11y, remove redundant @Inject

* fix: require explicit edits param, use plurals for rotation a11y, remove redundant @Inject

* fix: use semantically correct RotateRight icon for image rotation action

* Update screenshots

* chore: trigger CI after screenshot update

---------

Co-authored-by: ElementBot <android@element.io>
Co-authored-by: Benoit Marty <benoitm@element.io>
2026-05-21 15:18:40 +02:00
renovate[bot]
07d3a90ec4 Update peaceiris/actions-gh-pages action to v4.1.0 (#6820)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-05-21 15:01:35 +02:00
renovate[bot]
986a899eef Merge pull request #6816 from element-hq/renovate/media3
Update media3 to v1.10.1
2026-05-21 15:01:00 +02:00
renovate[bot]
550c0417dc Update dependency org.matrix.rustcomponents:sdk-android to v26.05.20 (#6831)
* Update dependency org.matrix.rustcomponents:sdk-android to v26.05.20

* Fix API breaks:

- Handle new `ClientBuildException.InvalidRawKey` variant.
- `RoomInfo` now has a `fullyReadEventId` .

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Jorge Martín <jorgem@element.io>
2026-05-21 12:27:29 +02:00
Benoit Marty
7d2ba03924 Merge pull request #6705 from bxdxnn/misc/roommembermoderation-avatar-tap
Make the avatar in the room member moderation bottom sheet clickable
2026-05-21 11:59:28 +02:00
Benoit Marty
bd72ae3d78 Merge pull request #6822 from element-hq/renovate/kotlin
Update kotlin to v2.3.8
2026-05-21 10:56:54 +02:00
Benoit Marty
74506908d2 Merge pull request #6833 from element-hq/renovate/io.element.android-element-call-embedded-0.x
Update dependency io.element.android:element-call-embedded to v0.19.4
2026-05-21 10:55:48 +02:00
Benoit Marty
535af93d85 Merge pull request #6817 from element-hq/feature/bma/automaticRetry
[Link new device] Rotate QrCode instead of showing an error
2026-05-21 10:29:29 +02:00
renovate[bot]
f7f0d95b8b Update dependency io.element.android:element-call-embedded to v0.19.4 2026-05-21 08:15:40 +00:00
renovate[bot]
1721e49a07 Update metro to v1.1.1 (#6832)
* Update metro to v1.1.1

* Fix `@ContributesBinding` usage with `@AssistedInject` in `DefaultVideoMetadataExtractor`

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Jorge Martín <jorgem@element.io>
2026-05-21 10:10:13 +02:00
Benoit Marty
e738ef17db Fix wrong 'modifier' usage. 2026-05-21 09:14:18 +02:00
Benoit Marty
f6b0cbd03b Fix warning 2026-05-21 09:10:43 +02:00
Benoit Marty
981b356721 Merge pull request #6818 from element-hq/feature/bma/markAsUnreadInRoomDetails
Add mark as read / unread in room details
2026-05-21 09:01:52 +02:00
Benoit Marty
b92b78ec84 Merge pull request #6827 from element-hq/feature/bma/a11y/roomNameHeading
[a11y] Improve accessibility of screen headers.
2026-05-21 09:00:33 +02:00
Benoit Marty
aa3427381c Merge pull request #6830 from element-hq/feature/bma/a11y/videoPlayer
[a11y] Improve accessibility of video and audio player
2026-05-20 18:06:04 +02:00
Benoit Marty
19c5c8da06 [a11y] Improve accessibility of media controller 2026-05-20 17:23:30 +02:00
cizra
aec0f596f0 Don't compress images sent through the Files attachment picker (#6755)
* Don't compress images sent through the Files attachment picker

Images and videos picked through the "Attachment" picker are now
uploaded without re-encoding, regardless of the "Optimize media quality"
setting. The gallery and camera pickers keep the existing behaviour,
matching what Element Web/Desktop and most other messengers do.

Fixes #6365

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

* Make sure we select the right video preset for sending as file

Wait for the video size estimations to be calculated before preprocessing the video file

---------

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Jorge Martín <jorgem@element.io>
2026-05-20 17:19:08 +02:00
ganfra
df11c32d87 Merge pull request #6813 from element-hq/renovate/dependencyanalysis
Update dependencyAnalysis to v3.11.0
2026-05-20 17:09:13 +02:00
Benoit Marty
1513869b0c [a11y] Improve accessibility of media controller 2026-05-20 17:04:24 +02:00
Benoit Marty
d002597c0d [a11y] Ensure that video overlay with controls is never hidden when screen reader is enabled. 2026-05-20 16:21:06 +02:00
Benoit Marty
20c55bdf4f Merge pull request #6826 from element-hq/feature/bma/a11y/avatarEdit
Hide edit pencil from accessibility
2026-05-20 15:58:05 +02:00
Benoit Marty
15b7bd2bac [a11y] Improve accessibility of screen headers. 2026-05-20 15:53:08 +02:00
Benoit Marty
798ed7b6c3 [a11y] Improve accessibility of screen headers. 2026-05-20 15:52:46 +02:00
Benoit Marty
97ca702bc8 [a11y] Improve accessibility of screen headers. 2026-05-20 15:49:18 +02:00
Benoit Marty
c5911d7849 [a11y] Improve accessibility of screen headers. 2026-05-20 15:39:11 +02:00
Jorge Martin Espinosa
c3fedbf997 Release proximity wakelock on Element Call when call ends (#6825)
The `CoroutineScope` that launched this logic was cancelled by that point, so the wakelock was never released.
2026-05-20 15:23:03 +02:00
Benoit Marty
46268ca9db Hide edit pencil from accessibility
Closes #6378
2026-05-20 14:50:26 +02:00
ElementBot
70e166d9ef Update screenshots 2026-05-20 12:44:42 +00:00
Benoit Marty
a306ee9c9f Format 2026-05-20 14:27:38 +02:00
Jorge Martin Espinosa
3593ca36d9 Fix 'Conversation label cannot be empty' error (#6823)
This happens when building a `ShortcutInfoCompat` in `DefaultNotificationConversationService.onSendMessage` when the provided room name is not null but it's empty.
2026-05-20 14:26:44 +02:00