diora-web/static
marwin daffd0002b
All checks were successful
Build and push Docker image / build (push) Successful in 1m1s
Test / test (push) Successful in 15s
Books: Fortschritt-Konflikt via Anker-Blockindex statt scroll_fraction (SW v15)
Die max()-Semantik aus v14 verglich nur die grobe scroll_fraction. Da
scroll_fraction und position_anchor gemeinsam, aber entkoppelt gespeichert
werden, konnte ein einzelner Save mit transient zu hoher fraction (z.B.
instabiles Layout beim Laden) die Position dauerhaft einfrieren: jeder
spätere echte Fortschritt hatte eine kleinere fraction und wurde inklusive
Anker verworfen — der Leser landete immer wieder an derselben Stelle.

Fix: Vergleich läuft jetzt über den Blockindex im Anker (die Größe, die
auch die Sprungposition bestimmt), mit innerFraction als Tiebreaker.
scroll_fraction dient nur noch als Fallback für PDFs ohne Anker. Server
(_progress_is_further) und Client (_cmpProgress) nutzen identische Logik;
loadBookList-Push und lokaler Cache ebenfalls. Bestehende eingefrorene
Einträge entfrieren sich beim ersten Weiterlesen selbst.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-10 20:52:27 +02:00
..
css Layout: Tab-Leiste position:fixed + padding-top korrekt (SW v11) 2026-05-30 00:34:53 +02:00
js Books: Fortschritt-Konflikt via Anker-Blockindex statt scroll_fraction (SW v15) 2026-07-10 20:52:27 +02:00
icon-192.png Initial commit 2026-03-16 19:19:22 +01:00
icon-512.png Initial commit 2026-03-16 19:19:22 +01:00
manifest.json PWA: fix icon purpose entries + bump SW cache to v8 2026-05-29 23:49:32 +02:00