Django internet radio player
Find a file
marwin 7bfce034ba
All checks were successful
Build and push Docker image / build (push) Successful in 17s
Test / test (push) Successful in 16s
Reader: Marker-Modus statt impliziter Auswahl, Notiz-Anker rein positional (SW v26)
Vier vom Nutzer gemeldete Bugs behoben:

- Markierter Text war kaum lesbar: der globale weiße Text-Outline (fürs
  Hintergrundbild-Feature gedacht) kollidierte mit der Highlight-Farbe.
  Reader sitzt immer auf eigenem, opakem Hintergrund — Outline dort komplett
  deaktiviert.
- "Notiz zu Markierung hinzufügen" öffnete weiterhin die rechte Sidebar statt
  den Rand. Jeder Notiz-Eintragspunkt (Highlight+Notiz aus der Textauswahl,
  Edit-Note-Klick auf eine Markierung im Fließtext) läuft jetzt über
  _openMarginAndEditNote() — öffnet bei Bedarf den Rand und bearbeitet dort
  inline. openNoteEditor()/rechte Sidebar für Notizen komplett entfernt.
- Kernursache für "Notiz verschwindet, Markierung heftet sich an falsche
  Notiz": Anker basierten auf XPath mit Sibling-Index unter den Textknoten
  eines Blocks — jede weitere Markierung im selben Block (surroundContents
  spaltet Textknoten) verschob diese Indizes und korrumpierte lautlos ALLE
  anderen Anker im selben Block. Anker adressieren jetzt stattdessen
  Block-Index + Zeichen-Offset innerhalb des Blocks (wie das bestehende
  Lesefortschritt-Ankersystem) — Wrapping/Unwrapping durch andere
  Markierungen ändert weder Blockreihenfolge noch Zeichenanzahl, ist also
  erschütterungsfrei für andere Anker im selben Block.
- Löschen einer Markierung riss zuvor aus demselben Grund weiter unten
  liegende Notizen optisch mit raus (Daten blieben in der DB) — mit dem
  neuen Ankersystem behoben.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-04 13:28:19 +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 Reader/UI: mehrere Fixes + Playwright-Setup (SW v21) 2026-08-04 09:01:52 +02:00
e2e Reader/UI: mehrere Fixes + Playwright-Setup (SW v21) 2026-08-04 09:01:52 +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 Reader: Marker-Modus statt impliziter Auswahl, Notiz-Anker rein positional (SW v26) 2026-08-04 13:28:19 +02:00
templates Reader: Notiz-Eingabe direkt im Rand statt Sprung zur Sidebar (SW v25) 2026-08-04 11:23:16 +02:00
.env.example Initial commit 2026-03-16 19:19:22 +01:00
.gitignore Reader/UI: mehrere Fixes + Playwright-Setup (SW v21) 2026-08-04 09:01:52 +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
package-lock.json Reader/UI: mehrere Fixes + Playwright-Setup (SW v21) 2026-08-04 09:01:52 +02:00
package.json Reader/UI: mehrere Fixes + Playwright-Setup (SW v21) 2026-08-04 09:01:52 +02:00
playwright.config.js Reader/UI: mehrere Fixes + Playwright-Setup (SW v21) 2026-08-04 09:01:52 +02:00
requirements.txt Use gevent workers in gunicorn to fix SSE blocking 2026-03-19 19:15:01 +01:00