Skip to content

PM-30130: feat: Remove the Archive Items feature flag#6667

Merged
david-livefront merged 1 commit intomainfrom
PM-30130-remove-archive-feature-flag
Apr 28, 2026
Merged

PM-30130: feat: Remove the Archive Items feature flag#6667
david-livefront merged 1 commit intomainfrom
PM-30130-remove-archive-feature-flag

Conversation

@david-livefront
Copy link
Copy Markdown
Collaborator

@david-livefront david-livefront commented Mar 13, 2026

🎟️ Tracking

PM-30130

📔 Objective

This PR removes the Archive Feature flag from the app.

@david-livefront david-livefront added the ai-review Request a Claude code review label Mar 13, 2026
@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 Mar 13, 2026
@claude
Copy link
Copy Markdown
Contributor

claude Bot commented Mar 13, 2026

Claude finished @david-livefront's task in 2m 6s —— View job


Overall Assessment: APPROVE ✅

This PR removes the ArchiveItems feature flag (FlagKey.ArchiveItems), making the archive feature permanently enabled. The change spans 29 files across ViewModels, state classes, UI composables, extension functions, and their corresponding tests. All isArchiveEnabled state properties, feature flag flow subscriptions, internal action handlers, and conditional checks have been cleanly removed with no orphaned references remaining in the codebase.

Code Review Details

No findings identified. The feature flag removal is thorough and consistent across all affected components.

@claude
Copy link
Copy Markdown
Contributor

claude Bot commented Mar 13, 2026

Overall Assessment: REQUEST CHANGES

Reviewed the removal of the ArchiveItems feature flag. The flag definition, ViewModel integrations, state fields, extension function parameters, and related flow subscriptions are correctly removed across 18 files. However, the cleanup is incomplete: one production file and approximately 11 test files still reference the removed archiveEnabled / isArchiveEnabled fields and parameters, which will cause compilation failures.

Code Review Details
  • CRITICAL: Incomplete removal of archiveEnabled causes compilation errors in production and test code
    • app/src/main/kotlin/com/x8bit/bitwarden/ui/vault/feature/vault/VaultContent.kt:428,442,467
    • app/src/test/kotlin/com/x8bit/bitwarden/ui/vault/feature/vault/util/VaultDataExtensionsTest.kt
    • app/src/test/kotlin/com/x8bit/bitwarden/ui/vault/feature/util/CipherListViewExtensionsTest.kt
    • app/src/test/kotlin/com/x8bit/bitwarden/ui/vault/feature/vault/VaultScreenTest.kt
    • app/src/test/kotlin/com/x8bit/bitwarden/ui/vault/feature/vault/VaultViewModelTest.kt
    • app/src/test/kotlin/com/x8bit/bitwarden/ui/vault/feature/vault/util/VaultStateExtensionsTest.kt
    • app/src/test/kotlin/com/x8bit/bitwarden/ui/vault/feature/itemlisting/util/VaultItemListingDataExtensionsTest.kt
    • app/src/test/kotlin/com/x8bit/bitwarden/ui/vault/feature/itemlisting/VaultItemListingScreenTest.kt
    • app/src/test/kotlin/com/x8bit/bitwarden/ui/vault/feature/item/VaultItemScreenTest.kt
    • app/src/test/kotlin/com/x8bit/bitwarden/ui/vault/feature/addedit/VaultAddEditScreenTest.kt
    • app/src/test/kotlin/com/x8bit/bitwarden/ui/platform/feature/search/util/SearchTypeDataExtensionsTest.kt
    • app/src/test/kotlin/com/x8bit/bitwarden/ui/platform/feature/search/SearchScreenTest.kt

@claude
Copy link
Copy Markdown
Contributor

claude Bot commented Mar 13, 2026

CRITICAL Finding 1: Incomplete cleanup causes compilation errors

The PR removes archiveEnabled from VaultState.ViewState.Content (in VaultViewModel.kt) and isArchiveEnabled from multiple function signatures, but the following files were not updated and still reference the removed fields/parameters:

Production code (compilation error):

  • app/src/main/kotlin/com/x8bit/bitwarden/ui/vault/feature/vault/VaultContent.kt - references state.archiveEnabled at lines 428, 442, and 467. These conditionals should be removed since archive is now always enabled.

Test files (compilation errors):
All of the following test files still pass isArchiveEnabled or archiveEnabled as named parameters to functions/constructors whose signatures no longer accept them:

  • VaultDataExtensionsTest.kt (16+ references)
  • CipherListViewExtensionsTest.kt (15+ references)
  • VaultItemListingDataExtensionsTest.kt (17+ references)
  • SearchTypeDataExtensionsTest.kt (5+ references)
  • VaultAddEditScreenTest.kt (7+ references)
  • VaultScreenTest.kt, VaultViewModelTest.kt, VaultStateExtensionsTest.kt
  • VaultItemListingScreenTest.kt, VaultItemScreenTest.kt, SearchScreenTest.kt

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Mar 13, 2026

