fix(web): artist hero name no longer clips last letter; fold 2.3 into 2.2

- .artist-hero-name: add padding-right so the heavy/negative-letter-spacing
  final glyph isn't cut by overflow:hidden.
- CHANGELOG: merge the 2.3 batch into a single 2.2 (2026-08-22) section.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
HoneyandClaude Opus 4.8 committed 2026-08-22 00:48:33 +02:00
1 parent 67642f8ab8
commit ed641e999c
2 files changed
+4 -11

No files matched your search

+3 -10
View File
@@ -64,10 +64,11 @@ Versioning: two-part `MAJOR.MINOR` — each release bumps the minor (features an
---
## [2.3] — 2026-08-21
## [2.2] — 2026-08-22
A cleanup-and-parity release: the **Song Importer moves into the Global Search field** (one field,
like Android), concert events become **reliable across web/Android**, and several Android gaps close.
like Android), concert events become **reliable across web/Android**, several Android gaps close, and
**YouTube downloads are recovered** after they broke on two independent fronts.
### Added
- **Unified Global Search field (Web)** — the separate Song-Importer page/sidebar entry is gone. The
@@ -117,14 +118,6 @@ like Android), concert events become **reliable across web/Android**, and severa
search / Bibliothek-Global tab fired only a transient toast and then registered no
success/failure notification (only the importer and artist page did). It now goes through the same
app-lifetime `NotificationStore` poll, so it notifies on completion even after you leave the screen.
---
## [2.2] — 2026-08-19
Gets YouTube downloads working again after they broke on two independent fronts.
### Fixed
- **YouTube downloads (HTTP 403 + "Signature solving failed")** — two things had broken downloads:
1. Recent yt-dlp needs an **external JavaScript runtime** to solve YouTube's signature/nsig
challenge — without it, formats were skipped and the media 403'd. The backend now installs
+1 -1
View File
@@ -852,7 +852,7 @@ button:focus{outline:none}
.artist-hero-pfp{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.artist-hero-pfp-initial{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:52px;font-weight:700;color:var(--text2);line-height:1}
.artist-hero-info{min-width:0;flex:1;display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start;padding:20px 24px;background:linear-gradient(to left,rgba(7,7,15,.95) 0%,rgba(7,7,15,.1) 100%)}
.artist-hero-name{max-width:100%;font-size:26px;font-weight:800;letter-spacing:-0.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.artist-hero-name{max-width:100%;font-size:26px;font-weight:800;letter-spacing:-0.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-right:.12em}
.artist-hero-fans{font-size:13px;font-weight:600;color:rgba(255,255,255,.58);margin-top:6px;letter-spacing:.2px;display:none}
.artist-hero-fans.show{display:block}
@media(max-width:768px){