Commit Graph

114 Commits

Author SHA1 Message Date
Jorge Martin Espinosa 41287c5f59 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
Benoit Marty ef7553a6f6 Fix compilation of minimal app. 2024-04-02 15:06:59 +02:00
ganfra 3f1f764745 Room directory : add tests and cleanup 2024-03-28 17:03:34 +01:00
Benoit Marty 9302b65053 Fix compilation of minimal. 2024-03-15 12:00:16 +01:00
ganfra bf68261ed9 RoomList: refactor and fix tests 2024-03-12 15:38:33 +01:00
ganfra bd87e99df1 RoomListFilters : use kotlin filtering as rust one is slower and has more chance to bust the room list cache. 2024-02-27 16:24:54 +01:00
Benoit Marty ec007a2b21 Provide global proxy to the SDK 2024-02-23 11:49:35 +01:00
ganfra 57f99a9090 Merge pull request #2422 from element-hq/feature/fga/room_list_filters
[Feature] Room list filters
2024-02-22 22:59:28 +01:00
ganfra f18e8030bf Merge develop into feature/fga/room_list_filters 2024-02-22 11:15:43 +01:00
Benoit Marty fd555b1070 Move getAdditionalCertificates function to a dedicated class (no change in the implementation). 2024-02-22 11:09:55 +01:00
Benoit Marty 3f7d4ae0e5 Fix compilation issue on minimal. 2024-02-21 18:30:57 +01:00
Benoit Marty 99b8efbeff Go directly to the enter recovery key screen when coming from the banner which ask the user to do so. 2024-02-21 18:30:57 +01:00
Benoit Marty 4bc977d8dc Introduce SecurityBannerState to replace Boolean set.
Also get the sessionVerificationService from the matrixClient, instead of injecting it separately.
2024-02-21 18:30:08 +01:00
ganfra 7b018f7099 Merge branch 'develop' into feature/fga/room_list_filters 2024-02-20 21:22:25 +01:00
ganfra 448acd3d49 RoomListFilters : fix sample compilation 2024-02-20 21:18:17 +01:00
ganfra b814a101b5 Fix sample compilation 2024-02-20 10:59:13 +01:00
Benoit Marty f372fd27cf Add test for RoomListEvents.DismissRecoveryKeyPrompt.
Also get the encryptionService from the matrixClient, instead of injecting it separately.
2024-02-19 13:36:08 +01:00
ganfra e6424289a4 RoomList : fix sample compilation 2024-02-16 19:45:11 +01:00
Benoit Marty 9d461a4917 Add ability mark as unread / mark as read a room. 2024-02-08 11:33:43 +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
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 473922240e Fix compilation of sample app. 2024-01-22 14:04:57 +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 fa05b18d32 Create gplay and fdroid variant 2024-01-11 21:42:04 +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 7fdba39d6d Disable vector XML rasterisation on API 23 (#2128)
* Disable vector XML rasterisation on API 23

---------

Co-authored-by: ElementBot <benoitm+elementbot@element.io>
2023-12-29 11:41:08 +00:00
Benoit Marty bc7745e7b6 Fix compilation issue on minimal app. 2023-11-30 13:55:55 +01:00
Jorge Martin Espinosa 087d2728d5 Extract compound tokens and theming to compound-android library (#1888)
* Replace tokens & icons with the external Compound ones

---------

Co-authored-by: ElementBot <benoitm+elementbot@element.io>
2023-11-27 10:30:07 +01:00
Benoit Marty 5013ff061e Secure backup: create a feature flag (disabled) 2023-10-31 21:52:33 +01:00
Benoit Marty 9807ebf649 Secure backup 2023-10-27 12:18:40 +02:00
Marco Romano 33f5c8efb8 Add global context.cacheDir provider. (#1606)
## Type of change

- [ ] Feature
- [ ] Bugfix
- [x] Technical
- [ ] Other :

## Content

Dagger now provides the app's `cacheDir` when requesting a `@CacheDirectory File`  type.

## Motivation and context

To support some upcoming code that needs the `cacheDir` to be changed during tests.
2023-10-19 14:07:45 +02:00
Marco Romano 79d2941fe4 Include desugaring lib also in library modules (#1604)
## Type of change

- [ ] Feature
- [ ] Bugfix
- [x] Technical
- [ ] Other :

## Content

Includes the `coreLibraryDesugaring(libs.android.desugar)` dependency in all modules which use one of our gradle plugins.

## Motivation and context

Right now desugaring is enabled also in library modules but the desugar dependency is not included in those.
This causes some unwanted side effects such as being unable to run compose previews in an emu.

This change will also include the desugar dependency in those libraries.
2023-10-19 09:00:32 +00:00
Benoit Marty 88ca37984f Merge pull request #1520 from vector-im/feature/bma/sessionDb
Improve session db and improve deleted session behavior
2023-10-11 16:56:54 +02:00
Benoit Marty 8929a90970 Konsist: add test to ensure filename match top level Composable View, and fix existing issue 2023-10-10 15:39:22 +02:00
Benoit Marty 1a99fd9a62 Fix compilation issue in sample app. 2023-10-10 10:20:49 +02:00
Benoit Marty 124d6bf95f SignedOut mode - WIP 2023-10-10 10:20:31 +02:00
Benoit Marty 1c7db1de85 Ensure http url entered by the user are provided to the SDK without being altered.
Also change values in `LoginConstants`, this was not really correct.
2023-09-28 10:22:08 +02:00
David Langley 7a7cc2692e Fix test compilation 2023-09-14 19:28:56 +01: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
Benoit Marty 4766e0cc8f Fix compilation of sample app. 2023-09-04 14:23:03 +02:00
Jorge Martin Espinosa 199f578e4a Re-enable SyncService.withEncryptionSync to improve decryption of notifications (#1199)
* Re-enable `SyncService.withEncryptionSync` to improve decryption of notifications.

* Add feature flag
2023-08-31 13:37:20 +02:00
ganfra a911134636 Update rust sdk to 0.1.42 (changes in tracing and sync apis) (#1055)
* Update rust sdk to 0.1.42 (changes in tracing and sync apis)

* Fix sample compilation

---------

Co-authored-by: ganfra <francoisg@element.io>
2023-08-11 21:32:31 +00:00
ganfra fa51f6eaa7 Feature/fga/sync states (#1042)
* Change RoomSummaryDataSource to RoomListService to better reflects the rust api

* Better Sync management

* Sync: improve sync spinner rendering

* Sync: make test compiles

* Sync: add more test for sync spinner

* Sync: more clean-up

* Sync: pr review

---------

Co-authored-by: ganfra <francoisg@element.io>
2023-08-09 12:37:43 +00:00
ganfra e8d1f21a14 Feature/fga/rust sdk tracing (#1036)
* Align TracingConfiguration with iOS

* Create TracingTree from rust sdk

* tracing: create a working configuration with RustTracingTree

* Tracing: WIP implementation of new api

* Tracing: clean up

* Tracing: use the latest api

* Tracing: some more clean up

* Remove generated logcat file after compressing it

---------

Co-authored-by: ganfra <francoisg@element.io>
Co-authored-by: Jorge Martín <jorgem@element.io>
2023-08-09 10:18:49 +00:00
ganfra ac7412c2d8 Feature/fga/matrix client versions (#1022)
* Extract a RustMatrixClientFactory

* Use serverVersions api on client builder to speed up startup.

* Clean up

* Fix compilation of sample

---------

Co-authored-by: ganfra <francoisg@element.io>
2023-08-02 18:56:26 +00:00
ganfra e35bb73a86 Rework some MatrixRoom api and fix rust 'destroyed' crash 2023-07-25 12:06:36 +02:00
ganfra 60d0b5c134 Merge branch 'develop' into feature/fga/fix_room_list_scroll_position 2023-07-18 23:07:10 +02:00
ganfra 74db23e51b RoomList: fix sample compilation 2023-07-18 22:36:26 +02:00
ganfra bb12338583 RoomList: introduce RoomListDataSource so we keep the data in memory as long as the node is in the backstack. 2023-07-18 22:09:50 +02:00