- Add explicit rows.Close() calls inside loops to avoid holding locks too long
- Add SQLite busy timeout (5s) to connection string to wait for locks instead of failing immediately
- Replaced deprecated web token endpoint with POST to accounts.spotify.com/api/token
- Integrated client credentials OAuth flow using client ID and secret
- Adjusted request headers to use Bearer token