Commit graph

753 commits

Author SHA1 Message Date
Jorge Martin Espinosa
ede1dc0fab
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
a7541be6bb
Merge pull request #2293 from element-hq/feature/bma/notificationCount
Iterate on notification badges
2024-01-30 10:33:17 +01:00
Benoit Marty
bfb6b32740 Send typing notification #2240 2024-01-26 16:30:43 +01:00
Jorge Martin Espinosa
7e58f719fe
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
b7945675c9
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
0d35e60dac Disambiguate display name in notifications #2224 2024-01-25 18:43:56 +01:00
Benoit Marty
6ea76d9acd Map roomInfo.numUnreadNotifications to RoomSummaryDetails.numUnreadNotifications 2024-01-25 15:00:43 +01:00
Benoit Marty
cccfdfbcc7 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
da4825aa44
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
f844399025 Fix API break: use new methods canUserRedactOwn and canUserRedactOther. 2024-01-23 13:32:13 +01:00
Benoit Marty
dd12071ea2 Use new Rust fields numUnreadMessages and numUnreadMentions, and iterate on the room badge rendering. 2024-01-22 15:48:46 +01:00
Benoit Marty
c3538e500d
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
5e359a4e73
Merge pull request #2221 from element-hq/feature/bma/displayNameAmbiguous
Display name disambiguation
2024-01-19 17:42:32 +01:00
Benoit Marty
b4773d541f
Merge pull request #2244 from element-hq/feature/bma/encryptedDb2
Encrypted db
2024-01-19 17:40:23 +01:00
Jorge Martin Espinosa
5d462d5ba9
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
69b290f6fd
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
f8f100ccc8 Remove default value of RoomSummaryDetails constructor, and iterate on fixture functions. 2024-01-19 16:46:42 +01:00
Benoit Marty
782f73fb7c Remove notificationMode to userDefinedNotificationMode to match SDK name. 2024-01-19 16:46:42 +01:00
Benoit Marty
ecb000b8ed Remove hasOngoingCall to hasRoomCall to match SDK name. 2024-01-19 16:16:57 +01:00
Benoit Marty
2c691d527b Remove RoomSummaryDetails.lastMessageTimestamp and replace by a getter on lastMessage 2024-01-19 16:11:10 +01:00
Benoit Marty
be0da18a7b Rename userAvatarURLString to userAvatarUrl 2024-01-19 15:59:50 +01:00
Benoit Marty
d1c7520065 Rename avatarURLString to avatarUrl 2024-01-19 15:58:37 +01:00
Benoit Marty
4c86126eae Rename aRoomSummaryDetail to aRoomSummaryDetails 2024-01-19 15:55:26 +01:00
Benoit Marty
ea90b2b833 Remove obsolete comment. 2024-01-19 13:24:50 +01:00
Jorge Martín
48b90fd317 Adapt changes from SDK 0.1.84 2024-01-19 13:20:13 +01:00
Jorge Martin Espinosa
6ecce81f45
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
3a91f830da 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
f9c1892f2f SessionData: add the passphrase. 2024-01-18 11:50:05 +01:00
Jorge Martin Espinosa
27f55c0bc4
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
4a7b04524a
Hide verbose state events from the timeline (#2225) 2024-01-12 21:23:52 +00:00
Benoit Marty
14d5274d22 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
d01c70a4fd Fix moar ktlint issues 2024-01-11 11:24:10 +01:00
Benoit Marty
5d086ad82d Fix moar ktlint issues 2024-01-11 10:02:10 +01:00
Benoit Marty
a831f05f6e Fix ktlint issues 2024-01-10 19:33:39 +01:00
renovate[bot]
c8bd362397
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
87c8bc133f
[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
35baaa6209 Add missing test for SecureBackupEnablePresenter 2023-12-28 16:33:53 +01:00
Benoit Marty
b9b746bea7 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
c5c920cfa6 Revert "Merge pull request #2071 from element-hq/feature/bma/fixTests"
This reverts commit 19edf067fa, reversing
changes made to fb766f5176.
2023-12-22 12:01:42 +01:00
Jorge Martin Espinosa
cbf34929af
Revert "Room list badges" 2023-12-22 11:02:07 +01:00
Benoit Marty
3bb27a662a
Merge pull request #2080 from element-hq/feature/bma/roomListBadges
Room list badges
2023-12-21 16:44:10 +01:00
Benoit Marty
91027f82e9 Fix test. 2023-12-21 16:11:03 +01:00
Benoit Marty
7273abd42b
Merge pull request #2041 from element-hq/feature/fga/fix_timeline_back_pagination_loop
Fix timeline back pagination loop in encrypted room.
2023-12-21 15:42:23 +01:00
Benoit Marty
f2c989cbd6 Iterate on indicators on room list #2079 2023-12-21 14:51:31 +01:00
Benoit Marty
f94f5e4713 Second attempt... 2023-12-20 14:33:16 +01:00
Benoit Marty
ee766ecf26 Providing a thumbnail when sending a media is now optional. 2023-12-19 10:41:44 +01:00
ganfra
d641ef29ce Tests: replace "0" by FAKE_UNIQUE_ID when its ok. 2023-12-18 18:19:32 +01:00
Benoit Marty
1b0a4093d9 Fix test which was passing for wrong reason. 2023-12-15 20:07:11 +01:00
ganfra
c0ac6e191b Timeline : makes sure pagination state is computed correctly and only in one place. 2023-12-15 15:02:46 +01:00
ganfra
f961d81eb0 Timeline : uniqueId exposed as String directly from matrix module. 2023-12-15 14:48:49 +01:00