docs: SAVEPOINT — 5.6.0 gebaut und lokal installiert, NICHT veröffentlicht; Übergabe
Ampel / ampel (push) Successful in 1m25s
Ampel / ampel (push) Successful in 1m25s
Prüfsumme, Klick-Beweis (33 Schritte), Tests (446), die acht Punkte von 5.6.0 (inkl. Vorgangs-Leiste), was am Gerät noch zu messen ist, bekannte Schwächen. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Fable 5.1
parent
f5dab5d1c1
commit
512b38cced
+145
-1
@@ -1,6 +1,150 @@
|
|||||||
# SAVEPOINT — Rippy
|
# SAVEPOINT — Rippy
|
||||||
|
|
||||||
## ÜBERGABE an die nächste Session (02.09.2026 abends — 5.5.0 gebaut, lokal installiert und im Tag `aktuell` VERÖFFENTLICHT)
|
## ÜBERGABE an die nächste Session (03.09.2026 abends — 5.6.0 gebaut und lokal installiert, NICHT veröffentlicht)
|
||||||
|
|
||||||
|
### Wo die nächste Session startet
|
||||||
|
|
||||||
|
* **Arbeitsort:** `F:\Coding Stuff\rippy`, Branch `worktree-windows-electron`
|
||||||
|
(Spitze siehe `git log`). v5-Code in `rippy-windows/`; `main` ist reines
|
||||||
|
Docker-Rippy.
|
||||||
|
* **Bau:** wie in BAUEN.md — `npm install` + `node node_modules/electron/install.js`,
|
||||||
|
Playwright mit `PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD=1`, `vendor/` aus
|
||||||
|
`%LOCALAPPDATA%\Rippy\tools`.
|
||||||
|
* **Die drei Läufe:** `npm test` (446 Tests in 44 Dateien),
|
||||||
|
`npm run smoke` (Gerüst), `npm run klick` (33 Klick-Schritte, Bilder
|
||||||
|
`beweise/klick/*.png`, darunter `07-hell-modus.png` und `02-dialog-vorwahl.png`).
|
||||||
|
Alle drei in dieser Session grün.
|
||||||
|
* **Release veröffentlichen — NUR nach dem Wort des Commanders:** die
|
||||||
|
Dateien im Gitea-Tag `aktuell` ERSETZEN (`RippySetup-5.6.0.exe`,
|
||||||
|
`.blockmap`, `latest.yml`; `w0.yml` bleibt liegen). Dateien liegen in
|
||||||
|
`rippy-windows/dist-setup/` (Kopie) und `rippy-windows/dist-setup-560/`
|
||||||
|
(Original). Weg wie bei 5.5.0 (siehe unten „Veröffentlicht"): Token
|
||||||
|
`F:\Coding Stuff\Gittea Token\rippy.txt` über das PowerShell-Werkzeug
|
||||||
|
lesen (nie ausgeben), LAN-Adresse
|
||||||
|
`http://192.168.178.153:3000/api/v1/repos/Hitonabi/rippy/releases/1`,
|
||||||
|
ERST Setup und Blockmap hochladen, DANN `latest.yml` löschen (204) und
|
||||||
|
neu hochladen (201), Release-Name/Notizen PATCHen, anonym über
|
||||||
|
`https://git.tobisniceshomelab.ddnsfree.com/Hitonabi/rippy/releases/download/aktuell/`
|
||||||
|
gegenmessen. Das PowerShell-Werkzeug blockt Befehle mit `Remove-Item` —
|
||||||
|
Skript ohne schreiben. **Im Kanal liegt 5.5.0.**
|
||||||
|
|
||||||
|
### Stand
|
||||||
|
|
||||||
|
**5.6.0 ist gebaut, am ausgepackten Paket bewiesen und auf DIESEM PC
|
||||||
|
installiert (03.09.2026 19:17, Installer-Exit 0, Rippy lief dabei nicht), NICHT im Kanal.** Der Commander testet erst.
|
||||||
|
|
||||||
|
* Setup: `RippySetup-5.6.0.exe`, **131 566 582 Bytes**, SHA-256
|
||||||
|
`4392CA5D36E165491085810D4181B22594BB29D62334ED1CDD0D2171264DA1FD` (Bau in `dist-setup-560/`).
|
||||||
|
* Paket-Smoke: `SMOKE: OK — fenster=geladen kern=pid:15172,node:24.18.1 datenbank=ok leine=gesetzt pong=ok version=5.6.0`.
|
||||||
|
* **446 Tests** in 44 Dateien (5.5.0: 413), drei
|
||||||
|
Typprüfungen und Bau grün.
|
||||||
|
* Klick-Beweis: 33 Schritte grün, Ausgang 0 — neu gegenüber 5.5.0:
|
||||||
|
beide Titel auf Hauptfilm → keine Vorwahl; Titel 1 auf Extra → „BEIM
|
||||||
|
ABSPIELEN AN" erscheint, `deu` gewählt; zwei „anderer Film …"-Knöpfe,
|
||||||
|
Suchfeld öffnet; Kompressions-Karte zeigt „noch … s" (ETA aus der
|
||||||
|
nachgebauten HandBrake-Zeile), die Kachel zeigt KEINEN vollen Block mehr,
|
||||||
|
sondern „Kompression fertig — das Ergebnis steht im Verlauf"; Hell-Modus
|
||||||
|
über Einstellungen → Allgemein (`html[data-design=hell]`, Bild), zurück
|
||||||
|
auf Dunkel; Vorgangs-Leiste in der Kachel (TITEL LESEN ✓, RIPPEN aktiv,
|
||||||
|
KOMPRIMIEREN/ABLEGEN offen, keine „PHASE x/4"-Texte) und in der
|
||||||
|
Kompressions-Karte (KOMPRIMIEREN aktiv).
|
||||||
|
* Commits dieser Session: `f5dab5d` (Kern, Fenster, Tests, Klick-Beweis, Aenderungsnotizen, Version 5.6.0 — 59 Dateien) und dieser SAVEPOINT.
|
||||||
|
|
||||||
|
### Was 5.6.0 enthält — die sechs Punkte des Commanders vom 03.09.2026
|
||||||
|
|
||||||
|
Seine Worte: „Bei Kompression ETA anzeigen / Wenn ein Job abgeschlossen
|
||||||
|
wird, wird Kompression beim Hero-Header und im Kompression angezeigt — nur
|
||||||
|
nötig bei Kompression, oder? / Beim Scrollen in den Einstellungen muss die
|
||||||
|
Bar oben sinnvoll mitscrollen / Untertitel müssen separat auswählbar sein
|
||||||
|
(das hatten wir besprochen) / White Mode / Verhalten, wenn eine Disc mehr
|
||||||
|
als einen Film hat, besprechen." Seine Entscheide in den Rückfragen: **nur
|
||||||
|
in der Kompressions-Karte; Untertitel-Vorwahl je Inhalt — „NUR für Extras
|
||||||
|
und IMMER OPTIONAL", weiche Spur, nie eingebrannt; je Titel eigener Film
|
||||||
|
im Dialog; Roh-Ordner UND Dateien tragen den Filmnamen.**
|
||||||
|
|
||||||
|
1. **Restzeit (ETA):** `kern/komprimieren/handbrake.ts etaAusZeile` liest
|
||||||
|
HandBrakes eigene Klammer — Formatstring aus dem Binary (1.11.2):
|
||||||
|
`Encoding: task %d of %d, %.2f %% (%.2f fps, avg %.2f fps, ETA %02dh%02dm%02ds)`.
|
||||||
|
`KompressionStand.restS` → Kompressions-Karte „noch ~12 min"
|
||||||
|
(`bausteine.restText`). In den ersten Sekunden ohne Klammer: „Restzeit
|
||||||
|
wird berechnet …".
|
||||||
|
2. **Kachel-Kurzzeile:** `LaufwerkKachel` zeigt nach dem Rip nur noch eine
|
||||||
|
Zeile (läuft / Platz n / fertig → Verlauf / Fehler bleibt sichtbar, R4).
|
||||||
|
3. **Kopfzeile bleibt stehen:** `App.tsx` header `sticky top-0 z-40` mit
|
||||||
|
`bg-buehne/85 backdrop-blur-md`; die Sektionswahl der Einstellungen
|
||||||
|
sitzt darunter (`lg:top-[76px]`).
|
||||||
|
4. **Untertitel-Vorwahl je Extra:** `RipAuftragTitel.untertitelVorwahl`
|
||||||
|
(`string` = diese Sprache vorgewählt, `null` = keine, fehlend = Rippys
|
||||||
|
Regel) → `RohDatei.untertitelVorwahl` → `auftrag.ts sprachwahl` stellt
|
||||||
|
sie nach vorn und setzt `untertitelStandard` (HandBrake
|
||||||
|
`--subtitle-default=1`, weiche Spur). Dialog: Select „BEIM ABSPIELEN AN"
|
||||||
|
nur bei Rolle Extra, Vorgabe „Rippys Regel (deu)".
|
||||||
|
5. **Mehrere Filme je Disc:** `RipAuftragTitel.film` (MetaVorschlag) aus dem
|
||||||
|
Dialog („anderer Film …" mit TMDb-Suche über `metadaten-suchen`);
|
||||||
|
`kern/ablauf/filme.ts filmGruppen` teilt am Rip-Ende: Titel eines
|
||||||
|
anderen Films ziehen per `renameSync` in einen eigenen Roh-Ordner
|
||||||
|
(`rohOrdnerName`), bekommen eigenen Vorgang (`<vorgang>-2`, `-3` …) und
|
||||||
|
eigenen Kompressions-Auftrag mit voller Zuordnung
|
||||||
|
(`erkennung.zuordnungAus` → TMDb-Details; Notnagel
|
||||||
|
`zuordnungAusVorschlag`). Behält KEIN Titel die Disc-Zuordnung, wird die
|
||||||
|
erste Gruppe zum Hauptvorgang. Die Vorschau im Dialog zeigt je Film
|
||||||
|
seine Zeile.
|
||||||
|
6. **Ordner und Dateien mit Filmnamen:** Roh-Ordner
|
||||||
|
`roh\Akira (1988)` bzw. `roh\Spartacus - Staffel 1 Disc 2`, bei
|
||||||
|
Wiederholung „(2)"; ohne Zuordnung weiter der Zeitstempel. Dateien
|
||||||
|
(`kern/ablage/dateinamen.ts`): `Akira (1988).mkv`, zwei Fassungen
|
||||||
|
`… - Fassung 1.mkv`, Extras `… - Extra 01.mkv` in `extras\`; Folgen
|
||||||
|
behalten den Namen bis zur Episoden-Zuordnung. Der Vorgangs-Name
|
||||||
|
(Zeitstempel) bleibt die Kennung — `Vorgang.rohOrdner` trägt den Pfad.
|
||||||
|
7. **Hell-Modus:** Einstellung `design` (dunkel / hell / system);
|
||||||
|
`App.tsx` setzt `data-design` auf `<html>`, `stil.css` überschreibt die
|
||||||
|
Farb-Tokens (`:root[data-design="hell"]`: warmes Papier, dunkleres Gold,
|
||||||
|
Tinte statt Weiß). Neuer Token `--color-tinte` ersetzt alle
|
||||||
|
`white/`-Alpha-Klassen (`bg-tinte/…`, `border-tinte/…`).
|
||||||
|
8. **Vorgangs-Leiste** (Commander mitten in der Session: „Phase 1–4 plus
|
||||||
|
Komprimierung — zu einem machen, der Phasen-Balken gefällt mir"; sein
|
||||||
|
Ja zu Variante A): `gemeinsam/vorgangsleiste.ts` (pur: Stationen
|
||||||
|
Titel lesen → [Rettungs-Abbild] → Rippen → Komprimieren → Ablegen,
|
||||||
|
`stationsZustand`, `leisteAusRip/-Vorgang/-Kompression`) und
|
||||||
|
`fenster/uebersicht/VorgangsLeiste.tsx` (Segment-Balken in der aktiven
|
||||||
|
Station, kompakt als Punkte). Kachel: Details der Laufwerks-Stationen,
|
||||||
|
nach dem Rip nur der Stand; Kompressions-Karte: Stationen 3–4 mit
|
||||||
|
Restzeit; Verlauf und Warteschlange: Punkte. Die Texte „PHASE x/4"
|
||||||
|
sind weg (`PHASEN_MONO`).
|
||||||
|
|
||||||
|
### ⚠ Am Gerät noch zu messen (nichts davon war in dieser Session möglich)
|
||||||
|
|
||||||
|
* **Zwei Filme auf einer echten Disc** (Double Feature): Roh-Umzug per
|
||||||
|
`renameSync` im Arbeitsordner, zwei Vorgänge, zwei Zielordner mit Poster
|
||||||
|
und NFO — Unit-Tests decken die Gruppen-Logik (`filme.test.ts`), nicht
|
||||||
|
den Lauf mit MakeMKV.
|
||||||
|
* **Untertitel-Vorwahl im Spieler:** Ob Jellyfin/VLC die als Default
|
||||||
|
markierte Spur bei einem Extra wirklich einblendet — HandBrake-Flag ist
|
||||||
|
am 01.09. gemessen (setzt default UND forced), das Abspielen nicht.
|
||||||
|
* **Restzeit an einem echten Encode** (die Klammer erscheint nach den
|
||||||
|
ersten Sekunden; im Klick-Beweis kommt sie vom Nachbau).
|
||||||
|
* **Hell-Modus mit Poster-Kulisse und echten Postern.**
|
||||||
|
* Weiter offen aus 5.5.0: Rettungs-Abbild an Spartacus Disc 2, Automatik an
|
||||||
|
echter Disc, Benachrichtigung live, Datenbank-Befund vom 01.09. (siehe
|
||||||
|
5.5.0-Übergabe unten).
|
||||||
|
|
||||||
|
### Bekannte Schwächen, bewusst in Kauf genommen
|
||||||
|
|
||||||
|
* Ein Roh-Ordner mit Filmnamen ist auch bei „Neu komprimieren" derselbe —
|
||||||
|
die Regel „ein Ordner je Vorgang" gilt weiter, nur der Name ist lesbar.
|
||||||
|
* Der zweite Film einer Disc bekommt Staffel/Folge nie (nur Filme, keine
|
||||||
|
Serien) und keinen Fingerprint (die Disc als Ganzes ist beim Hauptvorgang
|
||||||
|
gemerkt).
|
||||||
|
* Ohne Arbeitsordner schreibt HandBrake weiterhin direkt ins Ziel — bei
|
||||||
|
„Neu komprimieren" in denselben Ordner überschreibt der neue Encode die
|
||||||
|
alte Datei gleichen Namens erst am Ende des Laufs (Umzug), aber ohne
|
||||||
|
Arbeitsordner während des Laufs. Wer wiederholt, sollte den Arbeitsordner
|
||||||
|
gesetzt haben (5.5.0-Empfehlung).
|
||||||
|
* Das Fenster startet mit dunklem Hintergrund (`backgroundColor` in
|
||||||
|
`haupt/fenster.ts`) und schaltet erst mit den Einstellungen auf Hell —
|
||||||
|
ein kurzes Aufblitzen beim Start.
|
||||||
|
|
||||||
|
## Übergabe vom 02.09.2026 abends (5.5.0 — veröffentlicht im Tag `aktuell`; überholt durch 5.6.0)
|
||||||
|
|
||||||
### Wo die nächste Session startet
|
### Wo die nächste Session startet
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user