Commit Graph

573 Commits

Author SHA1 Message Date
Jorge Martin Espinosa
5dafd95eed Improve designs of FTUE analytics opt-in screen (#2684)
* Improve designs of FTUE analytics opt-in screen

* Update screenshots

---------

Co-authored-by: ElementBot <benoitm+elementbot@element.io>
2024-04-10 10:28:05 +02:00
Jorge Martin Espinosa
3436351619 Improve session recovery screens (#2657)
* Improve enter recovery key screen UI

* Add instructions to reset the encryption of the logged in account.

* Update screenshots

* Fix maestro flow

---------

Co-authored-by: ElementBot <benoitm+elementbot@element.io>
2024-04-09 17:01:06 +00:00
Benoit Marty
dcf878350b Merge pull request #2674 from element-hq/feature/bma/roomSuggestion
Room / User suggestions
2024-04-08 17:26:54 +02:00
Benoit Marty
da9a8f8cb1 Exclude fun ContentToPreview() from coverage, this is not production code. 2024-04-08 16:20:42 +02:00
Benoit Marty
4d9c48cf29 Merge pull request #2667 from SpiritCroc/avatar-fallback
Fall back to initials avatar when image avatar doesn't work
2024-04-08 14:42:11 +02:00
Jorge Martin Espinosa
5a08a4b5a3 Improve UI for notification permission screen in onboarding (#2660)
* Improve UI for notification permission screen in onboarding

* Update screenshots

---------

Co-authored-by: ElementBot <benoitm+elementbot@element.io>
2024-04-08 10:58:37 +02:00
SpiritCroc
218fc8c89c Add back debugPlaceholderAvatar for inspection mode 2024-04-08 09:59:02 +02:00
SpiritCroc
2ee96f12ff Fall back to initials avatar when image avatar doesn't work
Initially I had it implemented such that it would only fallback on
error, but actually it's nice to have also while loading if it takes
a while to load the avatar.
2024-04-07 19:18:30 +02:00
Benoit Marty
f005555fdc Remove unused circularReveal Modifier. 2024-04-04 14:49:42 +02:00
Jorge Martin Espinosa
8b335a9125 Move session verification to FTUE flow, make it mandatory (#2594)
* Move session verification to the FTUE
* Allow session verification flow to be restarted
* Use `EncryptionService` to display session verification faster
* Remove session verification item from settings
* Remove session verification banner from room list
* Remove 'verification needed' variant from the `TimelineEncryptedHistoryBanner`
* Improve verification flow UI and UX
* Remove 'verification successful' snackbar message
* Only register push provider after the session has been verified
* Hide room list while the session hasn't been verified
* Prevent deep links from changing the navigation if the session isn't verified
* Update screenshots
* Renamed `FtueState` to `FtueService`, created an actual `FtueState`.

---------

Co-authored-by: ElementBot <benoitm+elementbot@element.io>
2024-04-03 14:53:17 +00:00
ganfra
33c3dc07aa Merge branch 'develop' into feature/fga/room_directory 2024-03-28 16:15:04 +01:00
Benoit Marty
69711bf316 Add trophy icon next the the winner vote in polls. 2024-03-26 17:58:31 +01:00
ganfra
089fbe697a RoomDirectory : continue implementing the search 2024-03-25 11:17:19 +01:00
ganfra
3d071f0765 Merge branch 'develop' into feature/fga/room_directory 2024-03-21 17:24:54 +01:00
Jorge Martin Espinosa
ca578f79e8 Compound: add BigIcon, BigCheckmark and PageTitle components (#2574)
* Compound: add `BigIcon`, `BigCheckmark` and `PageTitle` components

* Update screenshots

---------

Co-authored-by: ElementBot <benoitm+elementbot@element.io>
2024-03-21 11:10:11 +01:00
ganfra
fcfe4e9d31 Room directory search : start implementing ui with fake data 2024-03-20 18:32:41 +01:00
Jorge Martin Espinosa
1e0891bb68 Implement MSC2530 (#2570)
* Implement MSC2530
* Some layout improvements for images and videos with captions
* Update screenshots
* Replace `it` in several previews with `isMine`

---------

Signed-off-by: Marco Antonio Alvarez <surakin@gmail.com>
Co-authored-by: Marco Antonio Alvarez <surakin@gmail.com>
Co-authored-by: ElementBot <benoitm+elementbot@element.io>
2024-03-20 13:58:29 +01:00
Benoit Marty
af79175af7 Simplification since MatrixUser cannot be null anymore. 2024-03-18 16:46:26 +01:00
Benoit Marty
a616790106 Fix preview on View having ModalBottomSheet. 2024-03-07 13:51:20 +01:00
Jorge Martin Espinosa
d8f9408cdb Room member moderation: kick, ban and unban (#2496)
* Room member moderation: kick, ban and unban

---------

Co-authored-by: ElementBot <benoitm+elementbot@element.io>
2024-03-06 16:44:05 +01:00
Benoit Marty
05c9c4e227 Merge pull request #2448 from element-hq/feature/bma/testMediaViewerView
Add test on MediaViewerView and other missing unit tests.
2024-02-27 15:51:45 +01:00
Benoit Marty
2f234573e9 Add test on TextField for TextFieldValue parameter 2024-02-27 10:18:40 +01:00
Jorge Martin Espinosa
f0700f9904 Show blocked users list (#2437)
* Show blocked users list.

Also allow to unblock them from this list.

* Add non-blocking `AsyncIndicatorHost` component

* Use `StateFlow` for getting ignored users.

---------

Co-authored-by: ElementBot <benoitm+elementbot@element.io>
2024-02-26 15:24:22 +00:00
ganfra
e7c1cbe65e RoomListFilters: try to improve ui with animation and fading edges 2024-02-20 21:17:16 +01:00
Benoit Marty
b48aa45d51 Add first tests for ShowLocationView 2024-02-19 13:36:08 +01:00
Jorge Martin Espinosa
973c57d401 Update Compound to v0.0.5 and update icons (#2380)
Update Compound to `v0.0.5`:

- Make sure we fix all the breaking changes.
- Update some icons to use the compound version instead.
-Replace icons with their Compound counterparts when possible.
- Clean up unused icons.
- Fix issues with incorrect icons or sizes being used after replacing the temporary icons with the Compound ones.

---------

Co-authored-by: ElementBot <benoitm+elementbot@element.io>
2024-02-12 16:41:58 +00:00
Benoit Marty
f3a0ce87a1 Ensure all dialogs have the same preview format.
A combined ElementThemedPreview with PreviewGroup.Dialogs for Showkase and a regular PreviewsDayNight for code coverage
2024-02-09 22:31:35 +01:00
Benoit Marty
505bd5c738 Fix potential error:
Modifier factory functions must use the receiver Modifier instance
2024-02-08 11:06:06 +01:00
Benoit Marty
5669aa27e6 Move clearFocusOnTap to the designsystem library to reduce code duplication. 2024-02-08 11:06:06 +01:00
Benoit Marty
72b89338b3 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
6f082232d3 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
Benoit Marty
a1f78372d6 Remove LogCompositions.
It was used at the beginning of the project, but is not useful anymore.
2024-02-07 16:33:48 +01:00
Marco Antonio Alvarez
ab4b3c2b01 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
7686fbbd07 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
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
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
Marco Antonio Alvarez
0d3ce695c7 Adjusted the login flow buttons a little bit
They were slightly smaller on the onboarding page so I used that everywhere

Signed-off-by: Marco Antonio Alvarez <surakin@gmail.com>
2024-01-11 18:30:10 +01:00
Benoit Marty
a926b3d390 Merge branch 'develop' into feature/bma/sxcludePreviewFromCodeCoverage 2024-01-11 16:02:58 +01:00
Benoit Marty
d3830af78b Fix ktlint issues 2024-01-10 19:33:39 +01:00
Benoit Marty
7b699d96c0 Ignore ktlint issue for this particular object. 2024-01-10 19:31:36 +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
Jorge Martin Espinosa
e762584a37 Improve rendering of voice messages in the timeline in large displays (#2199)
* Improve rendering of voice messages in the timeline in large displays

---------

Co-authored-by: ElementBot <benoitm+elementbot@element.io>
2024-01-09 18:07:23 +01:00
Benoit Marty
7fbe848243 Exclude ContentToPreview from coverage, either by using annotation @ExcludeFromCoverage, or by inlining it. 2024-01-09 17:56:01 +01:00
ganfra
2f49de1fbb Rename SearchBarResultState.Empty to SearchBarResultState.Initial 2024-01-05 15:40:02 +01:00
ganfra
2a240d2496 Merge branch 'develop' into feature/fga/invite_user_loader 2024-01-05 14:02:58 +01:00
ganfra
690a165411 User search : show a loader when fetching results 2024-01-04 21:27:44 +01:00
Benoit Marty
1dc6e5edb3 Clean up 2024-01-04 18:45:34 +01:00
Benoit Marty
b466ade6a1 Rename parameter 2024-01-04 18:10:53 +01:00
Benoit Marty
d78ce21939 Rename AsyncView to AsyncActionView 2024-01-04 17:50:52 +01:00