Logo
Checkmarx One – Scan Summary & Detailse37672e7-661d-49bc-be97-8257f9ec5db2

Great job! No new security vulnerabilities introduced in this pull request

@david-livefront david-livefront force-pushed the PM-30130-remove-archive-feature-flag branch from bbb572f to 6ecdd0e Compare March 17, 2026 18:10
@codecov
Copy link
Copy Markdown

codecov Bot commented Mar 17, 2026

Codecov Report

❌ Patch coverage is 75.86207% with 7 lines in your changes missing coverage. Please review.
✅ Project coverage is 85.60%. Comparing base (1aba32f) to head (77d0902).
⚠️ Report is 8 commits behind head on main.

Files with missing lines Patch % Lines
...t/bitwarden/ui/vault/feature/vault/VaultContent.kt 75.00% 1 Missing and 3 partials ⚠️
...warden/ui/vault/feature/item/VaultItemViewModel.kt 62.50% 0 Missing and 3 partials ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #6667      +/-   ##
==========================================
+ Coverage   85.44%   85.60%   +0.15%     
==========================================
  Files         875      833      -42     
  Lines       60570    58939    -1631     
  Branches     8642     8589      -53     
==========================================
- Hits        51757    50456    -1301     
+ Misses       5833     5521     -312     
+ Partials     2980     2962      -18     
Flag Coverage Δ
app-data 17.44% <0.00%> (+0.19%) ⬆️
app-ui-auth-tools 20.31% <0.00%> (-0.19%) ⬇️
app-ui-platform 15.49% <0.00%> (-0.13%) ⬇️
app-ui-vault 25.84% <78.57%> (-0.62%) ⬇️
authenticator 6.67% <0.00%> (-0.01%) ⬇️
lib-core-network-bridge 4.26% <0.00%> (+0.01%) ⬆️
lib-data-ui 1.02% <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.

@david-livefront david-livefront force-pushed the PM-30130-remove-archive-feature-flag branch 2 times, most recently from f124da9 to 905f9ea Compare March 24, 2026 20:33
@david-livefront david-livefront force-pushed the PM-30130-remove-archive-feature-flag branch from 905f9ea to 5eea234 Compare April 6, 2026 19:26
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Apr 6, 2026

🤖 Bitwarden Claude Code Review

Overall Assessment: APPROVE

This PR removes the FlagKey.ArchiveItems feature flag (pm-19148-innovation-archive), making the Archive Items feature permanently enabled across the Password Manager app. The change spans 29 files covering ViewModels (SearchViewModel, VaultAddEditViewModel, VaultItemViewModel, VaultItemListingViewModel, VaultViewModel), their state classes, extension functions, UI composables (VaultContent.kt), and all corresponding tests. All isArchiveEnabled/archiveEnabled state properties, feature-flag flow subscriptions, ArchiveItemsFlagUpdateReceive internal actions, and conditional checks were cleanly removed. A grep across the repo confirms no orphaned references remain, and the unused TRASH_TYPES_COUNT constant plus the archive_items non-localized string were also removed as part of the cleanup.

Code Review Details

No findings identified. The feature flag removal is thorough, consistent, and complete across production code, tests, and resources.

@david-livefront david-livefront force-pushed the PM-30130-remove-archive-feature-flag branch from 5eea234 to 11eaa22 Compare April 7, 2026 15:33
@david-livefront david-livefront force-pushed the PM-30130-remove-archive-feature-flag branch 3 times, most recently from d715f08 to 1632a53 Compare April 23, 2026 15:46
@david-livefront david-livefront marked this pull request as ready for review April 23, 2026 15:51
@david-livefront david-livefront requested a review from a team as a code owner April 23, 2026 15:51
@david-livefront david-livefront force-pushed the PM-30130-remove-archive-feature-flag branch from 1632a53 to 77d0902 Compare April 27, 2026 19:26
@david-livefront
Copy link
Copy Markdown
Collaborator Author

Thanks @SaintPatrck

@david-livefront david-livefront added this pull request to the merge queue Apr 28, 2026
Merged via the queue into main with commit be1dabb Apr 28, 2026
30 of 35 checks passed
@david-livefront david-livefront deleted the PM-30130-remove-archive-feature-flag branch April 28, 2026 19:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ai-review Request a Claude code review 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