Commit Graph

2113 Commits

Author SHA1 Message Date
Benoit Marty b104dba845 Remove Modifier parameter in private function when only default value is used.
This will improve the code coverage metrics, and this also fixes a few potential bug, where the Modifier was used several times.
2024-02-08 11:06:06 +01:00
Jorge Martin Espinosa d06e5c23cb Move migration screen to within the room list (#2361)
* Rename migration bg drawable and add night variant
* Move `migration` package from `ftue` to `messages:impl` module
* Update `SunsetPage` with light and dark modes
* Fix bloom colors when nested theme is used
* Integrate the migration screen in the room list
* Fix `WaitListView` cancel button color
* Clear migration store when removing the app's cache

---------

Co-authored-by: ElementBot <benoitm+elementbot@element.io>
2024-02-08 10:01:08 +00:00
Jorge Martin Espinosa c864adb493 Merge branch 'develop' into poljar/log-olm-trace 2024-02-08 09:50:58 +01:00
Benoit Marty 57d9b262d3 Extract session folder name computation from RustMatrixClient 2024-02-07 16:33:48 +01:00
Benoit Marty afc2e6c7fe Remove LogCompositions.
It was used at the beginning of the project, but is not useful anymore.
2024-02-07 16:33:48 +01:00
Damir Jelić 1fd4075900 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 022d309eb6 Merge pull request #2349 from element-hq/feature/bma/disableTyping
"Share presence" setting
2024-02-07 10:29:43 +01:00
Benoit Marty 46ff038b98 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
Benoit Marty 8c56f0bd92 Fix API break and change from SDK 0.1.97 2024-02-06 09:18:35 +01:00
Benoit Marty 9d1bc5925c Avoid computing default value if it's not necessary. 2024-02-05 12:29:36 +01:00
Benoit Marty a3716d0e0d SessionPreferencesStore: add entries for sharePresence, renderReadReceipts, sendTypingNotifications, renderTypingNotifications.
`sharePresence` should take existing value of `sendPublicReadReceipts`, which has been added first.
2024-02-05 12:27:04 +01:00
bmarty 03c95555e3 Sync Strings from Localazy 2024-02-05 00:09:59 +00:00
Jorge Martin Espinosa eff515e544 Merge pull request #2303 from element-hq/misc/jme/remove-session-preferences-on-logout
Remove session preferences on logout.
2024-02-02 16:26:15 +01:00
Jorge Martín 686d58ee0a 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
Marco Antonio Alvarez f98cd5b99b Merge branch 'develop' of github.com:element-hq/element-x-android into align-cta-button-on-login-flow
# Conflicts:
#	features/onboarding/impl/src/main/kotlin/io/element/android/features/onboarding/impl/OnBoardingView.kt
#	tests/uitests/src/test/snapshots/images/ui_S_t[f.onboarding.impl_OnBoardingScreen_null_OnBoardingScreen-Day-0_1_null_0,NEXUS_5,1.0,en].png
#	tests/uitests/src/test/snapshots/images/ui_S_t[f.onboarding.impl_OnBoardingScreen_null_OnBoardingScreen-Day-0_1_null_1,NEXUS_5,1.0,en].png
#	tests/uitests/src/test/snapshots/images/ui_S_t[f.onboarding.impl_OnBoardingScreen_null_OnBoardingScreen-Day-0_1_null_2,NEXUS_5,1.0,en].png
#	tests/uitests/src/test/snapshots/images/ui_S_t[f.onboarding.impl_OnBoardingScreen_null_OnBoardingScreen-Day-0_1_null_3,NEXUS_5,1.0,en].png
#	tests/uitests/src/test/snapshots/images/ui_S_t[f.onboarding.impl_OnBoardingScreen_null_OnBoardingScreen-Day-0_1_null_4,NEXUS_5,1.0,en].png
#	tests/uitests/src/test/snapshots/images/ui_S_t[f.onboarding.impl_OnBoardingScreen_null_OnBoardingScreen-Night-0_2_null_0,NEXUS_5,1.0,en].png
#	tests/uitests/src/test/snapshots/images/ui_S_t[f.onboarding.impl_OnBoardingScreen_null_OnBoardingScreen-Night-0_2_null_1,NEXUS_5,1.0,en].png
#	tests/uitests/src/test/snapshots/images/ui_S_t[f.onboarding.impl_OnBoardingScreen_null_OnBoardingScreen-Night-0_2_null_2,NEXUS_5,1.0,en].png
#	tests/uitests/src/test/snapshots/images/ui_S_t[f.onboarding.impl_OnBoardingScreen_null_OnBoardingScreen-Night-0_2_null_3,NEXUS_5,1.0,en].png
#	tests/uitests/src/test/snapshots/images/ui_S_t[f.onboarding.impl_OnBoardingScreen_null_OnBoardingScreen-Night-0_2_null_4,NEXUS_5,1.0,en].png
2024-02-01 17:54:11 +01:00
Jorge Martin Espinosa a189e744e7 Merge pull request #2333 from element-hq/feature/jme/use-unencrypted-room-calls-if-room-is-not-encrypted
Use `MatrixRoom.isEncrypted` value to set encryption mode in room calls
2024-02-01 16:19:42 +01:00
Benoit Marty e946d92ec3 Merge pull request #2328 from element-hq/sync-localazy
Sync Strings
2024-02-01 15:44:42 +01:00
Jorge Martín 90e640e738 Fix test fixtures 2024-02-01 12:19:25 +01:00
SpiritCroc f93c962509 Do not crash on UP unregistered 2024-02-01 12:04:47 +01:00
Jorge Martín 5c59ecbaa6 Use MatrixRoom.isEncrypted value to enable encryption in room calls 2024-02-01 11:49:17 +01:00
jmartinesp f7abfb2f5a Sync Strings from Localazy 2024-01-31 11:38:48 +00:00
renovate[bot] 4854733b8d 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 c2fc6db423 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 Martín 8e9e9d8296 Remove session preferences on logout
Observe the sessions in `DefaultSessionPreferencesFactory` and remove the session preferences from both the cache and disk when a session is finished.
2024-01-31 10:35:29 +01:00
Jorge Martin Espinosa 0f5038af8f Make the whole items in advanced settings screen clickable, standarize paddings (#2314)
* Make sure the whole item in advanced settings screen triggers the toggle action

* Fix UI changes when setting `onChecked` actions to null.

* Fix padding in invite member list items

* Remove redundant `CheckableUserRow` alternatives.

* Use 4dp for padding instead

---------

Co-authored-by: ElementBot <benoitm+elementbot@element.io>
2024-01-30 11:39:04 +00:00
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 5b0268a543 Merge pull request #2309 from element-hq/sync-localazy
Sync Strings
2024-01-29 09:55:38 +01:00
bmarty 7b0dcbe6a5 Sync Strings from Localazy 2024-01-29 00:09:56 +00: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
Benoit Marty a45cd0b360 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 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 eb51b49aef Always use the latest... fix. 2024-01-23 18:13:33 +01:00
Benoit Marty 3ced570b3c 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 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
bmarty 4914c512fe Sync Strings from Localazy 2024-01-22 00:10:44 +00: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