Commit graph

2076 commits

Author SHA1 Message Date
Jorge Martín
6e74446209 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
afa2a824b5 Fix tests. 2026-05-22 15:28:48 +02:00
Benoit Marty
94c3bb9c41 Rename file. 2026-05-22 13:59:21 +02:00
Benoit Marty
fe6a17e977 Remove default value of data class. 2026-05-22 13:56:50 +02:00
Benoit Marty
a158da1d18 For quality issue and improve preview 2026-05-22 12:13:09 +02:00
Benoit Marty
bb2779549e Update design and UX
Update and add tests
Improve preview
2026-05-22 10:29:36 +02:00
Gianluca Iavicoli
bcad1f9dce 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]
eed183be53
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
c3a4d64ec6
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
cizra
a33d717aa0
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
Benoit Marty
620f1865e8 [a11y] Improve accessibility of screen headers. 2026-05-20 15:39:11 +02:00
Jorge Martin Espinosa
64d9336901
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
bmarty
dcc67f9fc6 Sync Strings from Localazy 2026-05-18 00:57:56 +00:00
Benoit Marty
bad934d329
Do not close the MediaPlayer when navigating back from a thread. (#6771) 2026-05-12 17:00:48 +02:00
Valere Fedronic
9ca0b9e898
Merge pull request #6649 from element-hq/feature/valere/call/decline_timeline_rendering
feat: Update call started timeline item + declined support
2026-05-12 16:32:51 +02:00
Benoit Marty
d299b722e3 Format code. 2026-05-12 15:50:47 +02:00
Benoit Marty
c30fee7f14 Do not close the MediaPlayer when navigating back from a thread. 2026-05-12 15:21:20 +02:00
Valere
a227b830be add test to MessageSummaryFormatter 2026-05-11 18:08:28 +02:00
Jorge Martin Espinosa
11476c73cf
Adapt to new DM definition changes in the SDK (#6748)
* Set `DmRoomDefinition.TwoPeople` in `ClientBuilder`. This applies the 'direct and with at most 2 non-service members' rule to what the SDK should consider a DM.

* Map `RoomInfo.isDm` from the SDK

* Map `NotificationData.isDm` from `NotificationInfo.roomInfo.isDm`

* Remove `RoomIsDmCheck` file as its extension functions are now redundant. Move `Room.isDm` helper function to `BaseRoom`.

* Map `isDm` in `SpaceRoom` from the SDK too

* Replace `isDirect` with `isDm` where possible

* Map `RoomMember.isServiceMember` from the SDK and use it to tell apart normal members of a room from service members (i.e. `RoomMembersState.getDirectRoomMember`)
2026-05-11 17:22:16 +02:00
Valere
a478d87fc3 Merge branch 'develop' into feature/valere/call/decline_timeline_rendering 2026-05-11 11:21:02 +02:00
Valere
f0f5e8be25 review: Refactor preview, show all variants 2026-05-11 11:20:10 +02:00
Valere
4437d4d9df review: Invert if for better readability 2026-05-11 10:47:46 +02:00
Valere
885d0f2cb9 review: better comment 2026-05-11 10:47:32 +02:00
Valere
f05ceb9f5d review: Use @stringRes annotation for Int 2026-05-11 10:47:17 +02:00
ganfra
e49e183178
Feature : share live location (#6741)
* First live location sharing sending implementation

* Simplify logic around canStop sharing

* Add some debug logs around LiveLocationSharingService

* Add LiveLocationException

* Expose beaconId to identify the current share

* Throttle live location instead of debouncing

* Keep sync alive when sharing live location

* Improve LiveLocation sharing

* Show LiveLocationDisclaimer

* Read minDistanceUpdate in LiveLocationSharingService

* Set minDistanceUpdate in AdvancedSettings

* Display banner in room when sharing live location

* Fix tests around LiveLocationSharing

* Ensure shares are properly restarted/stopped when app is re-launched

* Ensure LLS data is cleared when session is removed

* Update and fix LLS tests

* Handle Start LLS in ui

* Add check LLS permissions

* Remove hardcoded strings

* Fix quality and format

* Create DeviceLocationProvider so we can share location data between sources (presenter/live location service)

* Update screenshots

* Fix warning

* Do not try to stop if it was not sharing

* Revert "Create DeviceLocationProvider so we can share location data between sources (presenter/live location service)"

This reverts commit ba12bd968e82941cc231bdbb449310b24c97c5b8.

* Tweak location provider config values

* Address PR review remarks

* Fix ktlint

* Update screenshots

* Fix some tests after merging develop

* Adjust TimelineItemLocationView ui to match figma

* Update screenshots

* Documentation and cleanup

* Remove temporary resource

---------

Co-authored-by: ElementBot <android@element.io>
Co-authored-by: Benoit Marty <benoit@matrix.org>
Co-authored-by: Benoit Marty <benoitm@matrix.org>
2026-05-11 08:19:28 +00:00
ElementBot
0c657c258a
Sync Strings from Localazy (#6761)
Co-authored-by: bmarty <3940906+bmarty@users.noreply.github.com>
2026-05-11 09:37:59 +02:00
bxdxnn
071d98c66b
Render media captions formatting in the media viewer (#6729)
* Render media captions formatting in the media viewer

* Update screenshots

* Trigger actions

* Remove unused imports and reformat code

---------

Co-authored-by: ElementBot <android@element.io>
Co-authored-by: Jorge Martín <jorgem@element.io>
2026-05-08 16:30:32 +02:00
Benoit Marty
a7c9fedc8f
Merge pull request #6740 from element-hq/feature/bma/uiSample
Introduce UI sample
2026-05-07 12:28:08 +02:00
Jorge Martin Espinosa
866c8375b3
Make send event state UI easier to click (#6739)
* Make send event state UI easier to click

Make it so the whole timestamp view can be clicked

* Update screenshots

* Simplify `clickableModifier`

---------

Co-authored-by: ElementBot <android@element.io>
2026-05-07 11:11:07 +02:00
Benoit Marty
4948497be2 More replacements 2026-05-07 10:01:30 +02:00
Benoit Marty
0349162694 More replacements 2026-05-07 09:50:00 +02:00
Benoit Marty
223dd1f6b0 Fix invalid userId. 2026-05-06 21:59:59 +02:00
Benoit Marty
2a694f6dfd Create PreviewData with sample of UGC used for preview.
Fix preview issue where username was used for room/avatar name.
2026-05-06 17:45:50 +02:00
Jorge Martin Espinosa
34f001d22c
Fix back button sometimes not working after exiting a thread (#6732)
When I reproduced the issue, it looked like the coroutine used to mark as read and then exit the room was canceled, leaving the `markingAsReadAndExiting` variable with `true` value and preventing the exit block from running again.
2026-05-06 14:35:08 +02:00
Jorge Martin Espinosa
70452842d3
Make icons in the Chat screen top bar 16dp (#6733)
* Make icons in the Chat screen top bar 16dp. This matches the designs in Figma.

* Fix the padding between the title and the icons

* Update screenshots

---------

Co-authored-by: ElementBot <android@element.io>
2026-05-06 09:16:13 +00:00
Kurban Sagitov
a7711b7d52
Fix low width image message (#6692)
* fix low width image message

* added previews for narrow images

* Update screenshots
---------

Co-authored-by: ElementBot <android@element.io>
2026-05-05 17:10:24 +02:00
Benoit Marty
26fe5b6492
Merge pull request #6650 from element-hq/feature/bma/a11yFixes
[a11y] Fix a set of issues
2026-05-04 11:50:15 +02:00
Valere
18fbe91fc7 Merge branch 'develop' into feature/valere/call/decline_timeline_rendering 2026-05-04 09:00:00 +02:00
bmarty
0d2f71643a Sync Strings from Localazy 2026-05-04 00:54:27 +00:00
Benoit Marty
e21276f323 Merge branch 'develop' into feature/bma/removeExternalCallSupport 2026-04-30 16:58:11 +02:00
Benoit Marty
11b9efa2c9 Migrate to v2 testing APIs 2026-04-30 16:04:07 +02:00
Benoit Marty
97cada7432 Move isTalkbackActive to a11y package. 2026-04-30 12:19:31 +02:00
Benoit Marty
5e963fc743 a11y: do not use Overlay if screen reader is active, or external keyboard is connected.
Related to #6399
2026-04-30 12:19:31 +02:00
Benoit Marty
f4b3ddfa0b Merge branch 'develop' into feature/bma/removeExternalCallSupport 2026-04-30 11:50:35 +02:00
Valere
66f68fdccb fixup test compilation 2026-04-29 17:27:51 +02:00
Valere
531d9b3d47 fix: consist, use sealed interface instead of class 2026-04-29 16:29:13 +02:00
Valere
6154816796 cleanup of the RTCNotificationState enum 2026-04-29 16:21:36 +02:00
Valere
a6622c6787 fix deteckt | unneeded paranthesis 2026-04-29 16:03:19 +02:00
Valere
f0dc4eeace feat: Update call started timeline item + declined support 2026-04-29 15:43:58 +02:00
Benoit Marty
8860647477 Element Call: remove support for SPA call links.
Closes #6578
2026-04-27 17:01:08 +02:00