Django internet radio player
Find a file
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
.forgejo/workflows Show build time in bottom-right corner 2026-03-19 21:35:41 +01:00
accounts Accounts: fix password change key migration 2026-05-25 16:46:03 +02:00
books Books: Fortschritt-Konflikt via Anker-Blockindex statt scroll_fraction (SW v15) 2026-07-10 20:52:27 +02:00
diora Centralize remaining magic numbers in settings.py 2026-04-04 21:10:14 +02:00
gpodder Fix gpodder: add update_urls to episode actions POST response 2026-03-28 19:08:46 +01:00
podcasts Centralize remaining magic numbers in settings.py 2026-04-04 21:10:14 +02:00
radio Centralize remaining magic numbers in settings.py 2026-04-04 21:10:14 +02:00
static Books: Fortschritt-Konflikt via Anker-Blockindex statt scroll_fraction (SW v15) 2026-07-10 20:52:27 +02:00
templates Books: Fortschritt-Konflikt via max() lösen — weiter = gewinnt (SW v14) 2026-05-31 15:41:35 +02:00
.env.example Initial commit 2026-03-16 19:19:22 +01:00
.gitignore Books: vollständiger Offline-Modus für EPUB-Reader 2026-05-29 21:14:40 +02:00
docker-compose.yml Add podcast feature with feed management, Docker cron, and ebook reader assets 2026-03-19 13:39:59 +01:00
Dockerfile Show build time in bottom-right corner 2026-03-19 21:35:41 +01:00
Dockerfile.cron Fix cron container: switch dcron→cron, export env vars for cron jobs 2026-03-20 09:16:29 +01:00
manage.py Initial commit 2026-03-16 19:19:22 +01:00
requirements.txt Use gevent workers in gunicorn to fix SSE blocking 2026-03-19 19:15:01 +01:00