2 months ago
1672daf* feat(separation): notify natively when a separation finishes unfocused Separation is minutes of ONNX inference and users routinely switch away. Completion was surfaced only through the in-app notification store, which is invisible while the window is in the background. Adopt tauri-plugin-notification and post a native notification from the three moments that matter: a fresh single-song completion, a separation failure, and a batch completion. A cache hit is deliberately excluded - it returns before the user could switch away, so notifying would be noise for an operation that took no time. Cancellations are excluded too: the user issued them. Permission is requested lazily at the first unfocused completion rather than at launch, so the app does not raise the macOS prompt for a capability the user has not exercised yet. Denial degrades silently. songDisplayTitle moves to src/lib/song-display.ts instead of gaining a fourth copy of the title/file-name/hash fallback, and it now splits on both path separators - the "/"-only split rendered every Windows path in full. Closes #262 * fix(separation): keep a background batch to one notification A batch emits a per-song terminal event for every song it separates, on top of its own summary event, so a 30-song batch run in the background posted 31 native notifications - the exact scenario this feature exists to keep calm. Gate the per-song alerts on no batch being in progress, mirroring the branch the in-app progress bar already takes.
Parent4e3bb64