ca0fb70370
TrackActionsViewModel fetched the hidden-track snapshot only at init and after local flag/unflag, so a hide/unhide from another device left the sheet's Hide/Unhide label stale until the VM was recreated. Now it subscribes to EventsStream and refreshes on any quarantine.* event (flagged / unflagged / resolved / file_deleted / deleted_via_lidarr). Also routed the radio / append-to-playlist / hide / unhide failure snackbars through ErrorCopy.fromThrowable instead of raw it.message, keeping the action-context prefix. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>