Area: Performance
Priority: Low
Estimated Time: 2 hours
Description:
VaultViewModel's StateFlow-driven state, combined with pull-to-refresh (VaultListPullToRefreshTest.kt)
and periodic WebSocket-driven updates, is a plausible source of over-broad recomposition if the
list's StateFlow emits a new full list on every minor update rather than a more granular state
shape.
Tasks:
- Use Compose's recomposition-counting tooling (Layout Inspector /
@Stable/@Immutable audits) on
VaultListScreen
- Restructure state to avoid recomposing unaffected rows when a single vault updates
- Add a regression check (e.g., a recomposition-count assertion in a Compose test) if tooling allows
Area: Performance
Priority: Low
Estimated Time: 2 hours
Description:
VaultViewModel'sStateFlow-driven state, combined with pull-to-refresh (VaultListPullToRefreshTest.kt)and periodic WebSocket-driven updates, is a plausible source of over-broad recomposition if the
list's
StateFlowemits a new full list on every minor update rather than a more granular stateshape.
Tasks:
@Stable/@Immutableaudits) onVaultListScreen