Commit Graph

75 Commits

Author SHA1 Message Date
ganfra c3ef9251ab change: finished feature flag should fallback to default value 2025-12-22 17:49:41 +01:00
Benoit Marty eb31505dc7 Copyright: Add Element Creations Ltd. copyright 2025-11-10 11:05:05 +01:00
Benoit Marty f86431e663 Copyright: Add final period 2025-11-10 10:13:41 +01:00
Benoit Marty c4e0370f41 Copyright: run command uv run license-editor --repository ../element-x-android 2025-11-10 10:09:26 +01:00
Benoit Marty 263e761907 Remove @Inject, not necessary anymore when class is annotated with @ContributesBinding 2025-10-22 18:52:37 +02:00
Benoit Marty 43971ee250 Add unit test on DefaultFeaturesProvider. 2025-10-17 14:55:41 +02:00
Benoit Marty a38df694fd Fix typo. 2025-10-17 14:52:06 +02:00
Benoit Marty a24cde6d0b Avoid using volatile FeatureFlags in DefaultFeatureFlagServiceTest 2025-10-17 12:38:55 +02:00
Benoit Marty ba52b9ad3a Add test on api getAvailableFeatures. 2025-10-17 12:38:54 +02:00
Benoit Marty de2a4bc8c6 Improve FeatureFlagService API. 2025-10-17 12:38:49 +02:00
Benoit Marty d2dfad7726 Fix warning and also fix bug! 2025-10-17 12:38:48 +02:00
Jorge Martin Espinosa 9714abe032 Add Labs screen for beta testing of public features (#5465)
* Add Labs screen:

- Make `Feature` have an `isInLabs` boolean to distinguish private feature flags from public ones.
- Have `FeatureFlagsService` provide the list of available flags.
- Display the labs item in the settings screen only if there are available public features.
- Remove public feature toggles from developer options.
- Implement the labs screen with the public features.
- Add a clear cache step to the threads feature toggle
- Update screenshots

---------

Co-authored-by: ElementBot <android@element.io>
2025-10-07 10:02:54 +00:00
Benoit Marty a575019760 Use DependencyHandlerScope.testCommonDependencies() 2025-09-16 14:38:31 +02:00
Jorge Martín de8de61b2e Remove dagger and anvil dependencies, try to simplify gradle build scripts a bit 2025-09-04 16:49:21 +02:00
Jorge Martín 629776b9a3 Fix module still using dagger annotation 2025-09-04 16:49:21 +02:00
Jorge Martín 4ab62a6a38 Redo DI gradle setup code 2025-09-04 16:49:20 +02:00
Jorge Martín 29a97fc0d9 Fix lint issues and restore commented out code 2025-09-04 16:49:18 +02:00
Jorge Martín b76a71ebf5 Start migrating Anvil KSP to Metro 2025-09-04 16:48:34 +02:00
Jorge Martin Espinosa 8245ad8bc3 Handle preference stores corruption by clearing them (#5086)
* Handle preference stores corruption by clearing them:
    - Use the centralised `PreferenceDataStoreFactory` instead of `preferences by`.
    - Add `DefaultPreferencesCorruptionHandlerFactory.replaceWithEmpty` to its `create(name)` method so all preference stores are cleared if they're corrupted.

* Add detekt rule to make sure we use `PreferenceDataStoreFactory` instead of `by preferencesDataStore`

* Remove `@SingleIn` annotations as the annotated class no longer have to be singletons
2025-08-22 06:59:06 +00:00
Benoit Marty f6a17ba42b Replace FeatureFlag.LocationSharing by FeatureFlag.Space in unit test. 2025-08-12 15:52:07 +02:00
Benoit Marty 97f3be3dc5 Apply dual licenses: AGPL + Element Commercial to file headers.
2 replace all actions have been performed:
- "SPDX-License-Identifier: AGPL-3.0-only" to "SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial"
- "Please see LICENSE in the repository root for full details." to "Please see LICENSE files in the repository root for full details."
2025-01-07 10:05:04 +01:00
Jorge Martin Espinosa eeec7cc785 Centralise the DI code generation logic (#3562)
* Create Anvil extension helper

* Use the helper everywhere
2024-09-30 12:20:28 +00:00
Benoit Marty f61df38e55 Migrate license to AGPL.
Run script `uv run license-editor --repository ../element-x-android`
2024-09-06 17:19:19 +02:00
Jorge Martin Espinosa b0cebf5ca0 Improve screenshot testing with ComposablePreviewScanner (#3125)
* Use ComposablePreviewScanner to rework how screenshot testing works
* Add test sharding
* Update screenshots
* Fixes for Element Gallery

---------

Co-authored-by: ElementBot <benoitm+elementbot@element.io>
Co-authored-by: Benoit Marty <benoit@matrix.org>
2024-07-03 13:05:06 +02:00
Jorge Martin Espinosa 32a374d836 FFs can now be toggled in release builds too (#3101)
- Removed `StaticFeatureFlagProvider`.
- Always provide `PreferencesFeatureFlagProvider`.
- For the default values of feature flags, use a lambda with a `BuildMeta` parameter so we can customize the return value based on its data.
2024-07-02 16:06:42 +00:00
Benoit Marty e619fefb7f Add a flag to enable or disable incoming share 2024-06-06 12:34:05 +02:00
Jorge Martin Espinosa c8bd04ceb1 Sign in with QR code (#2793)
* Add QR code login.
* Add FF to disable it in release mode.
* Force portrait orientation on the login flow.
* Create `NumberedList` UI components.
* Improve camera permission dialog.
* Make nodes in qrcode feature use `QrCodeLoginScope` instead of `AppScope`
* Bump SDK version.
* Fix maestro tests

---------

Co-authored-by: Benoit Marty <benoit@matrix.org>
Co-authored-by: ElementBot <benoitm+elementbot@element.io>
2024-05-31 14:38:27 +02:00
Benoit Marty 643acb17b6 Render data of blocked users (behind deactivated feature flag). 2024-05-28 14:33:21 +02:00
Benoit Marty 268c196e35 Remove flag RoomListFilters.
This is also fixing the filter reset issue when going back to the room list.
2024-04-25 15:55:29 +02:00
Jorge Martin Espinosa d0f26777da Remove Room moderation feature flag (#2678)
* Remove the feature flag

* Add changelog

* Increase login timeout for Maestro
2024-04-09 17:53:07 +02:00
ganfra 37d645d153 Merge branch 'develop' into feature/fga/room_directory 2024-03-28 16:15:04 +01:00
ganfra e4aaf6af2f RoomList filters : enable the feature for production build 2024-03-25 20:36:39 +01:00
ganfra 6e8d0ded36 Room Directory Search : setup the feature 2024-03-20 12:59:02 +01:00
Benoit Marty 889761a8d8 Enable the feature "Mark as unread". 2024-03-15 17:03:41 +01:00
Jorge Martin Espinosa 97f2620997 Add room moderation feature flag (#2495) 2024-03-06 09:51:43 +01:00
ganfra f18e8030bf Merge develop into feature/fga/room_list_filters 2024-02-22 11:15:43 +01:00
Benoit Marty daa90a0660 Remove feature flag SecureStorage 2024-02-21 18:30:57 +01:00
ganfra 31988e81fa RoomListFilters: add feature flag 2024-02-20 12:36:20 +01:00
Benoit Marty 3e34461007 Mark as unread: add a feature flag, disabled on release build. 2024-02-08 11:49:14 +01:00
Benoit Marty 4ba73c0bb1 Merge pull request #2202 from element-hq/feature/bma/removeReadReceiptFlag
Remove ReadReceipts feature flag.
2024-01-11 17:13:35 +01:00
Benoit Marty a83eaede1f Remove ReadReceipts feature flag. 2024-01-11 15:57:59 +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
Benoit Marty fac04034f1 Enable Chat backup, Mentions and Read Receipt in release.
Also change default for debug to enabled, but keep `isFinished = false` for now, so that they are still disableable.
2023-12-21 16:44:54 +01:00
Benoit Marty ab8e4f1422 Add Konsist test to use isTrue() instead of isEqualTo(true), and fix existing issues. 2023-12-04 15:23:36 +01:00
Benoit Marty b2d9b41946 Add Konsist test to use isFalse() instead of isEqualTo(false), and fix existing issues. 2023-12-04 15:21:50 +01:00
Benoit Marty 8ec9bc2b84 Read receipts: feature flag 2023-11-16 14:05:00 +01:00
Jorge Martin Espinosa f752147837 Remove Element Call feature flag and revert base URL to call.element.io (#1809)
Co-authored-by: ElementBot <benoitm+elementbot@element.io>
2023-11-15 13:02:24 +00:00
Benoit Marty 5013ff061e Secure backup: create a feature flag (disabled) 2023-10-31 21:52:33 +01:00
ganfra ed26c74627 LockScreen : enable the feature 2023-10-31 18:23:48 +01:00