lyrics plugin: lrclib.net timeouts should be handled better
- Dominant language
- Python
- Stars
- 15.7k
- Forks
- 2.1k
- Avg merge
- 4d 21h
- Merged PRs (30d)
- 31
Description
Maybe give options for backoff etc? lrclib was definitely flakey when this happened btw, not entirely the plugins fault, but response should be better imo
```
lyrics: LRCLib: Request error: HTTPSConnectionPool(host='lrclib.net', port=443): Read timed out. (read timeout=10)
lyrics: LRCLib: Request error: HTTPSConnectionPool(host='lrclib.net', port=443): Read timed out. (read timeout=10)
lyrics: LRCLib: Request error: HTTPSConnectionPool(host='lrclib.net', port=443): Max retries exceeded with url: /api/search?artist_name=My+Chemical+Romance&track_name=Na+Na+Na (Caused by SSLError(SSLEOFError(8, '[SSL: UNEXPECTED_EOF_WHILE_READING] EOF occurred in violation of protocol (_ssl.c:1028)')))
lyrics: LRCLib: Request error: HTTPSConnectionPool(host='lrclib.net', port=443): Read timed out. (read timeout=10)
lyrics: LRCLib: Request error: HTTPSConnectionPool(host='lrclib.net', port=443): Read timed out. (read timeout=10)
lyrics: LRCLib: Request error: HTTPSConnectionPool(host='lrclib.net', port=443): Max retries exceeded with url: /api/search?artist_name=My+Chemical+Romance&track_name=Planetary+%28GO%21%29 (Caused by SSLError(SSLEOFError(8, '[SSL: UNEXPECTED_EOF_WHILE_READING] EOF occurred in violation of protocol (_ssl.c:1028)')))
lyrics: LRCLib: Request error: HTTPSConnectionPool(host='lrclib.net', port=443): Read timed out. (read timeout=10)
lyrics: LRCLib: Request error: ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))
lyrics: LRCLib: Request error: HTTPSConnectionPool(host='lrclib.net', port=443): Read timed out. (read timeout=10)
lyrics: LRCLib: Request error: HTTPSConnectionPool(host='lrclib.net', port=443): Max retries exceeded with url: /api/search?artist_name=My+Chemical+Romance&track_name=Party+Poison (Caused by SSLError(SSLEOFError(8, '[SSL: UNEXPECTED_EOF_WHILE_READING] EOF occurred in violation of protocol (_ssl.c:1028)')))
lyrics: LRCLib: Request error: HTTPSConnectionPool(host='lrclib.net', port=443): Read timed out. (read timeout=10)
lyrics: LRCLib: Request error: HTTPSConnectionPool(host='lrclib.net', port=443): Read timed out. (read timeout=10)
lyrics: LRCLib: Request error: HTTPSConnectionPool(host='lrclib.net', port=443): Max retries exceeded with url: /api/search?artist_name=My+Chemical+Romance&track_name=Summertime (Caused by SSLError(SSLEOFError(8, '[SSL: UNEXPECTED_EOF_WHILE_READING] EOF occurred in violation of protocol (_ssl.c:1028)')))
lyrics: LRCLib: Request error: HTTPSConnectionPool(host='lrclib.net', port=443): Read timed out. (read timeout=10)
lyrics: LRCLib: Request error: 500 Server Error: Internal Server Error for url: https://lrclib.net/api/search?artist_name=My+Chemical+Romance&track_name=The+Kids+From+Yesterday
lyrics: LRCLib: Request error: HTTPSConnectionPool(host='lrclib.net', port=443): Read timed out. (read timeout=10)
lyrics: LRCLib: Request error: HTTPSConnectionPool(host='lrclib.net', port=443): Max retries exceeded with url: /api/search?artist_name=My+Chemical+Romance&track_name=Vampire+Money (Caused by SSLError(SSLEOFError(8, '[SSL: UNEXPECTED_EOF_WHILE_READING] EOF occurred in violation of protocol (_ssl.c:1028)')))
```
Contributor guide
Research direction
The issue does not name a file or test. Start by locating the lyrics plugin's LRCLib request entry point and reproduce the timeout, connection-reset, and server-error cases shown here. Confirm the intended retry or backoff behavior and what user-facing result should count as done.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- cli
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100