mirror of
https://github.com/rommapp/romm.git
synced 2026-06-28 06:46:00 +00:00
During a scan with large collections, the scan page becomes slow or
unresponsive. The watch on scanningPlatforms with { deep: true } was
firing on every ROM addition, causing Vue to deeply traverse all nested
platform and ROM data each time.
The watch's only job is deciding which panels are open. A panel should
open when a platform first receives ROMs — after that, its open/closed
state doesn't need to change regardless of how many more ROMs arrive.
Replace with a computed that maps each platform to a boolean
(roms.length > 0), so the watch only fires on that one meaningful
transition per platform. The ROM list inside each panel continues to
update reactively as normal — this change only affects the panel
open/close logic.
Note: This PR was written with AI assistance (Claude Code).