d218f4c6f39be971e0839c05784ff9faaec9d028
The publish job has never run successfully. When it failed on the v1.0.0 tag it reported "SyntaxError: Unexpected end of JSON input" from piping an empty curl body into JSON.parse, which said nothing about the actual cause (an unset token). An opaque failure there costs a full three-platform build. Routes every call through a helper that captures the HTTP status and prints the response body on 4xx/5xx. Also switches artifact iteration to while-read so filenames with spaces cannot split, and dumps the artifact tree when nothing matches. Helper verified against the live API: existing tag resolves to its release id, a missing tag reports HTTP 404 with the body and yields an empty id so the create path runs. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
What's That Music
A desktop app that plays YouTube Music and serves a now-playing overlay for OBS.
The app is a single Electron window that loads music.youtube.com. It also runs a small HTTP/WebSocket server on localhost:9095 that streams the current track to any connected overlay client. Point OBS (or any browser) at http://localhost:9095/ to see the overlay.
Run from source
cd desktop-client
npm install
npm start
The app opens. Sign in to YouTube Music. Play a track. Visit http://localhost:9095/ in another browser to see the overlay.
Build a Windows zip
cd desktop-client
npm run build -- --win zip --x64
Output: desktop-client/dist/WhatsThatMusic-<version>-win.zip. Unzip on a Windows machine and run WhatsThatMusic.exe. The app is unsigned, so SmartScreen will warn on first launch — click "More info → Run anyway."
OBS setup
- Add a Browser Source.
- URL:
http://localhost:9095/. - Width / height: match your scene (the overlay positions itself absolutely; 1920x1080 is fine).
- Make sure the app is running before OBS loads the source.
Tests
cd desktop-client
npm test
Runs the node:test unit suite (desktop-client/tests/).
Layout
desktop-client/— the Electron app (main entry, server module, preload scraper, tray).overlay/— static HTML + JS the bundled server serves at/.docs/superpowers/— design and plan documents.