# MusicLink Worklog ## 2026-01-20 ### Current Status - **Backend:** Go (v1.22.8) bot using Matterbridge WebSocket API. - **Deployment:** NixOS based (flake.nix), currently managed on `ops-jrz1`. - **Issues:** 1. **Crash Loop:** `musiclink.service` is failing with `panic: repeated read on failed websocket connection`. 2. **API Instability:** `idonthavespotify` API reported to be returning 500s. 3. **Environment:** `matterbridge.service` not found on local system (likely running elsewhere or under a different name). ### Actions Taken 1. **Investigation:** - Verified `musiclink.service` status and read `bot-crash.log`. - Confirmed the panic location in `internal/bot/bot.go:186`. - Verified `idonthavespotify` API status: **Currently responsive (200 OK)** for specific Spotify album links. Intermittent 500s may still occur. - Tested Odesli (song.link) API as a potential fallback. 2. **Analysis:** - Identified that `readLoop` in `bot.go` needs to handle connection closures more gracefully to avoid the "repeated read" panic. - Verified that secrets (Matterbridge token) are handled via `sops-nix` by the platform team. ### Next Steps - Implement fix for WebSocket panic in `internal/bot/bot.go`. - Finalize investigation into `idonthavespotify` 500 errors. - If 500s persist, implement Odesli (song.link) as an alternative service provider. - Coordinate with platform team regarding `matterbridge` service status.