Skip to content

[PM-19154] feat: Archive vault items - #2207

Merged
fedemkr merged 26 commits into
mainfrom
PM-19154/archive-vault-items-ui-update
Jan 19, 2026
Merged

[PM-19154] feat: Archive vault items#2207
fedemkr merged 26 commits into
mainfrom
PM-19154/archive-vault-items-ui-update

Conversation

@fedemkr

@fedemkr fedemkr commented Dec 19, 2025

Copy link
Copy Markdown
Member

🎟️ Tracking

PM-19154

📔 Objective

Implement Archive vault items UI based off the innovation sprint branch (made by @andrebispo5) and updating the logic to current flows.
Also added logic to check user has premium and accounting for the archive vault items feature flags in places where it was missing.

🎏 Feature flag: pm-19148-innovation-archive

Note

As the PR is quite large, archive/unarchive has not been added to the vault item row context menu yet and will be added in a upcoming PRs with the remaining work.

📸 Screenshots

Unarchive Archive Archive hidden items

⏰ Reminders before review

  • Contributor guidelines followed
  • All formatters and local linters executed and passed
  • Written new unit and / or integration tests where applicable
  • Protected functional changes with optionality (feature flags)
  • Used internationalization (i18n) for all UI strings
  • CI builds passed
  • Communicated to DevOps any deployment requirements
  • Updated any necessary documentation (Confluence, contributing docs) or informed the documentation team

🦮 Reviewer guidelines

  • 👍 (:+1:) or similar for great changes
  • 📝 (:memo:) or ℹ️ (:information_source:) for notes or general info
  • ❓ (:question:) for questions
  • 🤔 (:thinking:) or 💭 (:thought_balloon:) for more open inquiry that's not quite a confirmed issue and could potentially benefit from discussion
  • 🎨 (:art:) for suggestions / improvements
  • ❌ (:x:) or ⚠️ (:warning:) for more significant problems or concerns needing attention
  • 🌱 (:seedling:) or ♻️ (:recycle:) for future improvements or indications of technical debt
  • ⛏ (:pick:) for minor or nitpick changes

@github-actions

github-actions Bot commented Dec 19, 2025

Copy link
Copy Markdown
Contributor

Logo
Checkmarx One – Scan Summary & Detailse005b5aa-4e69-4859-b326-b5cfe4337c45

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

@codecov

codecov Bot commented Dec 19, 2025

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 98.11715% with 27 lines in your changes missing coverage. Please review.
✅ Project coverage is 84.67%. Comparing base (73467b6) to head (8fb912b).
⚠️ Report is 2 commits behind head on main.

Files with missing lines Patch % Lines
...red/UI/Vault/VaultItem/ViewItem/ViewItemView.swift 57.14% 9 Missing ⚠️
...e/Vault/Helpers/VaultListPreparedDataBuilder.swift 33.33% 4 Missing ⚠️
...emManagementMenu/VaultItemManagementMenuView.swift 66.66% 4 Missing ⚠️
...enShared/Core/Platform/Services/WatchService.swift 25.00% 3 Missing ⚠️
...Core/Vault/Repositories/VaultRepositoryTests.swift 96.77% 2 Missing ⚠️
...t/VaultItem/AddEditItem/AddEditItemProcessor.swift 66.66% 2 Missing ⚠️
...Shared/Core/Platform/Models/Enum/FeatureFlag.swift 0.00% 1 Missing ⚠️
...ed/UI/Vault/Vault/VaultGroup/VaultGroupState.swift 66.66% 1 Missing ⚠️
...m/ViewLoginItem/Extensions/CipherView+Update.swift 92.85% 1 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #2207      +/-   ##
==========================================
- Coverage   85.88%   84.67%   -1.21%     
==========================================
  Files        1760     2009     +249     
  Lines      150938   167455   +16517     
==========================================
+ Hits       129628   141791   +12163     
- Misses      21310    25664    +4354     

☔ 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.

fedemkr and others added 10 commits December 22, 2025 11:25
Co-authored-by: André Bispo <abispo@bitwarden.com>
…y + tests.

