Skip to content

chore: Update UI lists to ImmutableLists#6718

Merged
david-livefront merged 1 commit intomainfrom
immutable-list
Mar 25, 2026
Merged

chore: Update UI lists to ImmutableLists#6718
david-livefront merged 1 commit intomainfrom
immutable-list

Conversation

@david-livefront
Copy link
Collaborator

🎟️ Tracking

N/A

📔 Objective

This PR replaces the use of regular lists to Immutable lists for the UI. This should help ,maintain better performance in the UI.

@david-livefront david-livefront added the ai-review Request a Claude code review label Mar 25, 2026
@david-livefront david-livefront requested a review from a team as a code owner March 25, 2026 19:57
@github-actions github-actions bot added app:password-manager Bitwarden Password Manager app context t:tech-debt Change Type - Tech debt labels Mar 25, 2026
isPremiumUser = isPremiumUser,
isArchiveEnabled = isArchiveEnabled,
)
.sortAlphabetically(),
Copy link
Collaborator Author

Choose a reason for hiding this comment

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

This just got moved into the toDisplayItemList function

baseWebSendUrl = baseWebSendUrl,
clock = clock,
)
.sortAlphabetically(),
Copy link
Collaborator Author

Choose a reason for hiding this comment

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

This just got moved into the toDisplayItemList function

@claude
Copy link
Contributor

claude bot commented Mar 25, 2026

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


Code Review: Update UI lists to ImmutableLists

  • Gather context and review PR diff
  • Analyze changes across all 13 files
  • Post review findings

Overall Assessment: ✅ APPROVE

This PR converts List to ImmutableList from kotlinx-collections-immutable in UI state classes across the search and vault features. The change improves Compose recomposition stability by using types the Compose compiler recognizes as stable. The sortAlphabetically() call was moved inside toDisplayItemList functions without changing behavior. Test updates correctly mirror the production code changes.

Code Review Details

No findings. The changes are mechanical and follow existing patterns already established in the codebase (e.g., extraIconList: ImmutableList<IconData> was already present in DisplayItem).

@david-livefront david-livefront added t:tech-debt Change Type - Tech debt and removed t:tech-debt Change Type - Tech debt labels Mar 25, 2026
@codecov
Copy link

codecov bot commented Mar 25, 2026

Codecov Report

❌ Patch coverage is 97.05882% with 1 line in your changes missing coverage. Please review.
✅ Project coverage is 85.52%. Comparing base (69a13c9) to head (e469c3a).
⚠️ Report is 1 commits behind head on main.

Files with missing lines Patch % Lines
...bitwarden/ui/vault/feature/vault/VaultViewModel.kt 80.00% 1 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #6718      +/-   ##
==========================================
- Coverage   85.83%   85.52%   -0.32%     
==========================================
  Files         816      858      +42     
  Lines       58304    59965    +1661     
  Branches     8504     8546      +42     
==========================================
+ Hits        50047    51286    +1239     
- Misses       5308     5714     +406     
- Partials     2949     2965      +16     
Flag Coverage Δ
app-data 17.26% <0.00%> (-0.34%) ⬇️
app-ui-auth-tools 20.70% <3.12%> (+0.21%) ⬆️
app-ui-platform 15.43% <81.25%> (+0.07%) ⬆️
app-ui-vault 26.67% <26.47%> (+0.58%) ⬆️
authenticator 6.51% <0.00%> (+<0.01%) ⬆️
lib-core-network-bridge 4.23% <0.00%> (-0.01%) ⬇️
lib-data-ui 0.94% <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.

@github-actions
Copy link
Contributor

Logo
Checkmarx One – Scan Summary & Details79f39a84-e859-4e1c-a4b4-e8b87bf50434

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

@david-livefront
Copy link
Collaborator Author

Thanks @SaintPatrck

@david-livefront david-livefront added this pull request to the merge queue Mar 25, 2026
Merged via the queue into main with commit 6d0f69b Mar 25, 2026
39 of 41 checks passed
@david-livefront david-livefront deleted the immutable-list branch March 25, 2026 20:53
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:password-manager Bitwarden Password Manager app context t:tech-debt Change Type - Tech debt

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants