diora-web/static/js/app
mrwnslz c2a9873b0d PDF-Reader: ein Zeichenweg, Seitenmodus neu, Seitensprung für beide Modi (WIP, ungetestet)
- 58-pdf.js: _pdfDraw – eine Zeichnung je Canvas (die vorige wird
  abgebrochen und abgewartet), Pixeldichte, höchstens 16,7 MP; Seiten, die
  gehen, geben auch pdf.js' Seitendaten frei; ein gemeinsamer pdf.js-Worker
  (_pdfLoad) auch für Uploads, Seitenzahl, Hefte und Cover; Inhalts-
  verzeichnis parallel aufgelöst, auch mit Seitenindex als Ziel;
  ResizeObserver: Drehen, Breite, Leisten – neu an derselben Seite.
- 66-pdf-paginated.js: Seitenmodus auf _pdfDraw, Zuschnitt in
  Bildschirmkoordinaten (gedrehte Seiten) und höchstens 2,5× der ganzen
  Seite (eine fast leere Seite wird nicht unendlich groß); nächste und
  vorige Seite vorgezeichnet; Tippen zum Blättern blendet die Leisten
  nicht mehr ein; Wischen nur deutlich seitwärts; Mausrad; Pinch setzt die
  Vorschau zurück; nach dem Blättern wird gespeichert und 'diora-pdf-turn'
  gemeldet (E-Ink-Refresh).
- pdfGoToPage für beide Modi: Inhaltsverzeichnis, Seitenzahl im Kopf,
  Lesezeichen, Tasten (Seitenmodus jetzt auch Leertaste, Bild auf/ab).
- Beim Scrollen wird die aktuelle Seite mitgeführt (Lesezeichen sagten
  immer „Seite 1“).
- Schalter Scrollen | Seiten im PDF-Panel; Zoom-Regler zeichnet erst neu,
  wenn er ruht.
- openBook hängt seine Listener über _readerListen an; closeReader nimmt
  sie ab (vorher sammelten sie sich bei jedem Öffnen an). Abbrechen und
  ein zweites Buch geben das alte Dokument frei; der entschlüsselte
  PDF-Puffer wird nicht mehr gehalten.
- Invertieren dreht die Farbtöne zurück (Fotos keine Negative).
- e2e/fixtures/make_test_pdf.py: Test-PDF mit gemischten Formaten,
  Outline, Links und einer fast leeren Seite.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-03 17:52:28 +01:00
