Commit graph

  • 0a9b618858 Podcast-Oberfläche: wartender Transkriptionsauftrag zeigt den Grund (sw CACHE v171) master mrwnslz 2026-11-09 11:17:23 +01:00
  • 55239f71a0 Transkription: eingebaute Instanz läuft auf dem PC im Tailnet; ist sie nicht erreichbar, wartet der Auftrag und versucht es alle 10 Minuten neu (höchstens zwei Tage); Whisper-Server kann CUDA mrwnslz 2026-11-09 11:17:23 +01:00
  • e8bb70feb0 Eingebaute Whisper-Instanz: kleiner OpenAI-kompatibler Server (lädt das Modell bei Bedarf, gibt es nach Leerlauf frei) mrwnslz 2026-11-09 11:10:15 +01:00
  • 21cf91a875 Podcast-Oberfläche aus diora-android (Teilen, Transkript erstellen, ✦ Artikel, Artikel-Tab, Einstellungen Transkription), sw CACHE v170 mrwnslz 2026-11-09 10:21:42 +01:00
  • d4a47064b2 Podcast-Artikel: Reservierung mit Gerätenamen (claim/release, deviceId pro Browser oder App) mrwnslz 2026-11-09 10:03:19 +01:00
  • cedc14f714 Merge branch 'wt-tr-pipeline' into wt-tr-int mrwnslz 2026-11-09 10:02:00 +01:00
  • ae5341d441 Smarte Transkription C: Transkriptions-Pipeline (podcasts/transcribe.py), Endpunkte /transcribe/, /transcription/pending/, /article/claim/, Transkript-Rückfall auf Whisper, transcripts in /feeds/notifications/ mrwnslz 2026-11-09 10:01:35 +01:00
  • 9659140f30 Migration der Transkription nach 0028 (nach dem Episodenlink aus dem Teilen-Schritt) mrwnslz 2026-11-09 09:47:20 +01:00
  • d059ed82c8 Merge branch 'wt-tr-article' into wt-tr-int mrwnslz 2026-11-09 09:39:08 +01:00
  • efdc0ffc11 Merge branch 'wt-tr-blog' into wt-tr-int mrwnslz 2026-11-09 09:39:08 +01:00
  • bd09d81366 Smarte Transkription D: Artikel-Endpunkt und Blog-Anbindung mrwnslz 2026-11-09 09:36:34 +01:00
  • a937ed8b3e Folgen haben einen Link: PodcastEpisode.link aus dem <link> des Feed-Eintrags (neu und beim Abruf nachgetragen), in episode_detail und allen Folgenlisten mrwnslz 2026-11-09 09:32:13 +01:00
  • 69442f4a4d Smarte Transkription B: Datenmodell, Einstellungen und Test-Endpunkt mrwnslz 2026-11-09 09:27:01 +01:00
  • 810cf7741c Podcast-Artikel: Benachrichtigungsziel episode:<id> wie in der Android-Bridge, im Vertrag festgehalten mrwnslz 2026-11-09 09:22:06 +01:00
  • dbd4fb6e3a Podcast-Artikel auf dem Gerät: podcast-article.js schreibt den Artikel mit dem eigenen Key und holt offene Wünsche ab; DioraAI.ask mit onProgress und signal mrwnslz 2026-11-09 09:21:24 +01:00
  • f242605a97 Smarte Transkription: Vertrag und Prompt (docs/transcription.md), Abschnitt Transkripte in docs/podcasts.md, Podcast-Artikel in docs/ai.md mrwnslz 2026-11-09 09:16:16 +01:00
  • 1e36d8600b PDF-Zoom neu: Pinch zoomt um die Fingermitte und zeichnet scharf neu (Scrollen: an Ort und Stelle, die Stelle bleibt; Seiten: vergrößerte Seite mit einem Finger verschiebbar, am Rand weiterwischen blättert); pdfSmartZoomPage gab es nicht mehr; Seiten werden auf eigener Canvas gezeichnet und erst fertig eingesetzt (sw CACHE v169) mrwnslz 2026-11-04 15:37:12 +01:00
  • 0d712a7f21 PDF: Öffnen an der gespeicherten Seite zeigt kein „Weit gescrollt“ mehr (sw CACHE v168) mrwnslz 2026-11-04 14:35:03 +01:00
  • 066d0052d2 PDF-Seiten so breit wie gezeichnet (nicht auf die Zeilenlänge des Textes begrenzt); Notizspalte geht beim Öffnen nicht mehr von selbst auf (sw CACHE v167) mrwnslz 2026-11-04 14:32:24 +01:00
  • 429b875faf PDF: öffnet an der gespeicherten Seite, Leserfarben, Seitenzahlen wie im Buch (sw CACHE v166) mrwnslz 2026-11-03 18:42:26 +01:00
  • 65a01569f9 PDF: markierbarer Text, Suche im ganzen Dokument, anklickbare Links mit Zurück (sw CACHE v165) mrwnslz 2026-11-03 18:16:27 +01:00
  • 6a3cd23095 PDF-Reader überarbeitet: ein Zeichenweg, Seitenmodus nach Textbox, Seitensprung, Inhalt und Lesezeichen in beiden Modi (sw CACHE v164) mrwnslz 2026-11-03 18:09:05 +01:00
  • ec704a086f PDF Seitenmodus: Seite füllt den Lesebereich und wird nach ihrer Textbox platziert mrwnslz 2026-11-03 18:07:18 +01:00
  • a963841bc4 Test-PDF als Binärdatei (keine Zeilenend-Umwandlung) mrwnslz 2026-11-03 17:52:39 +01:00
  • c2a9873b0d PDF-Reader: ein Zeichenweg, Seitenmodus neu, Seitensprung für beide Modi (WIP, ungetestet) mrwnslz 2026-11-03 17:52:28 +01:00
  • 04548171bf Anmeldung mit Authelia für die Apps: Server gibt nach geprüftem Authelia-Login den App-Zugang heraus (sw CACHE v163) mrwnslz 2026-11-01 20:12:43 +01:00
  • 67f983dd1c Nach dem Authelia-Login sind die Bücher gleich offen, ohne Code und Passwort (sw CACHE v162) mrwnslz 2026-11-01 19:35:21 +01:00
  • 077e6d4543 Anmelden mit Authelia als zweiter Weg, Bücher auf neuen Geräten per Code entsperren (sw CACHE v161) mrwnslz 2026-11-01 15:01:25 +01:00
  • 3eca4d8404 Ordner-Chips standardmäßig eingeklappt – aufgeklappt nur, wenn auf dem Gerät so gewählt (sw CACHE v160) mrwnslz 2026-10-26 21:18:32 +01:00
  • d702a27d16 Ordner-Chips einklappbar: „Ordner ▾/▸“ nach den Status-Chips, eingeklappt bleibt nur der gewählte Ordner sichtbar; je Bereich auf dem Gerät gemerkt (sw CACHE v159) mrwnslz 2026-10-26 20:40:10 +01:00
  • e8b525a3de Nachrichten und Blogs im Buch-Reader, Doppelklick für Vollbild, Hörbücher wie die Bücher-Bibliothek mrwnslz 2026-10-26 20:15:00 +01:00
  • 6bb774adb9 Lesen in Seiten auch im Browser und auf dem Desktop, mit Fußnoten unten auf der Seite und Doppelseite mrwnslz 2026-10-26 19:41:27 +01:00
  • 308eed150a Podcasts: Shownotes überdecken die „Ähnlichen Folgen“ nicht mehr (podcast-ui.css aus diora-android 5227c26, sw CACHE v156) mrwnslz 2026-10-26 16:57:29 +01:00
  • 6047ae44c4 TUI: TODO (Pull Request anlegen, Forgejo-Zugang, selbst ausprobieren) wt-tui mrwnslz 2026-10-26 16:55:56 +01:00
  • e246a32212 TUI: Markierungen, Notizen und Lesezeichen (anzeigen, anlegen, löschen, abgleichen) mrwnslz 2026-10-26 16:42:32 +01:00
  • 695037fb9c TUI: Bibliothek wie im Web (Weiterlesen-Karte, Status- und Ordner-Chips, Suche, Sortierung, Länge) mrwnslz 2026-10-26 13:18:49 +01:00
  • 51b7316398 TUI: Lesestand-Vertrag (zuletzt gelesen gewinnt), Login wie diora_client, Bücher beim Öffnen laden mrwnslz 2026-10-26 13:08:59 +01:00
  • edc9c6d4c3 TUI: EPUB wie der Browser lesen (HTML5, Rohdaten) und Zeichenpositionen je Block mrwnslz 2026-10-26 12:59:03 +01:00
  • 7095e176b7 TUI: Blocktext wie der Web-Reader, Tests und Anker-Parität mrwnslz 2026-10-26 12:40:20 +01:00
  • 58f59476d8 Merge master into wt-tui mrwnslz 2026-10-26 12:33:14 +01:00
  • 14a45f4cb4 Merge origin/master in master marwin 2026-10-26 11:48:23 +01:00
  • 593b72f17f Merge worktree-tui-reader: diora-tui (Terminal-EPUB-Reader) nach master marwin 2026-10-26 11:46:32 +01:00
  • 1194472572 Podcasts: Werbung und Schluss in YouTube-Folgen überspringen (SponsorBlock) mrwnslz 2026-10-25 16:18:24 +01:00
  • 5b1325609f Nachrichten/Blogs: Gelesen-Markieren geht nicht mehr verloren, wenn der Server nicht antwortet mrwnslz 2026-10-25 15:33:26 +01:00
  • 1da19ba715 CI erneut anstoßen (Docker-Netze auf Strato waren aufgebraucht) mrwnslz 2026-10-25 13:34:02 +01:00
  • a64c801275 Podcast-Radio: die neueste ungehörte Strom-Folge, ohne Spuren (eigene Radio-gehört-Liste, gemischt nach Podcasts, neue Folgen zuerst); Web-Player und Player-Sync; sw v153 mrwnslz 2026-10-25 13:17:09 +01:00
  • 21f5e33e57 docs/podcasts.md: Podcast-Radio geplant (neueste ungehörte Strom-Folge, keine Spuren, eigene Radio-gehört-Liste) mrwnslz 2026-10-25 13:03:15 +01:00
  • 89827086ba Gezeichnete Cover: neue Konzepte (funk, musik, kunst, essen, sport, geld, reise), zweite Motive für die meisten; quadratisch für Hörbücher und Podcasts ohne (ladbares) Bild; sw v152 mrwnslz 2026-10-25 12:39:57 +01:00
  • 841ac5bed5 Bibliothek: Hinweis „Länge wird ermittelt“ gedämpft gesetzt; sw v151 mrwnslz 2026-10-25 12:28:52 +01:00
  • 6e8e5a0f7b Bibliothek: nach Länge sortieren (kürzeste/längste zuerst); Seitenzahl beim Hochladen, für ältere Bücher einmal auf dem Gerät ermittelt; sw v150 mrwnslz 2026-10-25 12:28:41 +01:00
  • 58003057e3 KI: OpenRouter als zweiter Anbieter (wählbar, chat completions mit json_schema); ✦ Mit KI ordnen für Podcasts (Ordner, Stufen) und Nachrichten/Blogs (Ressort, Ordner, Art); sw v149 mrwnslz 2026-10-25 12:23:54 +01:00
  • 0ba16a40ff 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 mrwnslz 2026-10-24 18:34:49 +02:00
  • a73ade5422 docs/library.md: Eingang (Cloud-Quelle bringt neue Bücher von selbst) mrwnslz 2026-10-24 18:13:04 +02:00
  • cec07dd208 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 mrwnslz 2026-10-24 18:12:39 +02:00
  • 262056b5ee 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 mrwnslz 2026-10-24 16:14:05 +02:00
  • 868e979755 docs/radio.md: Radio, Ambient und Fokus – Server, Web, Android, Desktop, bekannte Schwachstellen mrwnslz 2026-10-24 16:05:59 +02:00
  • e2bb1f9c5d Doku: Abos & Quellen erledigt, Zeitschriften-Markierung, folders als Liste, Strom/Merkliste statt Neu/Warteschlange, theme.md ordnet feeds.js und podcast-ui.css richtig zu mrwnslz 2026-10-24 16:04:12 +02:00
  • fd69ec3472 Doku nachgezogen: Navigation mit Projekte/Suche/Fokus und TOP_TABS (Panels) vs. nav.js (Navigation); app.js-Verweise auf static/js/app/ mrwnslz 2026-10-24 16:03:34 +02:00
  • c8fd139b44 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 mrwnslz 2026-10-19 20:43:43 +02:00
  • a329eab091 Projekt-Notizen: Markdown-Tabellen; sw v144 mrwnslz 2026-10-19 20:28:27 +02:00
  • 66dc7a48fd Projekt-Fenster: alle Leisten der App ausblenden (.nui-tab-bar); sw v143 mrwnslz 2026-10-19 20:23:16 +02:00
  • e7a18084a7 Projekte am Desktop im eigenen Fenster: ?project=<id> zeigt nur das Projekt, Quellen öffnen im Hauptfenster, das Fenster merkt sich keine Navigation; sw v142 mrwnslz 2026-10-19 20:19:26 +02:00
  • de50debad9 Podcasts im Browser: Mit Projekt verknüpfen (Folgen, Player mit Zeitmarke), Merken in der Folgenansicht (diora-android 4f514cd); sw v142 mrwnslz 2026-10-19 20:19:22 +02:00
  • e5a170838b 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 mrwnslz 2026-10-19 20:14:17 +02:00
  • 6e5092ab3f Podcasts im Browser: Stöbern, Lieblings-Abos, Suche → Folgenansicht (diora-android 1c1ec4e); podcasts-web.js speichert folders, refresh_interval, favorite; sw v140 mrwnslz 2026-10-19 19:17:33 +02:00
  • 8df8ae2be3 Suche über ganz diora: eigener Abschnitt (Handy neben Home · Lesen · Hören, Seitenleiste unten über Abos), Bücher lokal, Rest über /search/; sw v139 mrwnslz 2026-10-19 19:09:07 +02:00
  • 410d4806ca Podcasts: Hörbuch-Kapitel kommen nie in die Wiedergabeliste oder Merkliste; Themen nur aus Folgentiteln (schneller, weniger Rauschen) mrwnslz 2026-10-19 19:00:38 +02:00
  • 3fa16b9653 Podcasts stöbern: Volltextsuche (FTS5), ähnliche Folgen, Personen, Themen, Vergessenes, Personen anderswo (Apple/fyyd), Empfehlungen (fyyd); Abo-Favoriten mrwnslz 2026-10-19 18:50:35 +02:00
  • 3c9185689a Podcasts im Browser: Wiedergabeliste · Merkliste · Strom · Abos (diora-android ef914bd), sw v137 mrwnslz 2026-10-19 18:21:03 +02:00
  • 3ef2bdcb61 Podcasts: Merkliste und Wiedergabeliste (hinter lists_v2), Abo-Stufen inkl. Stamm direkt in die Wiedergabeliste, Abrufintervall pro Abo, Strom-Daten (heard_365, stream/seen, filter=stream) mrwnslz 2026-10-19 18:05:28 +02:00
  • 1cb6584395 Buch-Metadaten: Änderung auf veraltetem Stand wird abgelehnt (409 mit dem aktuellen), das Web baut sie darauf neu auf mrwnslz 2026-10-19 18:03:49 +02:00
  • 58b337d224 docs/podcasts.md: im Strom nach gehörten Folgen sortieren, Gehörte vor Ungehörten mrwnslz 2026-10-19 17:49:37 +02:00
  • 2a3b4b760b docs/podcasts.md: Plan für Strom, Merkliste, Wiedergabeliste und Abo-Stufen mrwnslz 2026-10-19 17:46:00 +02:00
  • f539158a19 Podcasts: „auf einmal“ heißt innerhalb einer Stunde – stündliche Nachrichten bleiben häufig mrwnslz 2026-10-19 17:30:38 +02:00
  • 2cb5dc4c04 Podcasts: alle Folgen an einem Tag (Archiv, Kurs) zählen als selten, nicht als täglich mrwnslz 2026-10-19 17:29:39 +02:00
  • ba3c6ff905 Podcasts: Folgen einer Kategorie (?folder=), wie oft ein Podcast erscheint (interval_days) für „Nach Zeitraum, seltene zuerst“ mrwnslz 2026-10-19 17:23:06 +02:00
  • 86a6bb52d7 Buchdateien in eine eigene Tabelle (EBookFile): Änderungen an Titel, Ordner, gelesen schreiben nicht mehr megabyteweise die Datei mit mrwnslz 2026-10-19 17:11:19 +02:00
  • e3d597a3c0 Nachrichten: Lesehilfen ohne Sprachmodell (feeds/textproc.py, docs/news-text.md) mrwnslz 2026-10-19 17:07:51 +02:00
  • c8e05bdb0a Bücherliste liest nie mehr an den Dateien vorbei: Datum, gelesen, Cover aus abdeckenden Indizes (37 s → schnell; die Desktop-App gab nach 10 s auf) mrwnslz 2026-10-19 15:37:11 +02:00
  • b09a4625a4 SQLite im WAL-Modus, Transaktionen IMMEDIATE: Leser warten nicht mehr auf lange Schreibvorgänge (Feed-Abruf, große Uploads) – kein „database is locked“ mehr bei GET /books/ mrwnslz 2026-10-19 15:04:37 +02:00
  • 46e47df6d0 PDFs: nur Seiten nahe der Ansicht zeichnen (ferne wieder freigeben), sofort öffnen; Öffnen lässt sich abbrechen (Knopf, Schließen, anderes Buch) mrwnslz 2026-10-19 14:57:03 +02:00
  • 7f9d6fc22a Bibliothek: Ausgaben – PDF und EPUB (oder zwei Übersetzungen) als ein Werk, in der Liste einmal mit ihren Formaten mrwnslz 2026-10-19 14:27:14 +02:00
  • 2327eb06d5 feeds: unfertige Änderungen aus f2583cb wieder heraus (versehentlich mit committet, liegen weiter im Arbeitsbaum) mrwnslz 2026-10-19 14:06:38 +02:00
  • f2583cbefd Generierte Cover: „blaue Bände“ für Werke von Marx und Engels, mit Buchrücken und Bandnummer mrwnslz 2026-10-19 14:06:19 +02:00
  • e43facb620 docs/theme.md: Desktop-App lässt bei „Automatisch“ das System entscheiden (0.1.31) mrwnslz 2026-10-19 10:16:36 +02:00
  • a399374216 YouTube-Kanäle: zufällige 404 abfangen; „Automatisch“ in der Android-App mrwnslz 2026-10-19 08:16:09 +02:00
  • 3c7be76a93 Zeitschriften: Artikel richtig erkennen (GegenStandpunkt, PDF-Hefte) mrwnslz 2026-10-17 11:48:44 +02:00
  • ea7d62789f Zeitschriften: das Heft und seine Artikel mrwnslz 2026-10-17 11:14:28 +02:00
  • fa9dc073cb Hörbücher herunterladen (Android-App) mrwnslz 2026-10-17 10:16:39 +02:00
  • c52da00405 Bibliothek: größerer „Zuletzt gelesen“-Bereich mrwnslz 2026-10-16 23:08:03 +02:00
  • f1158e32a7 Generierte Cover: Ordner wählen das Motiv, neue Motive für Klassiker, Horror, Religion, Kinderbücher und Informatik mrwnslz 2026-10-16 22:44:45 +02:00
  • caeb67e886 Mehrere Bücher: Fehlschläge werden erneut versucht (Server-Neustart, kurzer Abbruch), Knopf „erneut versuchen“; Bücher bis 100 MB mrwnslz 2026-10-16 21:52:31 +02:00
  • f3b0080790 Serien für Bücher: erkannt, als Stapel, selbst zuweisen und verwalten mrwnslz 2026-10-16 21:47:18 +02:00
  • 6d7fb4a849 Neue Navigations-Icons (Stil B), mehrere Bücher auf einmal, generiertes Cover pro Buch wählbar mrwnslz 2026-10-16 21:21:10 +02:00
  • 4e4fac227c Podcast-UI aus diora-android 449118c (Ordner-Chips, ein Kopf je Bereich); E-Ink: Art-Abzeichen in Abos & Quellen lesbar mrwnslz 2026-10-16 21:06:41 +02:00
  • d870ed6f9d Blogs: Ordner verwalten und zuweisen wie überall; leere Bibliothek zeigt den Kopf mit + mrwnslz 2026-10-16 20:56:19 +02:00
  • 8f5be379fe Bibliothek neu: Ordner als Filter-Chips überall, Cover-Raster, Cover verschlüsselt und generiert (noch nicht veröffentlicht) mrwnslz 2026-10-16 20:44:23 +02:00
  • d7930fcdb9 Bibliothek ordnen (Navigation Phase 3): Hörbuch-Reihen und -Ordner, Zeitschriften je Heft mrwnslz 2026-10-16 15:45:14 +02:00
  • 143950df94 Abos & Quellen: alle Abos an einem Ort (Navigation Phase 2) mrwnslz 2026-10-16 15:23:12 +02:00
  • a48dca07ea Navigation: diora Reader zeigt die Lesen-Abschnitte in seiner Leiste; Podcast-UI aus diora-android 26f5019 mrwnslz 2026-10-16 14:53:38 +02:00