28 lines
1.4 KiB
Markdown
28 lines
1.4 KiB
Markdown
# 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.
|