Co-authored-by: André Bispo <abispo@bitwarden.com>
…t needed. Only needed when it's filtering by archive group. Also added the Hidden items sections moving the old Trash section inside of it alongside the new Archive section. Moreover, the archive vault items feature flag has been applied on the filtering logic for the lists. Also, the old .addTrashGroup option has been renamed to .addHiddenItemsGroup option.
…me helpers like `isHidden` and `isHiddenWithArchiveFF` to centralize logic
# Conflicts:
#	BitwardenShared/Core/Vault/Extensions/Cipher+Extensions.swift
#	BitwardenShared/Core/Vault/Extensions/CipherExtensionsTests.swift
#	BitwardenShared/Core/Vault/Helpers/VaultListDataPreparator.swift
#	BitwardenShared/Core/Vault/Repositories/VaultRepositoryTests.swift
#	BitwardenShared/Core/Vault/Services/API/Cipher/CipherAPIServiceTests.swift
@github-actions github-actions Bot added app:password-manager Bitwarden Password Manager app context app:authenticator Bitwarden Authenticator app context t:misc Change Type - ¯\_(ツ)_/¯ labels Jan 13, 2026
@fedemkr fedemkr changed the title [PM-19154] Archive vault items [PM-19154] feat: Archive vault items Jan 13, 2026
Co-authored-by: André Bispo <abispo@bitwarden.com>
@github-actions github-actions Bot added t:feature-app Change Type - Product feature or enhancement and removed t:misc Change Type - ¯\_(ツ)_/¯ labels Jan 14, 2026
@fedemkr
fedemkr marked this pull request as ready for review January 15, 2026 21:36
@fedemkr
fedemkr requested review from a team and matt-livefront as code owners January 15, 2026 21:36
# Conflicts:
#	BitwardenResources/Localizations/en.lproj/Localizable.strings
@fedemkr fedemkr added the ai-review Request a Claude code review label Jan 16, 2026
@github-actions github-actions Bot removed the ai-review Request a Claude code review label Jan 16, 2026
# Conflicts:
#	BitwardenShared/Core/Vault/Repositories/TestHelpers/MockVaultRepository.swift
#	BitwardenShared/Core/Vault/Repositories/VaultRepository.swift
#	BitwardenShared/Core/Vault/Repositories/VaultRepositoryTests.swift
#	BitwardenShared/Core/Vault/Services/CipherService.swift
#	BitwardenShared/Core/Vault/Services/CipherServiceTests.swift
#	BitwardenShared/Core/Vault/Services/TestHelpers/MockCipherService.swift
Comment thread BitwardenResources/Localizations/en.lproj/Localizable.strings Outdated
Comment thread BitwardenShared/Core/Vault/Extensions/CipherListView+Extensions.swift Outdated
Comment thread BitwardenShared/Core/Vault/Helpers/VaultListDataPreparator.swift Outdated
Comment thread BitwardenShared/UI/Vault/Vault/VaultGroup/VaultGroupProcessor.swift
Comment thread BitwardenShared/UI/Vault/VaultItem/ViewItem/ViewItemProcessor.swift Outdated
Comment thread BitwardenShared/UI/Vault/VaultItem/ViewItem/ViewItemProcessorTests.swift Outdated
Comment thread BitwardenShared/UI/Vault/VaultItem/ViewItem/ViewItemProcessor.swift Outdated
"Unarchive"="Unarchive";
"ItemArchived"="Item archived";
"ItemUnarchived"="Item unarchived";
"SendingToArchive"="Sending to archive...";

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.

⛏️ Use actual ellipses instead of three periods ...

.addCollectionsSection()
.addCipherDecryptionFailureIds()

if filter.options.contains(.addTrashGroup) {

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.

🤔 I might be missing something, but whither trash? I would have expected adding archive to be additive, not replacing?

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

Archive and Trash are now part of "Hidden items" section.

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.

Ah, okay, that makes sense.

Localizations.trash
case .noFolder:
Localizations.folderNone
case .archive:

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.

⛏️ This should probably be alphabetized

SharedAsset.Icons.clock24
case .trash:
SharedAsset.Icons.trash24
case .archive:

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.

⛏️ This should probably be alphabetized

@fedemkr
fedemkr merged commit f7a2510 into main Jan 19, 2026
31 checks passed
@fedemkr
fedemkr deleted the PM-19154/archive-vault-items-ui-update branch January 19, 2026 18:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

app:authenticator Bitwarden Authenticator app context app:password-manager Bitwarden Password Manager app context t:feature-app Change Type - Product feature or enhancement

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants