70 lines
3.3 KiB
Markdown
70 lines
3.3 KiB
Markdown
# yt-dlf — Handoff
|
||
|
||
> Übergabedokument für die Fortsetzung in einer Claude-Code-Session.
|
||
> Stand: 2026-08-29 — Untertitel-Dedup-Fix live an realen Dateien verifiziert
|
||
> und nach Gitea gepusht (`stwaidele/yt-dlf`, main auf `a7d7d1c`).
|
||
> Dauerhafte Fakten stehen in `README.md`/`INSTALL.md`; hier steht nur, was
|
||
> **nicht** aus Code und Git-Historie ersichtlich ist.
|
||
|
||
**🔜 NÄCHSTE SESSION:** Weiterentwicklung findet künftig auf **Gisela**
|
||
statt — dort von Gitea klonen (`git clone git@gitea-<slug>:stwaidele/yt-dlf.git`
|
||
bzw. Stefans eigener Zugang) und diesen Handoff als Einstieg nehmen.
|
||
Kein konkreter inhaltlicher Auftrag hinterlegt.
|
||
|
||
## Offene Punkte
|
||
|
||
- [ ] Deploy-Status klären — `build/` und `users.txt` liegen lokal (auf dem
|
||
Mac) vor, beide gitignored; ob und wo die App produktiv läuft, ist
|
||
nirgends festgehalten. Wichtig beim Umzug auf Gisela: gitignorte Dateien
|
||
(`users.txt`, `build/`, `ads-*.html`-Anpassungen) kommen **nicht** über
|
||
den Clone mit.
|
||
|
||
## Stolperfallen
|
||
|
||
- **Git-Konten-Mix** — Bestandsprojekt: Remote `origin` zeigt direkt auf
|
||
`git@gitea.101010.cloud:stwaidele/yt-dlf.git`; dieser Host-Eintrag in
|
||
`~/.ssh/config` (Mac) nutzt noch den alten generischen `claude`-Key.
|
||
Claude-Commits daher per Author-Override
|
||
(`git -c user.name="Claude <Modell>" -c user.email="<slug>@waidele.info" commit …`),
|
||
Repo-Config nicht umbiegen. Push konventionsgemäß über den Modell-Alias:
|
||
`git push git@gitea-fable-5:stwaidele/yt-dlf.git main` — `fable-5` hat
|
||
Write-Recht am Repo (live verifiziert 29.08.).
|
||
- **Rollende Auto-Captions** — YouTube-Auto-Untertitel wiederholen in jedem
|
||
Cue die letzte Zeile des Vorgänger-Cues; kurze Fortsetzungen (einzelne
|
||
Wörter) tragen dabei **keine** Inline-Timing-Tags. Ein Filter rein über
|
||
Timing-Tags reicht deshalb nicht — der Parser verwirft stattdessen
|
||
führende Wiederholungszeilen (`src/lib/subtitle.js`,
|
||
`scripts/subtitle_to_markdown.py`, beide identisch halten!).
|
||
|
||
## Session 2026-08-29 — Untertitel-Dedup-Fix & Push nach Gitea (Claude Fable 5)
|
||
|
||
Stefans Befund: MD-Dateien aus VTT-Untertiteln enthielten jeden Satz ~3×.
|
||
Ursache waren die rollenden YouTube-Auto-Captions (Uploader-Untertitel waren
|
||
nie betroffen — sie sind die bessere Quelle und werden von yt-dlp bereits
|
||
bevorzugt geladen). Fix in beiden Parsern (JS + Python-CLI), dazu überspringt
|
||
`src/routes/api/download/+server.js` jetzt inhaltsgleiche MD-Dateien
|
||
(z.B. `en.md` ≡ `en-orig.md`). Erster Ansatz (nur getaggte Zeilen behalten)
|
||
scheiterte am Randfall ungetaggter Einzelwort-Fortsetzungen → siehe
|
||
Stolperfalle. Live verifiziert an realen Dateien unter `~/YouTube/*/`;
|
||
alle 16 Bestands-MDs dort und in `~/Downloads/*/` mit dem CLI regeneriert.
|
||
Repo erstmals seit Mai gepusht (main `6df26c1..a7d7d1c` über
|
||
`gitea-fable-5`-Alias); Stefan verlagert die Weiterentwicklung auf Gisela.
|
||
|
||
## Session 2026-08-29 — Handoff angelegt (Claude Fable 5)
|
||
|
||
Projekt hatte noch keine `Handoff.md`; per `/handoff init` aus README,
|
||
INSTALL.md und Git-Historie erstellt. Kein Projekt-`CLAUDE.md` vorhanden.
|
||
Beide bisherigen Commits (16.05.) stammen von Stefan; seither keine
|
||
Änderungen im Working Tree.
|
||
|
||
## Typische Handgriffe
|
||
|
||
Dev-Server, Deployment und User-Verwaltung sind vollständig in `README.md`
|
||
und `INSTALL.md` dokumentiert — dort nachschlagen, hier nicht duplizieren.
|
||
|
||
## Verwandte Handoffs
|
||
|
||
_keine_
|
||
|
||
<!-- Ältere Sessions: git log -p Handoff.md -->
|