fix: RC3 queue link underline, genre album artist split, Artists "Other" bucket (#977)

* fix: RC3 queue link underline, genre album artist split, Artists "Other" bucket

Three zunoz reports, one change:

- Queue now-playing card: the artist and album links now underline on hover
  (not just recolour), matching clickable names everywhere else. The album
  link sits on .queue-current-sub itself; artist links are nested .is-link
  spans — both selectors covered.

- Genre album cards split multi-artist credits into individual links like the
  rest of the app. Root cause was the local-index genre query hardcoding NULL
  for the album raw_json column, so OpenSubsonic artists[] never reached the
  card and it fell back to the flat "A • B" single link. Select a.raw_json
  instead (parity with the All Albums / advanced-search album queries).

- Artists page alphabet index: # is now digits-only, and a new "Other" bucket
  collects accented Latin (Æ/Ø/Å…) and non-Latin scripts (CJK, Cyrillic, …)
  that previously fell into the # catch-all. Adds artistBucketKey/compareBuckets
  helpers (unit-tested), an OTHER bucket sorted last, and the artists.other
  label across 9 locales.

* docs(changelog): queue link hover, genre card artist split, Artists Other bucket (#977)
This commit is contained in:
Frank Stellmacher
2026-06-04 03:13:45 +02:00
committed by GitHub
parent 88df194808
commit 47e16ebfef
17 changed files with 109 additions and 18 deletions
+1
View File
@@ -2,6 +2,7 @@ export const artists = {
title: 'Künstler',
search: 'Suchen…',
all: 'Alle',
other: 'Andere',
gridView: 'Gitteransicht',
listView: 'Listenansicht',
imagesOn: 'Künstlerbilder aktiv — kann Netzwerk- und Systemlast erhöhen',
+1
View File
@@ -2,6 +2,7 @@ export const artists = {
title: 'Artists',
search: 'Search…',
all: 'All',
other: 'Other',
gridView: 'Grid view',
listView: 'List view',
imagesOn: 'Artist images on — may increase network and system load',
+1
View File
@@ -2,6 +2,7 @@ export const artists = {
title: 'Artistas',
search: 'Buscar…',
all: 'Todos',
other: 'Otros',
gridView: 'Vista de cuadrícula',
listView: 'Vista de lista',
imagesOn: 'Imágenes de artistas activadas — puede aumentar la carga de red y sistema',
+1
View File
@@ -2,6 +2,7 @@ export const artists = {
title: 'Artistes',
search: 'Rechercher…',
all: 'Tous',
other: 'Autres',
gridView: 'Vue en grille',
listView: 'Vue en liste',
imagesOn: 'Images d\'artistes activées — peut augmenter la charge réseau et système',
+1
View File
@@ -2,6 +2,7 @@ export const artists = {
title: 'Artister',
search: 'Søk…',
all: 'Alle',
other: 'Andre',
gridView: 'Rutenettvisning',
listView: 'Listevisning',
imagesOn: 'Artistbilder på - kan øke belastningen på nettverket og applikasjonen',
+1
View File
@@ -2,6 +2,7 @@ export const artists = {
title: 'Artiesten',
search: 'Zoeken…',
all: 'Alle',
other: 'Overige',
gridView: 'Rasterweergave',
listView: 'Lijstweergave',
imagesOn: 'Artiestafbeeldingen aan — kan netwerk- en systeembelasting verhogen',
+1
View File
@@ -2,6 +2,7 @@ export const artists = {
title: 'Artiști',
search: 'Caută…',
all: 'Tot',
other: 'Altele',
gridView: 'Vizualizare grilă',
listView: 'Vizualizare listă',
imagesOn: 'Imagini artist pornit — poate mări încărcarea rețelei și a sistemului',
+1
View File
@@ -2,6 +2,7 @@ export const artists = {
title: 'Исполнители',
search: 'Поиск…',
all: 'Все',
other: 'Другое',
gridView: 'Сетка',
listView: 'Список',
imagesOn: 'Фото исполнителей — больше трафика и нагрузка на систему',
+1
View File
@@ -2,6 +2,7 @@ export const artists = {
title: '艺术家',
search: '搜索…',
all: '全部',
other: '其他',
gridView: '网格视图',
listView: '列表视图',
imagesOn: '艺术家图片已开启 — 可能增加网络和系统负载',