library: cache on-demand artist biographies

Artist biographies come from getArtistInfo2, which the library sync does
not call. Store them in their own table so a page open can use the last
value immediately and downloads can keep it for offline use, without
pulling a large text column into every artist list query.

A missing row means the artist has never been fetched; a row with a null
biography means the server had none. That lets the page show the loading
state only until the first fetch completes.
This commit is contained in:
austinried
2026-10-19 13:14:08 +00:00
parent 2e54d09acb
commit 194787dfcc
16 changed files with 2311 additions and 5 deletions
File diff suppressed because it is too large Load Diff