Commit Graph

2081 Commits

Author SHA1 Message Date
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
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
Benoit Marty
3faaf208b4 Merge pull request #2264 from element-hq/renovate/io.nlopez.compose.rules-detekt-0.x
Update dependency io.nlopez.compose.rules:detekt to v0.3.10
2024-01-23 18:55:02 +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
30cea9c70a Always use the latest... fix. 2024-01-23 18:13:33 +01:00
Benoit Marty
cff076b508 Fix detekt issue:
Lambda parameters in a @Composable that are referenced directly inside of restarting effects can cause issues or unpredictable behavior.

If restarting the effect is ok, you can add the reference to this parameter as a key in that effect, so when the parameter changes, a new effect is created.
However, if the effect is not to be restarted, you will need to use `rememberUpdatedState` on the parameter and use its result in the effect.

See https://mrmans0n.github.io/compose-rules/rules/#be-mindful-of-the-arguments-you-use-inside-of-a-restarting-effect for more information. [LambdaParameterInRestartableEffect]
2024-01-23 18:13:33 +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
bmarty
d2a4c737a6 Sync Strings from Localazy 2024-01-22 00:10:44 +00: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
e6d2e1af72 Merge pull request #2248 from element-hq/feature/bma/pushProviderSelection
Ensure that a PushProvider is available on a device before using it.
2024-01-18 14:46:05 +01:00
Benoit Marty
95e228a993 Fix test. 2024-01-18 12:44:20 +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
27ddc4ec74 Upgrade Material3 Compose to 1.2.0-beta02 (#2247)
* Upgrade Material3 Compose to `1.2.0-beta02`.

There is also a constraint on a transitive Compose Foundation dependency version (1.6.0-beta02) that fixes the timeline scrolling issue.

---------

Co-authored-by: ElementBot <benoitm+elementbot@element.io>
2024-01-18 08:49:55 +01:00
Benoit Marty
57e1aee984 Ensure that a PushProvider is available on a device before using it.
It help to fallback to UnifiedPush (if available) if the PlayServices are not installed on the device.
2024-01-17 17:11:34 +01:00
Benoit Marty
d8c4d411cc Merge pull request #2237 from element-hq/feature/bma/longUserId
Be robust with long userId
2024-01-16 23:16:40 +01:00
Benoit Marty
48a7573884 PushClientSecretImpl needs to be a singleton now that it observe the sessions. 2024-01-16 17:33:36 +01:00
Benoit Marty
22a3b64f5f Fix typo 2024-01-16 17:31:26 +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
Benoit Marty
fcb84016ca Ensure client secret is deleted when the user signs out. 2024-01-16 14:34:06 +01:00
Benoit Marty
504ff46f1b Also delete the preference file when the store is reset. 2024-01-16 14:14:04 +01:00
Benoit Marty
9f4164a287 Migrate preferencesDataStoreFile to a file using a hash, to fix a crash if the userId is too long. 2024-01-16 14:13:41 +01:00
ElementBot
3a37460814 Sync Strings (#2230)
Co-authored-by: bmarty <bmarty@users.noreply.github.com>
2024-01-15 09:21:04 +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
d76ee23514 Merge pull request #2202 from element-hq/feature/bma/removeReadReceiptFlag
Remove ReadReceipts feature flag.
2024-01-11 17:13:35 +01:00
Benoit Marty
a926b3d390 Merge branch 'develop' into feature/bma/sxcludePreviewFromCodeCoverage 2024-01-11 16:02:58 +01:00
Benoit Marty
4dcafb6aa6 Remove ReadReceipts feature flag. 2024-01-11 15:57:59 +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
Benoit Marty
246c33589a Ignore ktlint issue for this particular class. 2024-01-10 19:31:36 +01:00
Benoit Marty
7b699d96c0 Ignore ktlint issue for this particular object. 2024-01-10 19:31:36 +01:00