Commit graph

1973 commits

Author SHA1 Message Date
Jorge Martin Espinosa
87b3a5d2f0
Add better logs to track token update failures (#6859)
1. Make some logs use `info` log level instead of `debug`, so they appear in most user's bug reports.
2. Make the anonymized tokens even harder to reverse.
3. Detect when the tokens we should be saving match the current ones, as that's an error.
2026-05-26 12:19:26 +02:00
Jorge Martin Espinosa
1e67c2f77b
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
7b93bfbba9
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
bxdxnn
b31dad4b26
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
renovate[bot]
7e42dd1529
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
1473f5e806 [Link new device] and add tests. 2026-05-19 18:43:48 +02:00
Benoit Marty
33c7c75550 Fix detekt issue 2026-05-19 18:43:47 +02:00
Benoit Marty
c59b96de66 [Link new device] Automatically rotate the QR Code 2026-05-19 18:43:45 +02:00
renovate[bot]
2f406eaf41
Update dependency org.matrix.rustcomponents:sdk-android to v26.05.18 (#6805)
* Update dependency org.matrix.rustcomponents:sdk-android to v26.05.18

* Fix breaking API changes

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Jorge Martín <jorgem@element.io>
2026-05-19 09:20:06 +02:00
Hugh Nimmo-Smith
2771ce9442 Merge branch 'qr-other-device-not-signed-in' of https://github.com/hughns/element-x-android into qr-other-device-not-signed-in 2026-05-18 11:53:02 +01:00
Hugh Nimmo-Smith
fb17fc7e8a Iterate 2026-05-18 11:52:51 +01:00
Hugh Nimmo-Smith
efa61f1d24
Potential fix for pull request finding
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
2026-05-18 11:51:23 +01:00
Hugh Nimmo-Smith
458405b29f Iterate 2026-05-18 11:44:47 +01:00
Hugh Nimmo-Smith
668edbc679 Fix scanning code from signed out device when using "Sign in with QR code" 2026-05-18 09:50:54 +01:00
Jenna Vassar
cbc677b80d
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
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
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
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
Jorge Martín
7e3acc03b9 Fix API breaks 2026-05-07 15:13:51 +02:00
Benoit Marty
2f45ca8835
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
15162e4e32
Merge pull request #6726 from element-hq/feature/bma/renameVerificationMethod
Rename verification methods
2026-05-06 17:50:11 +02:00
renovate[bot]
f4cf704335
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
0a9259604b Improve FakeSessionVerificationService 2026-05-05 15:29:32 +02:00
Benoit Marty
51bcaca9db Rename methods around verification, to match SDK naming. 2026-05-05 12:17:51 +02:00
renovate[bot]
54525d855e
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
Valere
18fbe91fc7 Merge branch 'develop' into feature/valere/call/decline_timeline_rendering 2026-05-04 09:00:00 +02:00
Benoit Marty
078e942a28 Cleanup dependencies 2026-04-30 09:54:54 +02:00
Benoit Marty
4d0be69b4c In the module :libraries:matrix.api, change the dependencies to:
- libraries.sessionStorage.api
- projects.libraries.architecture
from `api` to `implementation`.

Modules who need `:libraries:matrix.api` do not necessarily need to use the session storage api.
2026-04-30 09:52:10 +02:00
Benoit Marty
c1e908a8e6 Fix tests. 2026-04-29 22:29:41 +02:00
Benoit Marty
a76b55e580 Add a way to tweak MAS url. 2026-04-29 22:29:40 +02:00
Valere
f0dc4eeace feat: Update call started timeline item + declined support 2026-04-29 15:43:58 +02:00
Hugh Nimmo-Smith
026c448e48
Merge branch 'develop' into hughns/link-new-device-done 2026-04-29 12:06:40 +01:00
Hugh Nimmo-Smith
3b21d698ee Fix tests
Co-Authored-By: Benoit Marty <3940906+bmarty@users.noreply.github.com>
2026-04-29 12:05:16 +01:00
Jorge Martin Espinosa
367995303d
Rename OIDC components and variables to OAuth (#6686)
* Rename `OIDC` components and variables to `OAuth`. This matches the new behavior in the SDK.
2026-04-29 11:41:47 +02:00
Hugh Nimmo-Smith
723b7486bc Improve detection of completion for Link new device flow
The SDK emits a Done progress once complete, but our listener might have been deallocated before receiving the done.
2026-04-28 15:19:03 +01:00
renovate[bot]
997227b020
Update dependency org.matrix.rustcomponents:sdk-android to v26.04.27 (#6666)
* Update dependency org.matrix.rustcomponents:sdk-android to v26.04.27

* Fix breaking API changes:

- OIDC components are now prefixed `OAuth`.
- `Room.startLiveLocationShare` now returns the event id of the beacon state event if it succeeds.
- `RoomInfo` now contains an `activeServiceMembersCount` property.

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Jorge Martín <jorgem@element.io>
2026-04-28 14:49:37 +02:00
Richard van der Hoff
289dfff50a
Promote "history sharing on invite" out of developer options (#6647)
* Enable history sharing by default, unconditionally

* Remove feature-flag dep from history viz icons in room header

* Remove feature-flag dep from warning on inviting new people

* Remove feature-flag dep from warning on starting chat with new people

* Remove `enableKeyShareOnInvite` feature flag

* Update screenshots

* Remove redundant `FakeFeatureFlagService()` invocation, per review comment

---------

Co-authored-by: ElementBot <android@element.io>
2026-04-24 10:52:21 +00:00
Jorge Martin Espinosa
b4f1627748
Remove distributed tracing of the 'timeline loading' flow (#6644)
* Remove distributed tracing of the 'timeline loading' flow. This is causing crashes in the app when a debug SDK build is used

* Discourage using the APIs related with distributed tracing, explaining the problem
2026-04-22 17:51:51 +02:00
Jorge Martin Espinosa
1e04a7345f
Add flag for automatic back pagination feature (#6637) 2026-04-21 14:42:44 +00:00
Valere
af47e2b405 Merge branch 'develop' into valere/call/fix_join_button_on_several_items 2026-04-21 11:05:14 +02:00
Valere
e158be86aa review: Make call intent not optional in content 2026-04-21 11:03:48 +02:00
ganfra
41f86b492c Fix test after new property in LiveLocationShare 2026-04-17 16:58:06 +02:00
ganfra
3b813f137b Merge branch 'develop' into feature/fga/live_location_rendering 2026-04-17 15:13:13 +02:00
ganfra
8182a149d0 Live location : ensure it's not sorted randomly 2026-04-17 15:07:54 +02:00
Jorge Martin Espinosa
a341a1a59e
Replace rustls-platform-verifier-android.aar with single class (#6610)
* Replace the `rustls-platform-verifier-android.aar` with the actual source code

* Exclude the platform-verifier code from linters

* Add manual update instructions

* Exclude from Kover too
2026-04-17 14:48:50 +02:00
Valere
3f9b8b822e cleaning: Remove join button from call notify timelineItemView 2026-04-16 16:35:28 +02:00
ganfra
fbfeeae084 Fix formatting 2026-04-16 16:18:53 +02:00
ganfra
704ddc9132 Update live location shares when reaching timeout (before actual stop event) 2026-04-16 15:33:42 +02:00
Jorge Martin Espinosa
0058de9bca
Add extra logs for timeline pagination (#6589)
We found some possible rare issues with pagination these could help understand.
2026-04-15 15:14:42 +02:00