Commit graph

128 commits

Author SHA1 Message Date
Benoit Marty
75d6eaf8f3 Organization renaming: replace all https://github.com/vector-im by https://github.com/element-hq 2023-12-13 09:40:07 +01:00
renovate[bot]
56d4e23e7f
Update dependency io.nlopez.compose.rules:detekt to v0.3.5 (#1906)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-12-04 16:03:18 +01:00
Jorge Martin Espinosa
3d9aa55995
Remove warnings in the compose compiler reports configuration gradle code (#1932) 2023-11-30 11:42:26 +01:00
Jorge Martin Espinosa
ba4d3a70c7
Try to make all collections used in Compose code immutable (#1922)
* Try to make all collections used in Compose code immutable.

Mark sealed interfaces as `@Immutable` too

* Add gradle code to check the compose compiler reports

* Fix some more unstable classes
2023-11-29 15:02:08 +00:00
Benoit Marty
886627d633 Increase Global minimum code coverage boundaries. 2023-11-27 17:13:59 +01:00
Benoit Marty
3a400b5814 Use gradle catalog. 2023-11-10 15:52:28 +01:00
renovate[bot]
9e66180d20
Update kotlin (#1697)
* Update kotlin

* Lower Sonar RAM usage, remove redundant `Dkotlin.daemon.jvm.options`

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Jorge Martín <jorgem@element.io>
2023-11-08 12:58:14 +00:00
renovate[bot]
c63601a615
Update dependency io.nlopez.compose.rules:detekt to v0.3.3 (#1638)
* Update dependency io.nlopez.compose.rules:detekt to v0.3.3

* Fix lint issues

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Jorge Martín <jorgem@element.io>
2023-11-02 13:11:42 +01:00
Jorge Martin Espinosa
44de6adb86
Initial support for member suggestions (#1631)
* Initial support for member suggestion (search and UI)

* Add custom `BottomSheetScaffold` implementation to workaround several scrolling bugs

* Start searching as soon as `@` is typed, add UI following initial designs

* Extract suggestion processing code

* Extract component, add previews, fix tests

* Add tests

* Add exception from kover to the forked bottom sheet code

* Add a feature flag for mentions

- Extract composer & mention suggestions to their composable.
- Extract mentions suggestions processing to its own class.
- Add `MatrixRoom.canTriggerRoomNotification` function.
- Update strings and conditions for displaying the `@room` mention.

---------

Co-authored-by: ElementBot <benoitm+elementbot@element.io>
2023-10-27 10:26:40 +00:00
Jorge Martin Espinosa
030e86f56b
Update the chat screen UI using RoomInfo. (#1640)
* Update the chat screen UI using `RoomInfo`.

This is specially useful for getting live values for `hasRoomCall`.

* Ensure the first `MatrixRoomInfo` is emitted ASAP

* Try excluding `*Present$present$*` inner functions from kover as separate entities

* Update strings

---------

Co-authored-by: ElementBot <benoitm+elementbot@element.io>
2023-10-26 14:27:42 +00:00
Benoit Marty
3fbe8b61ba Test coverage: Exclude :libraries:matrix:impl module, it contains only wrappers to access the Rust Matrix SDK api, and mappers. It is not really relevant to unit test that: there is no logic to test. 2023-10-24 17:17:15 +02:00
ganfra
6230d9d48b PIN : add test for SetupPinPresenter 2023-10-23 11:41:08 +02:00
ganfra
5b611ed017 Lockscreen: renaming 2023-10-20 15:15:19 +02:00
ganfra
e88a5fc858 Pin create: add test for presenter 2023-10-19 15:45:11 +02:00
ganfra
436c9e83f0 Fix kover... 2023-10-18 16:52:45 +02:00
Benoit Marty
a3b25022cd Kover: properly exclude pin code presenters 2023-10-13 17:22:05 +02:00
ganfra
0ad7e8fab0 Pin setup : exclude pin presenters from test coverage check 2023-10-12 17:45:22 +02:00
Benoit Marty
a536ff0c9b Kover: ignore "*_Factory_Impl" 2023-09-29 17:06:58 +02:00
Benoit Marty
cd1039ef54 Increase koverage threshold 2023-09-29 15:13:06 +02:00
Benoit Marty
525448d27d Exclude generated classes from code coverage (locally: 64.1% to 65%) 2023-09-29 15:12:03 +02:00
Benoit Marty
5fa97075b5 buildDir is deprecated, replace by layout.buildDirectory 2023-09-29 09:56:32 +02:00
renovate[bot]
f2260aa084
Update dependency io.nlopez.compose.rules:detekt to v0.3.0 2023-09-20 21:21:10 +00:00
renovate[bot]
c4b5778b06
Update dependency io.nlopez.compose.rules:detekt to v0.2.3 2023-09-17 12:29:03 +00:00
renovate[bot]
9190880643
Update dependency com.google.gms:google-services to v4.4.0 2023-09-14 22:25:11 +00:00
renovate[bot]
baebe419e7
Update dependency io.nlopez.compose.rules:detekt to v0.2.2 2023-09-10 13:12:46 +00:00
Jorge Martin Espinosa
e19b27badf
De-duplicate sonar job in the CI (#1238)
* De-duplicate sonar job in the CI

* Remove workaround for `src/*/kotlin` folders

* Downgrade the sonarqube plugin version

* Try increasing workers for this job, since it's quite slow

* Warn about regression in latest sonarqube release

* Forbid backups to prevent cryptographic issues
2023-09-07 11:19:13 +00:00
Benoit Marty
128c4a7b09
SDK 0.1.49: notification decryption is now fully handled by the Rust SDK. (#1231)
* Revert "Ensure the sync is started when receiving a Push, to ensure that the encryption loop is running."

This reverts commit 82f6f358a7.

* Integrate SDK from https://github.com/matrix-org/matrix-rust-sdk/pull/2505

* Enable retryDecryption() on the NotificationClient.

* SDK 0.1.49 - Encryption Sync is enabled by default now, and retryDecryption is the default too.

* Remove feature flag `UseEncryptionSync`

* Fix sample project build

* Exclude `DeveloperSettingsPresenter` from kover verification.

* Add changelog

---------

Co-authored-by: Jorge Martín <jorgem@element.io>
2023-09-06 11:33:36 +02:00
renovate[bot]
bb75539647
Update kotlin to 1.9.10 (#1123)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-08-30 08:28:06 +02:00
Benoit Marty
73784463ce Disable running buildHealth on the CI for now. 2023-08-18 17:49:06 +02:00
yostyle
f33f006aa3 Add task in CI 2023-08-18 17:27:08 +02:00
yostyle
37f5f3bdb7 Check unused plugins 2023-08-18 17:27:08 +02:00
Jorge Martín
31423557ab Fix excludes so screenshot tests are only run once 2023-08-18 14:11:15 +02:00
Benoit Marty
f0eb072a17
Merge pull request #1068 from vector-im/fix/jme/snackbar-padding
Fix snackbar padding
2023-08-17 17:53:54 +02:00
Benoit Marty
b44dde4df6
Merge pull request #1001 from vector-im/renovate/io.nlopez.compose.rules-detekt-0.x
Update dependency io.nlopez.compose.rules:detekt to v0.2.1
2023-08-17 17:48:52 +02:00
Jorge Martín
a3ad3a3788 Try to fix showkase metadata code generation 2023-08-17 16:28:35 +02:00
Jorge Martin Espinosa
0324719606
Upgrade compose-material3 to 1.2.0-alpha05 version (#1011)
Co-authored-by: ElementBot <benoitm+elementbot@element.io>

Also upgrade compileSdk to 34.
2023-08-17 14:20:54 +02:00
renovate[bot]
4a630f141d
Update kotlin - TO BE MERGED AFTER THE RELEASE (#789)
* Update kotlin

* Update kotlinc.xml

* Update ksp

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Marco Romano <marcor@element.io>
Co-authored-by: Benoit Marty <benoit@matrix.org>
2023-08-17 08:58:10 +00:00
renovate[bot]
f138f7c001
Update dependency io.nlopez.compose.rules:detekt to v0.2.1 2023-08-16 12:42:11 +00:00
Benoit Marty
d70fd5b5f9 Fix warning: "'setter for config: ConfigurableFileCollection' is deprecated. Setter will be removed in a future release. Use from or setFrom instead." 2023-07-26 09:45:40 +02:00
Benoit Marty
39b170179e Ignore compilation warnings, disabled by default. 2023-07-20 15:27:57 +02:00
Benoit Marty
80cf8e758a
Merge branch 'develop' into fix/jme/880-sliding-sync-loop-expires-and-restarts 2023-07-17 22:18:59 +02:00
Benoit Marty
af17a5646c Ignore RootNavState regarding koverage. 2023-07-17 22:17:04 +02:00
Jorge Martin Espinosa
2488432805
Hide encryption history + FTUE flow (#839)
* First attempt at implementing encrypted history banner and removing old UTDs

* Get the right behavior in the timeline

* Implement the designs

* Extract post-processing logic, add tests

* Add encryption banner to timeline screenshots

* Create FTUE feature to handle welcome screen and analytics

* Move classes to their own packages, add tests for `DefaultFtueState`.

* Remove unnecessary private MutableStateFlow

* Move some FTUE related methods and classes back to the `impl` module

* Handle back press at each FTUE step

* Remove unneeded `TestScope` receiver for `createState` in tests.

* Use light & dark previews for the banner view.

* Move color customization from `TextStyle` to `Text` component.

* Rename `InfoList` design components, use them in `AnalyticsOptInView` too.

* Cleanup MatrixClient.

* Fix copy&paste error

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

* Fix typo

* Fix Maestro tests

---------

Co-authored-by: ElementBot <benoitm+elementbot@element.io>
Co-authored-by: Benoit Marty <benoit@matrix.org>
2023-07-17 18:34:36 +02:00
Marco Romano
004b86b05d
MapLibre compose wrapper library (#877)
Heavily inspired from https://github.com/googlemaps/android-maps-compose It doesn't aim to be a full featured library like android-maps-compose, it's been stripped down to only handle our use cases.

Related to:
https://github.com/vector-im/element-meta/issues/1674
https://github.com/vector-im/element-meta/issues/1682
2023-07-17 16:22:29 +02:00
Jorge Martin Espinosa
8865cc2b57
Disable Paparazzi tasks when Kover is running. (#884)
* Disable Paparazzi tasks when Kover is running.

It allows us to split the test jobs between unit tests, screenshot test and coverage reports.

* Move Sonar upload to the quality workflow, since we have no lint info in tests.
2023-07-17 10:55:51 +02:00
Jorge Martin Espinosa
978c7c2aa4
Try to improve 'Tests' CI job times (#865)
* Try to improve 'Tests' CI job times

* Remove `-Pci-build=true` for jobs where the debug mode can be explicitly used

* Add some more excluded `*State` values for kover

* Run paparazzi verification at the same time as Kover tasks, otherwise the coverage is lost.
2023-07-13 10:47:55 +02:00
Benoit Marty
c3ddc628a4 Add exepction for SwipeableActionsState. 2023-07-10 13:03:55 +02:00
Benoit Marty
5e444406e6
Merge pull request #814 from vector-im/renovate/io.nlopez.compose.rules-detekt-0.x
Update dependency io.nlopez.compose.rules:detekt to v0.1.12
2023-07-07 22:18:47 +02:00
Chris Smith
aedcb93bca Reduce code coverage threshold for presenters
Drop from 90% to 85% to allow for smaller presenters where the
number of untestable instructions generated by kotlin/compose
can reach ~10% of the entire file.
2023-07-07 13:22:28 +01:00
renovate[bot]
8beb8c5f6b
Update dependency io.nlopez.compose.rules:detekt to v0.1.12 2023-07-07 11:26:39 +00:00