Django internet radio player
Find a file
mrwnslz 51b7316398 TUI: Lesestand-Vertrag (zuletzt gelesen gewinnt), Login wie diora_client, Bücher beim Öffnen laden
progress.py setzt docs/progress-sync.md um (read_at in Serverzeit mit Uhrversatz, sent_at beim
Senden, force, Warteschlange je Buch, Neuanwendung nach dem Abgleich; dieselben Regeln wie
Ops.kt/ops.js). Der Reader speichert nur, was der Leser bewegt hat; wiederherstellen,
Umbruch und Sprünge schreiben nichts. Neuere Stellen anderer Geräte werden angeboten
("Auf X weitergelesen – springen?"), nie von allein angewendet; "w" springt zur weitesten
Stelle. Fortschritt als Textanteil in Zeichen statt 0.0.

Abgleich über GET /books/ (ohne Markierungs-Blobs), Bücher erst beim Öffnen geladen
(☁ in der Liste). `diora-tui login` meldet wie die Apps an, liest den vorhandenen Token,
leitet den Schlüssel aus dem Passwort ab und speichert beides geschützt (DPAPI).
DIORA_TUI_HOME legt alle Dateien in einen Ordner (platformdirs folgt unter Windows den
Umgebungsvariablen nicht). 35 Tests, tools/smoke_server.py gegen einen lokalen Server.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-26 13:08:59 +01:00
.forgejo/workflows Refactoring Schritt 1: Browser-Tests für den Reader, in der CI; Plan in docs/refactoring.md 2026-10-14 18:25:06 +02:00
accounts 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
books 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
diora 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
docs Podcasts: Werbung und Schluss in YouTube-Folgen überspringen (SponsorBlock) 2026-10-25 16:18:24 +01:00
e2e Podcasts: Werbung und Schluss in YouTube-Folgen überspringen (SponsorBlock) 2026-10-25 16:18:24 +01:00
feeds Nachrichten: Lesehilfen ohne Sprachmodell (feeds/textproc.py, docs/news-text.md) 2026-10-19 17:07:51 +02:00
gpodder AntennaPod-Import und automatischer Download pro Podcast 2026-10-02 11:41:04 +02:00
podcasts Podcasts: Werbung und Schluss in YouTube-Folgen überspringen (SponsorBlock) 2026-10-25 16:18:24 +01:00
projects Projekte: Radar – wöchentlich neue Papers (PubMed, arXiv, bioRxiv, medRxiv), von Claude im Batch sortiert, Entscheidungen verschlüsselt, → Quellen; Preset Neuropolitik aus F:\neuropolitik\tools; sw v145 2026-10-19 20:43:43 +02:00
radio 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
static Podcasts: Werbung und Schluss in YouTube-Folgen überspringen (SponsorBlock) 2026-10-25 16:18:24 +01:00
templates 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
tools Podcasts im Browser: die Podcast-Seite der App statt des alten Podcast-Tabs 2026-10-02 10:26:32 +02:00
tts Vorlesen: Sprachauswahl DE/EN mit englischer Piper-Stimme (SW v43) 2026-09-01 07:04:27 +02:00
tui TUI: Lesestand-Vertrag (zuletzt gelesen gewinnt), Login wie diora_client, Bücher beim Öffnen laden 2026-10-26 13:08:59 +01:00
.env.example Bücher: Cloud-Import aus WebDAV/Nextcloud (SW v41) 2026-08-28 08:26:22 +00:00
.gitignore Vorlesen-Funktion im Reader: Piper/Thorsten-TTS (SW v42) 2026-08-31 22:29:13 +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 Vorlesen: Sprachauswahl DE/EN mit englischer Piper-Stimme (SW v43) 2026-09-01 07:04:27 +02: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: offene Notizleiste schiebt den Text nicht mehr aus der Mitte; sw v107 2026-10-14 19:43:03 +02:00
requirements.txt Projekte: Radar – wöchentlich neue Papers (PubMed, arXiv, bioRxiv, medRxiv), von Claude im Batch sortiert, Entscheidungen verschlüsselt, → Quellen; Preset Neuropolitik aus F:\neuropolitik\tools; sw v145 2026-10-19 20:43:43 +02:00