..
01-core.js Mehrere Bücher: Fehlschläge werden erneut versucht (Server-Neustart, kurzer Abbruch), Knopf „erneut versuchen“; Bücher bis 100 MB 2026-10-16 21:52:31 +02:00
10-radio.js Radio: Titel-Abfrage (/radio/sse/) nie ins private Netz; ohne Konto nur Sender aus dem Verzeichnis (kuratiert, Featured, radio-browser per Sender-ID) – eigene Adressen brauchen ein Konto; sw v146 2026-10-24 16:14:05 +02:00
14-focus.js Refactoring Schritt 2: app.js nach Bereichen in static/js/app/ aufgeteilt; sw v106 2026-10-14 18:30:43 +02:00
16-stations.js Refactoring Schritt 2: app.js nach Bereichen in static/js/app/ aufgeteilt; sw v106 2026-10-14 18:30:43 +02:00
20-tabs.js Projekte mit Preset Forschung: Quellen (Paper per DOI, Bücher, Folgen mit Zeitmarke, Artikel), Zitierschlüssel, BibTeX/CSL-Export, Markdown-Notizen mit [@key]; Ende-zu-Ende-verschlüsselt. Navigation: Projekte als Tab am Handy, Suche als Lupe; sw v141 2026-10-19 20:14:17 +02:00
24-ambient.js Refactoring Schritt 2: app.js nach Bereichen in static/js/app/ aufgeteilt; sw v106 2026-10-14 18:30:43 +02:00
26-sidebar.js PDF-Reader: ein Zeichenweg, Seitenmodus neu, Seitensprung für beide Modi (WIP, ungetestet) 2026-11-03 17:52:28 +01:00
28-serviceworker.js Refactoring Schritt 2: app.js nach Bereichen in static/js/app/ aufgeteilt; sw v106 2026-10-14 18:30:43 +02:00
29-m3u.js Refactoring Schritt 2: app.js nach Bereichen in static/js/app/ aufgeteilt; sw v106 2026-10-14 18:30:43 +02:00
30-contrast.js Refactoring Schritt 2: app.js nach Bereichen in static/js/app/ aufgeteilt; sw v106 2026-10-14 18:30:43 +02:00
32-crypto.js Anmelden mit Authelia als zweiter Weg, Bücher auf neuen Geräten per Code entsperren (sw CACHE v161) 2026-11-01 15:01:25 +01:00
33-unlock.js Anmelden mit Authelia als zweiter Weg, Bücher auf neuen Geräten per Code entsperren (sw CACHE v161) 2026-11-01 15:01:25 +01:00
34-wallpaper.js Refactoring Schritt 2: app.js nach Bereichen in static/js/app/ aufgeteilt; sw v106 2026-10-14 18:30:43 +02:00
40-epub.js PDF-Reader: ein Zeichenweg, Seitenmodus neu, Seitensprung für beide Modi (WIP, ungetestet) 2026-11-03 17:52:28 +01:00
44-books.js Refactoring Schritt 2: app.js nach Bereichen in static/js/app/ aufgeteilt; sw v106 2026-10-14 18:30:43 +02:00
46-readpos.js Refactoring Schritt 2: app.js nach Bereichen in static/js/app/ aufgeteilt; sw v106 2026-10-14 18:30:43 +02:00
48-book-cache.js Lesen in Seiten auch im Browser und auf dem Desktop, mit Fußnoten unten auf der Seite und Doppelseite 2026-10-26 19:41:27 +01:00
50-reader-state.js Refactoring Schritt 2: app.js nach Bereichen in static/js/app/ aufgeteilt; sw v106 2026-10-14 18:30:43 +02:00
52-book-list.js PDF-Reader: ein Zeichenweg, Seitenmodus neu, Seitensprung für beide Modi (WIP, ungetestet) 2026-11-03 17:52:28 +01:00
53-library.js Nachrichten und Blogs im Buch-Reader, Doppelklick für Vollbild, Hörbücher wie die Bücher-Bibliothek 2026-10-26 20:15:00 +01:00
54-issues.js PDF-Reader: ein Zeichenweg, Seitenmodus neu, Seitensprung für beide Modi (WIP, ungetestet) 2026-11-03 17:52:28 +01:00
55-library-tools.js KI-Assistent (eigener Anthropic-Key, Ende-zu-Ende verschlüsselt, Aufrufe direkt vom Gerät) mit „Mit KI ordnen“ für Bücher; Bibliothek als XML exportieren; sw v148 2026-10-24 18:34:49 +02:00
56-cloud-import.js Neue Navigations-Icons (Stil B), mehrere Bücher auf einmal, generiertes Cover pro Buch wählbar 2026-10-16 21:21:10 +02:00
57-cloud-inbox.js Bücher: „Eingang“ – eine Cloud-Quelle bringt ihre neuen Bücher von selbst in die Bibliothek (Gerät holt, verschlüsselt, lädt hoch; Server merkt sich, was übernommen ist); sw v147 2026-10-24 18:12:39 +02:00
58-pdf.js PDF-Reader: ein Zeichenweg, Seitenmodus neu, Seitensprung für beide Modi (WIP, ungetestet) 2026-11-03 17:52:28 +01:00
60-tts.js Refactoring Schritt 2: app.js nach Bereichen in static/js/app/ aufgeteilt; sw v106 2026-10-14 18:30:43 +02:00
62-reader.js PDF-Reader: ein Zeichenweg, Seitenmodus neu, Seitensprung für beide Modi (WIP, ungetestet) 2026-11-03 17:52:28 +01:00
63-pages.js Nachrichten und Blogs im Buch-Reader, Doppelklick für Vollbild, Hörbücher wie die Bücher-Bibliothek 2026-10-26 20:15:00 +01:00
64-reader-settings.js PDF-Reader: ein Zeichenweg, Seitenmodus neu, Seitensprung für beide Modi (WIP, ungetestet) 2026-11-03 17:52:28 +01:00
65-article.js Nachrichten und Blogs im Buch-Reader, Doppelklick für Vollbild, Hörbücher wie die Bücher-Bibliothek 2026-10-26 20:15:00 +01:00
66-pdf-paginated.js PDF-Reader: ein Zeichenweg, Seitenmodus neu, Seitensprung für beide Modi (WIP, ungetestet) 2026-11-03 17:52:28 +01:00
68-bookmarks.js PDF-Reader: ein Zeichenweg, Seitenmodus neu, Seitensprung für beide Modi (WIP, ungetestet) 2026-11-03 17:52:28 +01:00
70-search.js Refactoring Schritt 2: app.js nach Bereichen in static/js/app/ aufgeteilt; sw v106 2026-10-14 18:30:43 +02:00
72-highlights.js Nachrichten und Blogs im Buch-Reader, Doppelklick für Vollbild, Hörbücher wie die Bücher-Bibliothek 2026-10-26 20:15:00 +01:00
74-margin.js Reader: offene Notizleiste schiebt den Text nicht mehr aus der Mitte; sw v107 2026-10-14 19:43:03 +02:00
76-export.js Refactoring Schritt 2: app.js nach Bereichen in static/js/app/ aufgeteilt; sw v106 2026-10-14 18:30:43 +02:00
78-footnotes.js Lesen in Seiten auch im Browser und auf dem Desktop, mit Fußnoten unten auf der Seite und Doppelseite 2026-10-26 19:41:27 +01:00
80-radio-sidebar.js Refactoring Schritt 2: app.js nach Bereichen in static/js/app/ aufgeteilt; sw v106 2026-10-14 18:30:43 +02:00
99-init.js Navigation: Lesen und Hören (Phase 1, noch nicht veröffentlicht) 2026-10-16 14:31:58 +02:00