Commit graph

5332 commits

Author SHA1 Message Date
Jorge Martin Espinosa
2a8ba7fa95 Only load full media on media viewer when it's the visible item (#6794)
* Only load full media on media viewer when it's the visible item

* Allow cancelling ongoing media loading if scrolling fast
2026-05-18 10:29:14 +02:00
cizra
57022926c6 Add MIDI playback (#6770)
* Add MIDI playback

* Implement PR suggestions
2026-05-18 10:06:47 +02:00
Jenna Vassar
c318b2540b Fix room list duplicate-detection telemetry crashing before it can report (#6791)
* Add room dupe regression tests

* Fix telemetry path for dedupe discovery
2026-05-15 10:43:21 +02:00
Benoit Marty
e010f2772d Merge pull request #6772 from element-hq/feature/bma/addMissingStrings
Add missing strings `theme.black`
2026-05-12 21:31:24 +02:00
Benoit Marty
5f4c77c64e Rename keys on Localazy and add Black theme. 2026-05-12 17:57:55 +02:00
Valere Fedronic
388dd9be67 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
36765175e0 Rename FF title 2026-05-12 16:17:10 +02:00
Benoit Marty
eb564d6b8e Merge pull request #6720 from element-hq/renovate/major-metro
Update metro to v1 (major)
2026-05-12 15:56:18 +02:00
Jorge Martin Espinosa
738811b297 Use the right analytics span as a parent in checkNetworkConnection (#6751)
`AnalyticsLongRunningTransaction.PushToWorkManager` was incorrectly used instead of `AnalyticsLongRunningTransaction.PushToNotification`, resulting in wrongly formatter analytic traces
2026-05-12 15:04:13 +02:00
Jorge Martin Espinosa
108498777b Improve FetchPushForegroundService's reliability (#6757)
* Improve `FetchPushForegroundService`'s reliability

- Don't use DI, we can just create the notification channel. This should speed up the creation of the service and reduce the number of `ForegroundServiceDidNotStartInTimeException` received. Also use `MainScope` instead of the app's coroutine scope.
- Move the wakelock releasing mechanism to `onDestroy` so it's always used. Previously, this would only happen when `stopService` was called, which would only happen when `stopSelf()` is called, but not when the OS or the service manager stops the service.

* Add fallback value for the notification channel title

* Replace the wrong string for the notification/channel title

---------

Co-authored-by: Benoit Marty <benoitm@element.io>
2026-05-12 11:40:46 +02:00
Jorge Martin Espinosa
4975f61eb8 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
b9e46a12d0 fixup test compilation 2026-05-11 16:54:30 +02:00
Valere
fa3cfbdb7b Merge branch 'develop' into feature/valere/call/decline_timeline_rendering 2026-05-11 11:21:02 +02:00
Valere
f34c1fbf0a review: Add unit test for notificationFormater 2026-05-11 11:16:45 +02:00
Valere
2d6fc8263e review: Update signature and keep formatters grouped together 2026-05-11 10:48:50 +02:00
ganfra
3b620bd8a8 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
397274250a Sync Strings from Localazy (#6761)
Co-authored-by: bmarty <3940906+bmarty@users.noreply.github.com>
2026-05-11 09:37:59 +02:00
bxdxnn
06f3c649f5 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
Jorge Martin Espinosa
643c746bc4 Use just the other user's avatar for DM details (#6738)
* Use just the other user's avatar for DM details. Remove `DmAvatars` component and other no longer needed data.

* Improve selection indicator by clipping the avatar to a circle shape

* Update screenshots

---------

Co-authored-by: ElementBot <android@element.io>
2026-05-08 11:17:30 +02:00
Benoit Marty
728943e3db Merge pull request #6746 from element-hq/renovate/org.matrix.rustcomponents-sdk-android-26.x
Update dependency org.matrix.rustcomponents:sdk-android to v26.05.7
2026-05-07 17:23:20 +02:00
Benoit Marty
cf17502f2e Merge pull request #6744 from element-hq/feature/bma/improvePinUX
Improve pin code ux
2026-05-07 17:04:43 +02:00
Jorge Martín
f256d95260 Fix API breaks 2026-05-07 15:13:51 +02:00
Benoit Marty
e6977ea85c Merge pull request #6740 from element-hq/feature/bma/uiSample
Introduce UI sample
2026-05-07 12:28:08 +02:00
Benoit Marty
f85239518c Fix quality issue. 2026-05-07 10:59:12 +02:00
Benoit Marty
95c182595c Improve detection of configure PIN code. 2026-05-07 10:59:10 +02:00
Benoit Marty
7cbecc6b94 Merge pull request #6682 from element-hq/feature/bma/customMasScheme
Add a way to tweak MAS url.
2026-05-07 10:51:32 +02:00
Benoit Marty
d7e90728ad More replacements 2026-05-07 10:01:30 +02:00
Benoit Marty
fbb7fad3e9 Use generic id for default 2026-05-07 09:50:12 +02:00
Benoit Marty
50d3876836 More replacements 2026-05-07 09:50:00 +02:00
Benoit Marty
a6880af921 Fix invalid userId. 2026-05-06 21:59:59 +02:00
Benoit Marty
db1b124025 Merge pull request #6726 from element-hq/feature/bma/renameVerificationMethod
Rename verification methods
2026-05-06 17:50:11 +02:00
Benoit Marty
f7346efde4 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
Copilot
852bcd64d8 Remove RoomDirectorySearch feature flag — always enable the feature (#6736)
* Remove RoomDirectorySearch feature flag, always enable the feature

Co-authored-by: stefanceriu <637564+stefanceriu@users.noreply.github.com>

* Apply ktlint formatting

Co-authored-by: jmartinesp <480955+jmartinesp@users.noreply.github.com>

* Update screenshots

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: stefanceriu <637564+stefanceriu@users.noreply.github.com>
Co-authored-by: jmartinesp <480955+jmartinesp@users.noreply.github.com>
Co-authored-by: ElementBot <android@element.io>
2026-05-06 16:05:19 +02:00
renovate[bot]
c8db7a5bcb Update dependency org.matrix.rustcomponents:sdk-android to v26.05.6 (#6734)
* Update dependency org.matrix.rustcomponents:sdk-android to v26.05.6

* Fix API breaks:

- Add `RoomMember.isServiceMember`.
- Add `beacon` and `beaconInfo` power levels.

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Jorge Martín <jorgem@element.io>
2026-05-06 15:31:52 +02:00
Benoit Marty
a75e7404bf Merge pull request #6700 from element-hq/feature/bma/lenientJson
Let our Json parser accept comments and trailing comma.
2026-05-05 17:08:21 +02:00
Benoit Marty
959ec86dbb Fix compilation warnings 2026-05-05 16:22:32 +02:00
bxdxnn
8e8426b08c Reimplement "Natural media viewer swiping order" (#6715) 2026-05-05 16:02:52 +02:00
Benoit Marty
92ca1e69c1 Improve FakeSessionVerificationService 2026-05-05 15:29:32 +02:00
Benoit Marty
e4c58b3fc6 Rename methods around verification, to match SDK naming. 2026-05-05 12:17:51 +02:00
renovate[bot]
34b3de2b14 Update dependency org.matrix.rustcomponents:sdk-android to v26.05.4 (#6718)
* Update dependency org.matrix.rustcomponents:sdk-android to v26.05.4

* Fix `RoomInfo` fixture

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Jorge Martín <jorgem@element.io>
2026-05-04 10:04:20 +00:00
Benoit Marty
abc540b379 Merge pull request #6650 from element-hq/feature/bma/a11yFixes
[a11y] Fix a set of issues
2026-05-04 11:50:15 +02:00
Benoit Marty
59bcc904fa Let our Json parser accept comments and trailing comma. 2026-05-04 10:05:11 +02:00
Valere
4c761812c6 Merge branch 'develop' into feature/valere/call/decline_timeline_rendering 2026-05-04 09:00:00 +02:00
Valere
13a8551367 fix test compilation 2026-05-04 08:59:46 +02:00
bmarty
47f5f50c2a Sync Strings from Localazy 2026-05-04 00:54:27 +00:00
Benoit Marty
b1af329837 Merge branch 'develop' into feature/bma/removeExternalCallSupport 2026-04-30 16:58:11 +02:00
Benoit Marty
0d712c00a0 Merge pull request #6697 from element-hq/feature/bma/fixDependencyError
Fix dependency error
2026-04-30 16:57:19 +02:00
Benoit Marty
e70ebc8d65 Merge pull request #6693 from element-hq/renovate/compose.bom
Update dependency androidx.compose:compose-bom to v2026.04.01
2026-04-30 16:54:23 +02:00
Benoit Marty
723b9b8d61 Migrate to v2 testing APIs 2026-04-30 16:04:07 +02:00
Jorge Martin Espinosa
3bb7ab301f Mitigate a deadlock when loading room timelines (#6674)
This may be happening because we were not destroying focused event timelines used for the media viewer/gallery when necessary, and having several of those back paginating *may* have caused a deadlock in the event cache.
2026-04-30 16:01:24 +02:00