Skip to content

fix(ui): stage bulk cover art until apply - #4

Merged
kolebayev merged 2 commits into
devfrom
kolebayev/fix-meta-update-on-cover
Aug 21, 2026
Merged

kolebayev merged 2 commits into
devfrom
kolebayev/fix-meta-update-on-cover

Conversation

@kolebayev

Copy link
Copy Markdown
Owner

Summary

In the bulk edit panel, picking a cover applied it to every selected track the moment the file dialog closed — out of step with the other fields, which wait for Apply, and with no way back from a mis-click. Cover art is now a draft like any other field, so one Apply covers the whole edit.

Changes

  • BulkEditPanel holds the picked path in pendingArt instead of firing onSetArtwork from the file dialog.
  • The Apply button counts artwork as a pending change: label reads Apply N Changes to M Tracks, and it stays disabled when nothing is staged.
  • Staged state is visible — the file's basename is shown, the pick button becomes Choose Another…, and a Clear button drops the staged cover.
  • onSetArtwork now returns a promise; App.tsx returns its run(...) chain so Apply can await it and hold Applying… until the art lands.
  • Fields and artwork remain two backend calls, applied one after the other.

Test plan

  • npm run typecheck — clean.
  • npm test — 125 tests across 8 files pass.

Picking a cover in the bulk panel wrote it to every selected track
immediately, out of step with the other fields and with no way back
from a mis-click. It is now a draft like any other field: the panel
shows the staged file name, offers Clear, and the single Apply stamps
fields and artwork together.

Claude-Session: https://claude.ai/code/session_01TdJdhEhGTJHScRWETLqEYA
@kolebayev
kolebayev merged commit 4f92ea3 into dev Aug 21, 2026
4 checks passed
@kolebayev
kolebayev deleted the kolebayev/fix-meta-update-on-cover branch August 21, 2026 14:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant