Commit graph

1114 commits

Author SHA1 Message Date
Damir Jelić
b2101a1b80 Enable trace logging for the Olm Account
This should help us to track down UTD sources, it ensures that we log
the state of a Olm session when we try to decrypt an `m.olm.*` to-device
message.
2024-02-07 10:46:34 +01:00
Benoit Marty
79b8a628b1 Merge pull request #2341 from element-hq/fix/jme/forwarding-with-new-timeline-api
Fix message forwarding after SDK API change
2024-02-06 16:11:40 +01:00
ganfra
b70cbfeb63 Use the new setIsFavorite api 2024-02-06 16:04:44 +01:00
Benoit Marty
6234d6e092 Fix API break and change from SDK 0.1.97 2024-02-06 09:18:35 +01:00
ganfra
7ca931c35f Favorite : rework and add tests 2024-02-02 14:54:28 +01:00
Jorge Martín
038bcc6f94 Fix message forwarding after SDK API change
Created `Room.fullRoomWithTimeline` helper to always get an initialized timeline with the room object.
2024-02-02 11:34:12 +01:00
Jorge Martín
64a48a2abd Fix test fixtures 2024-02-01 12:19:25 +01:00
Jorge Martín
34d7657e19 Use MatrixRoom.isEncrypted value to enable encryption in room calls 2024-02-01 11:49:17 +01:00
ganfra
a63d331f36 favorite : branch RoomNotableTags methods 2024-01-31 21:24:37 +01:00
renovate[bot]
f36d3cae89 Update dependency org.matrix.rustcomponents:sdk-android to v0.1.96 (#2323)
* Update dependency org.matrix.rustcomponents:sdk-android to v0.1.96

* Fixes for the SDK upgrade

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Jorge Martín <jorgem@element.io>
2024-01-31 11:07:34 +00:00
Jorge Martin Espinosa
47f7f8952b Add missing device id to settings screen (#2320)
* Add missing device id to settings screen

* Extract footer component

* Restore `@PreviewWithLargeHeight` logic

---------

Co-authored-by: ElementBot <benoitm+elementbot@element.io>
2024-01-31 10:01:17 +00:00
Jorge Martin Espinosa
38fdef0388 Fix crash about several DataStores using the same file (#2312)
* Fix crash about several DataStores using the same file

- Create `@SessionCoroutineScope` annotation to pass a session-managed coroutine scope to the DI.
- Expose this scope from `MatrixClient`.
- Rework DataStore file creation a bit.
- Centralise session preference creation through `DefaultSessionPreferencesStoreFactory` until we figure out what went wrong with the scoping
2024-01-30 11:10:46 +01:00
Benoit Marty
444954bad9 Merge pull request #2293 from element-hq/feature/bma/notificationCount
Iterate on notification badges
2024-01-30 10:33:17 +01:00
Benoit Marty
2ef8f67951 Send typing notification #2240 2024-01-26 16:30:43 +01:00
Jorge Martin Espinosa
17f22d143b Add 'send private read receipts' option in advanced settings (#2290)
* Add 'send private read receipts' option in advanced settings
* Create `SessionPreferencesStore` that stores the settings for the current use separate from those of the app.
* Rename `PreferencesStore` to `AppPreferencesStore` to split the preferences.

---------

Co-authored-by: ElementBot <benoitm+elementbot@element.io>
2024-01-26 10:06:26 +01:00
Jorge Martin Espinosa
e22ac6a48d Add a special tracing configuration for nightlies (#2297)
It also enables logging `MATRIX_SDK_BASE_READ_RECEIPTS` at a `TRACE` level for both debug and nightly versions.
2024-01-26 10:05:30 +01:00
Benoit Marty
6bf1806ed4 Disambiguate display name in notifications #2224 2024-01-25 18:43:56 +01:00
Benoit Marty
fe0e82b5d6 Map roomInfo.numUnreadNotifications to RoomSummaryDetails.numUnreadNotifications 2024-01-25 15:00:43 +01:00
Benoit Marty
f47b9827c5 Restore branch and git sha, to use it in logs and in rageshakes.
Remove quite useless `gitRevisionDate`.
2024-01-25 14:16:21 +01:00
Jorge Martin Espinosa
f9c5cd07a9 Return cached room members before fetching new ones, do it in batches (#2274)
* Use cached users from the Rust SDK.

Also lazy load received users by batches.

* Create `RoomMemberListFetcher` to wrap all the room member loading logic

* Ensure we clear `RoomMember` Rust references if the fetching coroutine is canceled
2024-01-23 18:23:20 +01:00
Benoit Marty
cdbfe8f92c Fix API break: use new methods canUserRedactOwn and canUserRedactOther. 2024-01-23 13:32:13 +01:00
Benoit Marty
ca1f907ec5 Use new Rust fields numUnreadMessages and numUnreadMentions, and iterate on the room badge rendering. 2024-01-22 15:48:46 +01:00
Benoit Marty
f42e220d55 Merge pull request #2130 from element-hq/feature/bma/roomListBadge
Some rework on the codebase
2024-01-22 10:17:38 +01:00
Benoit Marty
32dc7bca23 Merge pull request #2221 from element-hq/feature/bma/displayNameAmbiguous
Display name disambiguation
2024-01-19 17:42:32 +01:00
Benoit Marty
5e5eddd537 Merge pull request #2244 from element-hq/feature/bma/encryptedDb2
Encrypted db
2024-01-19 17:40:23 +01:00
Jorge Martin Espinosa
ac3201b317 Remove some state events at the start of DMs (#2252)
* Remove some initial events for DMs
2024-01-19 17:34:27 +01:00
Jorge Martin Espinosa
854622b85f Make the room settings screen update automatically (#2197)
* Make the room settings screen update automatically
2024-01-19 17:34:06 +01:00
Benoit Marty
31b2c55bee Remove default value of RoomSummaryDetails constructor, and iterate on fixture functions. 2024-01-19 16:46:42 +01:00
Benoit Marty
82a3750cd8 Remove notificationMode to userDefinedNotificationMode to match SDK name. 2024-01-19 16:46:42 +01:00
Benoit Marty
9b3a0c1f08 Remove hasOngoingCall to hasRoomCall to match SDK name. 2024-01-19 16:16:57 +01:00
Benoit Marty
371aec4427 Remove RoomSummaryDetails.lastMessageTimestamp and replace by a getter on lastMessage 2024-01-19 16:11:10 +01:00
Benoit Marty
0e57fbf352 Rename userAvatarURLString to userAvatarUrl 2024-01-19 15:59:50 +01:00
Benoit Marty
603b10264b Rename avatarURLString to avatarUrl 2024-01-19 15:58:37 +01:00
Benoit Marty
47a5c74129 Rename aRoomSummaryDetail to aRoomSummaryDetails 2024-01-19 15:55:26 +01:00
Benoit Marty
347cbb9c35 Remove obsolete comment. 2024-01-19 13:24:50 +01:00
Jorge Martín
f4f2f50047 Adapt changes from SDK 0.1.84 2024-01-19 13:20:13 +01:00
Jorge Martin Espinosa
b755a2584b Try mitigating unexpected logouts (#2251)
* Try mitigating unexpected logouts.

Try making getting/storing session data use a Mutex for synchronization.

Also added some more logs so we can understand exactly where it's failing.
2024-01-18 16:22:25 +01:00
Benoit Marty
4e232f6e41 Encrypt databases used by the Rust SDK.
The passphrase is stored in the SessionData, so that a Session created by Element Android can be restored.
Existing sessions will have a null passphrase and will continue to work.
New session will use a passphrase, only on Nightly and Debug build for now.
2024-01-18 12:07:42 +01:00
Benoit Marty
d04f76e8cf SessionData: add the passphrase. 2024-01-18 11:50:05 +01:00
Jorge Martin Espinosa
64a18afc1b Replace 'leave room' text with 'leave conversation' for DMs (#2231)
* Replace 'leave room' text with 'leave conversation' for DMs

* Add `isDm` property to both `RoomSummary` and `RoomListRoomSummary`

* Remove redundant `leave_conversation_alert_subtitle_*` texts

* Fix maestro flow

---------

Co-authored-by: ElementBot <benoitm+elementbot@element.io>
2024-01-16 15:49:44 +01:00
Jorge Martin Espinosa
c6402f3c02 Hide verbose state events from the timeline (#2225) 2024-01-12 21:23:52 +00:00
Benoit Marty
3f7e641c2f Display name disambiguation #2215.
Applied to:
- timeline message
- detail of timeline message
- reply preview of timeline message
- rendering of state Event
Not applied to:
- room last message
- room member list (we display the MatrixId here)
- room member detail page
2024-01-12 15:58:33 +01:00
Benoit Marty
72a363c244 Fix moar ktlint issues 2024-01-11 11:24:10 +01:00
Benoit Marty
378692f743 Fix moar ktlint issues 2024-01-11 10:02:10 +01:00
Benoit Marty
d3830af78b Fix ktlint issues 2024-01-10 19:33:39 +01:00
renovate[bot]
7e9cda3aa9 Update plugin ktlint to v12.1.0 (#2200)
* Update plugin ktlint to v12.1.0

* Run `./gradlew ktlintFormat` and fix some issues manually.

* Fix other issues reproted by Ktlint

* Limit false positives, KtLint removes unnecessary curly brace in String templates.

* Remove useless Unit

* Minor improvements over ktlint changes

* Restore `AlertDialogContent` behaviour

* Update screenshots

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Benoit Marty <benoit@matrix.org>
Co-authored-by: Jorge Martín <jorgem@element.io>
Co-authored-by: ElementBot <benoitm+elementbot@element.io>
2024-01-10 16:22:24 +01:00
Marco Antonio Alvarez
378da8ce21 [Feature] Render m.sticker events (#2122)
* Render m.sticker events
---------

Signed-off-by: Marco Antonio Alvarez <surakin@gmail.com>
Co-authored-by: ElementBot <benoitm+elementbot@element.io>
2024-01-02 16:03:19 +01:00
Benoit Marty
521d4a1983 Add missing test for SecureBackupEnablePresenter 2023-12-28 16:33:53 +01:00
Benoit Marty
e589b97fa5 Attempt to fix test on CI.
The test is failing on CI with this error:
expected instance of: io.element.android.libraries.architecture.Async$Success
but was instance of : io.element.android.libraries.architecture.Async$Loading
with value          : Loading(prevData=null)
2023-12-26 08:32:18 +01:00
Jorge Martín
b739cabbcd Revert "Merge pull request #2071 from element-hq/feature/bma/fixTests"
This reverts commit e49c73188d, reversing
changes made to ba04bbc5ca.
2023-12-22 12:01:42 +01:00