Commit Graph

75 Commits

Author SHA1 Message Date
ganfra
fd43d58351 change: finished feature flag should fallback to default value 2025-12-22 17:49:41 +01:00
Benoit Marty
1292da2a72 Copyright: Add Element Creations Ltd. copyright 2025-11-10 11:05:05 +01:00
Benoit Marty
b748fcc631 Copyright: Add final period 2025-11-10 10:13:41 +01:00
Benoit Marty
0a0224b586 Copyright: run command uv run license-editor --repository ../element-x-android 2025-11-10 10:09:26 +01:00
Benoit Marty
826cacf209 Remove @Inject, not necessary anymore when class is annotated with @ContributesBinding 2025-10-22 18:52:37 +02:00
Benoit Marty
69aafe9841 Add unit test on DefaultFeaturesProvider. 2025-10-17 14:55:41 +02:00
Benoit Marty
6e722a2998 Fix typo. 2025-10-17 14:52:06 +02:00
Benoit Marty
ba49cfb07c Avoid using volatile FeatureFlags in DefaultFeatureFlagServiceTest 2025-10-17 12:38:55 +02:00
Benoit Marty
a76ab22ed5 Add test on api getAvailableFeatures. 2025-10-17 12:38:54 +02:00
Benoit Marty
b7ac322d18 Improve FeatureFlagService API. 2025-10-17 12:38:49 +02:00
Benoit Marty
6854f014b0 Fix warning and also fix bug! 2025-10-17 12:38:48 +02:00
Jorge Martin Espinosa
0659174735 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
629fc552e5 Use DependencyHandlerScope.testCommonDependencies() 2025-09-16 14:38:31 +02:00
Jorge Martín
dca1c5b516 Remove dagger and anvil dependencies, try to simplify gradle build scripts a bit 2025-09-04 16:49:21 +02:00
Jorge Martín
f23a493d4c Fix module still using dagger annotation 2025-09-04 16:49:21 +02:00
Jorge Martín
e06bacbff3 Redo DI gradle setup code 2025-09-04 16:49:20 +02:00
Jorge Martín
fc3153bd26 Fix lint issues and restore commented out code 2025-09-04 16:49:18 +02:00
Jorge Martín
92a4b8b66b Start migrating Anvil KSP to Metro 2025-09-04 16:48:34 +02:00
Jorge Martin Espinosa
2f2e886e9f 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
098ae0820e Replace FeatureFlag.LocationSharing by FeatureFlag.Space in unit test. 2025-08-12 15:52:07 +02:00
Benoit Marty
05fc76822a 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
2efdb3ae45 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
2b016227e9 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
950e502ca6 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
e9e7d4d0c4 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
6781b5cee7 Add a flag to enable or disable incoming share 2024-06-06 12:34:05 +02:00
Jorge Martin Espinosa
35702c04e9 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
687b30bd5f Render data of blocked users (behind deactivated feature flag). 2024-05-28 14:33:21 +02:00
Benoit Marty
2b121d97ac 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
fcf1e6be27 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
33c3dc07aa Merge branch 'develop' into feature/fga/room_directory 2024-03-28 16:15:04 +01:00
ganfra
c5cf26e1f5 RoomList filters : enable the feature for production build 2024-03-25 20:36:39 +01:00
ganfra
94020677ae Room Directory Search : setup the feature 2024-03-20 12:59:02 +01:00
Benoit Marty
49bb1d59b6 Enable the feature "Mark as unread". 2024-03-15 17:03:41 +01:00
Jorge Martin Espinosa
3e56420648 Add room moderation feature flag (#2495) 2024-03-06 09:51:43 +01:00
ganfra
77ba3f905a Merge develop into feature/fga/room_list_filters 2024-02-22 11:15:43 +01:00
Benoit Marty
fb368f058b Remove feature flag SecureStorage 2024-02-21 18:30:57 +01:00
ganfra
8f5ea76ab8 RoomListFilters: add feature flag 2024-02-20 12:36:20 +01:00
Benoit Marty
dc65e60e66 Mark as unread: add a feature flag, disabled on release build. 2024-02-08 11:49:14 +01:00
Benoit Marty
d76ee23514 Merge pull request #2202 from element-hq/feature/bma/removeReadReceiptFlag
Remove ReadReceipts feature flag.
2024-01-11 17:13:35 +01:00
Benoit Marty
4dcafb6aa6 Remove ReadReceipts feature flag. 2024-01-11 15:57:59 +01:00
Benoit Marty
378692f743 Fix moar ktlint issues 2024-01-11 10:02:10 +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
Benoit Marty
bedbb723d2 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
7c58a843dc Add Konsist test to use isTrue() instead of isEqualTo(true), and fix existing issues. 2023-12-04 15:23:36 +01:00
Benoit Marty
65924eac6b Add Konsist test to use isFalse() instead of isEqualTo(false), and fix existing issues. 2023-12-04 15:21:50 +01:00
Benoit Marty
79eb5edc92 Read receipts: feature flag 2023-11-16 14:05:00 +01:00
Jorge Martin Espinosa
5701e98d77 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
eb82c245ad Secure backup: create a feature flag (disabled) 2023-10-31 21:52:33 +01:00
ganfra
3f0393f1dd LockScreen : enable the feature 2023-10-31 18:23:48 +01:00