[PM-19154] feat: Archive vault items - #2207
Conversation
Co-authored-by: André Bispo <abispo@bitwarden.com>
|
Great job! No new security vulnerabilities introduced in this pull request |
Codecov Report❌ Patch coverage is 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. 🚀 New features to boost your workflow:
|
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
Co-authored-by: André Bispo <abispo@bitwarden.com>
…iews and fixed some places.
# Conflicts: # BitwardenResources/Localizations/en.lproj/Localizable.strings
# 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
| "Unarchive"="Unarchive"; | ||
| "ItemArchived"="Item archived"; | ||
| "ItemUnarchived"="Item unarchived"; | ||
| "SendingToArchive"="Sending to archive..."; |
There was a problem hiding this comment.
⛏️ Use actual ellipses … instead of three periods ...
| .addCollectionsSection() | ||
| .addCipherDecryptionFailureIds() | ||
|
|
||
| if filter.options.contains(.addTrashGroup) { |
There was a problem hiding this comment.
🤔 I might be missing something, but whither trash? I would have expected adding archive to be additive, not replacing?
There was a problem hiding this comment.
Archive and Trash are now part of "Hidden items" section.
There was a problem hiding this comment.
Ah, okay, that makes sense.
| Localizations.trash | ||
| case .noFolder: | ||
| Localizations.folderNone | ||
| case .archive: |
There was a problem hiding this comment.
⛏️ This should probably be alphabetized
| SharedAsset.Icons.clock24 | ||
| case .trash: | ||
| SharedAsset.Icons.trash24 | ||
| case .archive: |
There was a problem hiding this comment.
⛏️ This should probably be alphabetized
Co-authored-by: Matt Czech <matt@livefront.com>
…ipherWithArchive extension that the cipher models conform to.
… confirmation and performing operations and dismiss.

🎟️ 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-archiveNote
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
⏰ Reminders before review
🦮 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