Commit graph

505 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
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
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
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
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
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
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
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
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
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
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
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
Benoit Marty
949d57bd41 Fix compilation issue after merging develop 2023-12-14 17:36:35 +01:00
Benoit Marty
8f286c8ce6
Merge branch 'develop' into julioromano/poll_history_entry_point 2023-12-14 17:34:49 +01:00
Jorge Martin Espinosa
d27e9e5265
Add warning message to 'mentions and keywords only' notification option (#2028)
* Add warning message to 'mentions and keywords only'

 It should be displayed when it's not supported by the homeserver

* Only display disclaimer in the room notification settings if the room is encrypted

Co-authored-by: Benoit Marty <benoit@matrix.org>

* Fix test and add another one

---------

Co-authored-by: ElementBot <benoitm+elementbot@element.io>
Co-authored-by: Benoit Marty <benoit@matrix.org>
2023-12-14 16:15:39 +00:00
Benoit Marty
664e8b6d5b
Merge branch 'develop' into julioromano/poll_history_entry_point 2023-12-14 16:58:23 +01:00
Benoit Marty
e725747ea3
Merge pull request #2015 from element-hq/feature/bma/asyncMedia
ReadReceipt
2023-12-14 16:03:09 +01:00
ganfra
5ac3f273ea Merge branch 'develop' into julioromano/poll_history_entry_point 2023-12-14 15:17:13 +01:00
ganfra
bb7123afbd Fix tests and warnings 2023-12-14 13:13:11 +01:00
Jorge Martin Espinosa
2492584786
Handle tapping on user mentions (#2021) 2023-12-14 11:56:59 +00:00
ganfra
5d37c66caf
Merge pull request #1897 from element-hq/jonny/timeline-poll-edited
Display edited indicator for polls in the timeline
2023-12-14 08:13:11 +01:00
Benoit Marty
36ccc1ccbd Fix API break regarding ReceiptType 2023-12-13 18:02:06 +01:00
ganfra
863d156e4d Merge branch 'develop' into julioromano/poll_history_entry_point 2023-12-13 17:22:55 +01:00
Benoit Marty
6e6930c076 Consider that the state is Done when the state is Uploading with backedUpCount == totalCount #2008 2023-12-13 15:46:42 +01:00
ganfra
e76bafc043 Timeline : avoid crash when destroying 2023-12-12 15:36:27 +01:00
Benoit Marty
764d7685c2 Remove useless constructor keyword. 2023-12-12 15:29:44 +01:00
ganfra
449c331879 Timeline: exposes simple request for backward pagination 2023-12-12 14:23:50 +01:00
Benoit Marty
0a16af1d4f
Merge pull request #1965 from vector-im/feature/bma/emojiRepresentation
Fix emoji representation
2023-12-11 17:51:58 +01:00