Skip to content

PM-37568: Feat: Remove feature flags#6955

Merged
david-livefront merged 3 commits into
mainfrom
PM-37568-remove-feature-flags
May 20, 2026
Merged

PM-37568: Feat: Remove feature flags#6955
david-livefront merged 3 commits into
mainfrom
PM-37568-remove-feature-flags

Conversation

@david-livefront
Copy link
Copy Markdown
Collaborator

@david-livefront david-livefront commented May 20, 2026

🎟️ Tracking

PM-37568

📔 Objective

This PR removes the CredentialExchangeProtocolImport, CredentialExchangeProtocolExport, and SendEmailVerification feature flags from the app.

@github-actions github-actions Bot added app:password-manager Bitwarden Password Manager app context app:authenticator Bitwarden Authenticator app context t:feature Change Type - Feature Development labels May 20, 2026
@david-livefront david-livefront added the ai-review-vnext Request a Claude code review using the vNext workflow label May 20, 2026
@david-livefront david-livefront force-pushed the PM-37568-remove-feature-flags branch from 40a6089 to 05fc59c Compare May 20, 2026 18:52
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 20, 2026

🤖 Bitwarden Claude Code Review

Overall Assessment: APPROVE

This PR removes three feature flags (CredentialExchangeProtocolImport, CredentialExchangeProtocolExport, SendEmailVerification) along with their FlagKey definitions, related conditional code paths, the legacy Send password field UI, and the now-unused PasswordChange action. Test fixtures and VaultViewModelTest cases were updated to reflect the simplified registration behavior in VaultViewModel. The base strings.xml drops new_password and password_info (no remaining code references), and DebugMenuRepositoryTest swaps the sample flag to AttachmentUpdates. The cleanup is mechanical, the behavior post-removal matches the prior flag-enabled path, and unregistration on logout continues to be handled by UserLogoutManagerImpl.

Code Review Details

No findings.

@codecov
Copy link
Copy Markdown

codecov Bot commented May 20, 2026

Codecov Report

❌ Patch coverage is 96.15385% with 1 line in your changes missing coverage. Please review.
✅ Project coverage is 86.41%. Comparing base (9e27b95) to head (d64b27c).
⚠️ Report is 1 commits behind head on main.

Files with missing lines Patch % Lines
...m/feature/settings/vault/VaultSettingsViewModel.kt 80.00% 0 Missing and 1 partial ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #6955      +/-   ##
==========================================
+ Coverage   85.07%   86.41%   +1.33%     
==========================================
  Files         944      870      -74     
  Lines       65432    63390    -2042     
  Branches     9250     9192      -58     
==========================================
- Hits        55669    54776     -893     
+ Misses       6590     5454    -1136     
+ Partials     3173     3160      -13     
Flag Coverage Δ
app-data 17.07% <0.00%> (+0.20%) ⬆️
app-ui-auth-tools 19.07% <72.00%> (-0.27%) ⬇️
app-ui-platform 16.42% <15.38%> (-0.32%) ⬇️
app-ui-vault 27.91% <12.00%> (+0.01%) ⬆️
authenticator 6.24% <0.00%> (+<0.01%) ⬆️
lib-core-network-bridge 4.07% <0.00%> (-0.01%) ⬇️
lib-data-ui 1.15% <0.00%> (+<0.01%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

if (!buildInfoManager.isFdroid) {
viewModelScope.launch {
credentialExchangeRegistryManager.register()
}
Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is here because we would previously register or unregister after the first emission from the feature flag flow above (assuming we are not Fdroid). Since that flow no longer exists, we just register when not Fdroid.

I assume we do not need to unregister, right?

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Correct. Thanks for calling this out.

@david-livefront david-livefront force-pushed the PM-37568-remove-feature-flags branch from 05fc59c to d64b27c Compare May 20, 2026 19:09
@david-livefront david-livefront marked this pull request as ready for review May 20, 2026 19:32
@david-livefront david-livefront requested a review from a team as a code owner May 20, 2026 19:32
mockFeatureFlagOverrideDiskSource.saveFeatureFlag(
FlagKey.CredentialExchangeProtocolImport,
FlagKey.CredentialExchangeProtocolImport.defaultValue,
FlagKey.AttachmentUpdates,
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

❓ Was this missed before?

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is is a test for the DebugMenu repo, and for this particular test, it needs a real flag, it can't be one of the Dummy flags we use for the other tests.

@david-livefront
Copy link
Copy Markdown
Collaborator Author

Thanks @SaintPatrck

@david-livefront david-livefront added this pull request to the merge queue May 20, 2026
Merged via the queue into main with commit ebc3bd8 May 20, 2026
43 checks passed
@david-livefront david-livefront deleted the PM-37568-remove-feature-flags branch May 20, 2026 22:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ai-review-vnext Request a Claude code review using the vNext workflow app:authenticator Bitwarden Authenticator app context app:password-manager Bitwarden Password Manager app context t:feature Change Type - Feature Development

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants