Files
rippy/beweise/berichte/2026-09-12-durchsicht.md
T
HitonabiandClaude Opus 5 6f1add480e docs: Durchsicht 12.09.2026 — Bericht mit 30 Funden, fünf Ursachen-Kandidaten für die drei Filme, Messungen
Kompletter Check von Kern, Haupt und Fenster (5.6.1). Wichtigster Fund:
der Forum-Beta-Key vom September enthält ein @, Rippys Muster schneidet
ihn ab, MakeMKV läuft dann unlizenziert. Dazu: stiller Rip-Start ohne
Ablage, Serien-Disc-2-Umbenennung, tauber Kern-Neustart, Wache-Takt-
Ketten, Vorgangs-Stand pro HandBrake-Tick. Der Datenbank-Befund vom
01.09. war ein Messartefakt der MSIX-Schattensicht des Claude-Terminals.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-12 21:13:40 +02:00

22 KiB
Raw Blame History

Durchsicht Rippy v5 (5.6.1) — Bericht vom 12.09.2026

Anlass: Drei Filme (Der Patriot, Déjà Vu, Training Day) lassen sich auf einem ANDEREN PC mit Rippy nicht bearbeiten, während MakeMKV allein sie lesen und öffnen kann. Dazu die Bitte um einen kompletten Check von Kern, Haupt und Fenster.

Was hier steht, ist GEMESSEN oder im Quelltext mit Zeile belegt — nichts ist geraten. Wo ich etwas nicht messen konnte, steht das dabei.

Stand des Repos: Branch worktree-windows-electron, Spitze 473eea7, Arbeitsbaum sauber. npm run typecheck grün, npm test grün (450 Tests bestanden, 12 übersprungen — die Messungen, die ein Laufwerk brauchen). Gelesen wurden ALLE 92 Quelldateien unter rippy-windows/src (16 081 Zeilen), die Tests, die Bau-Konfiguration und die Protokolle des echten Rippy auf diesem PC.


1. Die drei Filme — was am anderen PC dahintersteckt

Ich habe die Disc-Ausgaben des anderen PCs nicht; ich habe aber ALLE Wege gefunden, auf denen Rippy scheitert, während MakeMKV allein weiterkommt. Sie stehen in der Reihenfolge, in der ich sie für wahrscheinlich halte — mit der Zeile, an der man sie am anderen PC in einer Minute erkennt.

Die Protokoll-Datei liegt dort unter %APPDATA%\Rippy\logs\rippy-JJJJ-MM-TT.log (im Programm: Einstellungen → Allgemein → „Protokoll öffnen"). Die Zeilen des Tages, an dem einer der drei Filme versucht wurde, entscheiden.

Kandidat 1 — MakeMKV läuft dort ohne gültigen Schlüssel (Beta-Key-Fehler in Rippy)

Der frei veröffentlichte Beta-Key vom September 2026 enthält ein @: T-vwvn…6Ox4BI@N5rPp (68 Zeichen, heute von der Herstellerseite geladen, „valid until end of September 2026"). Rippys Muster KEY_MUSTER = /T-[A-Za-z0-9_]{50,}/ (kern/werkzeuge/schluessel.ts:19) kennt kein @ und schneidet den Schlüssel auf 62 Zeichen ab (Sonde 9, gemessen an der echten Seite). Den verstümmelten Schlüssel lehnt MakeMKV ab (5020), Rippy nimmt ihn „damit MakeMKV im Beta-Modus weiterläuft" wieder zurück (schluessel.ts:214-219) — und MakeMKV läuft ohne Schlüssel. Für DVDs ist das egal (laut Hersteller dauerhaft frei), für Blu-rays schaltet MakeMKV nach Ablauf des Testzeitraums ab — nach der Gnadenfrist („noch einige Tage", MSG 5051) beim Speichern, je nach Fassung auch beim Öffnen. Ob das GUI am anderen PC noch in der Gnadenfrist ist, sagt dessen Startmeldung; Rippy dagegen meldet den Zustand nicht als Ausfall (siehe F1/F5).

Warum es bei DIR läuft: In der echten Datenbank dieses PCs steht unter makemkvAppKey ein 68-Zeichen-Schlüssel MIT @ — du hast den Key von Hand als „Eigener Schlüssel" eingetragen. Der andere PC verlässt sich vermutlich auf die Automatik, und die liefert den kaputten Key.

Erkennen: Einstellungen → MakeMKV zeigt dort gelb „BETA-MODUS — RIPS LAUFEN" oder rot; im Protokoll steht Schlüssel: Beta-Key abgelehnt … — wieder entfernt; ein gescheiterter Rip trägt Ursache: MakeMKV ist nicht freigeschaltet (Testzeitraum abgelaufen); MakeMKV-GUI zeigt beim Start „Der Testzeitraum ist abgelaufen". Sofort-Abhilfe ohne neue Version: den vollständigen Key (mit @) von Hand unter Einstellungen → MakeMKV → „Eigener Schlüssel" eintragen, „Schlüssel neu prüfen". Gilt bis 30.09.2026 — danach braucht es den Rippy-Fix (Fund 1 unten) oder wieder Handarbeit.

Kandidat 2 — Titel lesen bricht nach fünf Minuten ab (der Timeout, nicht die Disc)

erkennung.titelLesen tötet makemkvcon info nach 300 s (kern/dienste/erkennung.ts:315, kern/rip/makemkv.ts:170-173) und meldet „MakeMKV hat die Titel nach fünf Minuten nicht gelesen. Bei einer beschädigten Disc kann das passieren". Ältere DVDs mit Kopierschutz (Sony-ARccOS, Disney-99-Titel-Struktur) und Discs mit vielen Playlisten brauchen im MakeMKV-GUI regelmäßig länger als fünf Minuten zum Öffnen — das GUI wartet, Rippy nicht. Ein hart beendetes makemkvcon hinterlässt außerdem gern den 5042-Zustand („findet kein Laufwerk"), sodass der NÄCHSTE Versuch sofort scheitert. Erkennen: Titel-Lauf X gescheitert: MakeMKV hat die Titel nach fünf Minuten nicht gelesen; im GUI dauert „Disc wird geöffnet" länger als 5 min.

Kandidat 3 — der Rip startet still nicht (Ablage oder Arbeitsordner nicht erreichbar)

Pipeline.starten legt den Roh-Ordner mit mkdirSync an (kern/ablauf/pipeline.ts:258) — ohne Fangnetz. Ist die Ablage oder der Arbeitsordner gerade nicht da (NAS aus, Netzlaufwerk noch nicht verbunden, Buchstabe weg), fliegt eine Ausnahme aus starten(), der Aufruf void laufwerke.bereit.then(() => ripVerwaltung.starten(…)) (kern/index.ts:198) verschluckt sie: keine Meldung im Fenster, keine Zeile im Protokoll, der Dialog schließt sich, nichts passiert (Sonde 10: ENOENT … mkdir 'Q:\rippy-nicht-da\roh\…', gemeldet: nichts). Der Kern stirbt dabei nicht (in Electron 44 gemessen: ein utilityProcess überlebt eine unbehandelte Promise-Ablehnung) — er schweigt nur. Erkennen: Nach Titel-Lauf X: … s, N Titel folgt KEINE Zeile Vorgang … beginnt; die Kachel bleibt ohne Balken.

Kandidat 4 — Disc-Typ „unbekannt" → Rippy sichert ein ISO statt zu rippen

Der Typ kommt aus IOCTL_CDROM_DISK_TYPE + Größe (kern/laufwerk/disc.ts:52-59). Antwortet das Laufwerk darauf nicht (bei manchen USB-Brücken ERROR_INVALID_FUNCTION) oder ohne Bits, steht unknown — die Kachel zeigt „unbekannt" und PRESET „ISO-Abbild", der Knopf „Rippen" öffnet trotzdem den Titel-Dialog (LaufwerkKachel.tsx:157-166), und nach der Auswahl legt die Pipeline ein 1:1-Abbild an statt der gewählten Titel (pipeline.ts:236-241). Erkennen: Disc eingelegt in X: unknown, … Bytes, Kachel MEDIUM „unbekannt", Statuszeile „Sichere 1:1-Abbild …".

Kandidat 5 — Erkennung bleibt bei 60 %, die Automatik wartet (kein Fehler, aber „tut nichts")

Alle drei Discs tragen vermutlich englische Labels (THE_PATRIOT, DEJA_VU, TRAINING_DAY). TMDb antwortet auf Deutsch („Der Patriot", „Déjà Vu Wettlauf gegen die Zeit"); der wörtliche Vergleich gleichBedeutend (kern/metadaten/zuordnung.ts:184-195) vergleicht nur den deutschen title, nie original_title, und kennt keine Akzente (Sonde 1: „Déjà Vu" ≠ „Deja Vu", „Der Patriot" ≠ „The Patriot"). Ergebnis: Vorschlag mit 60 % statt 95 % — die Automatik startet nicht (automatik.ts:79-82), im Kasten steht „Automatik wartet: Die Erkennung ist nicht sicher genug". Wer auf Zero-Click wartet, sieht: nichts. Erkennen: Kachel „Vorschlag" (gelb) statt „sehr wahrscheinlich"; die Automatik-Zeile.

Was ich vom anderen PC brauche, um es festzunageln

  1. Die Protokoll-Zeilen des Tages (siehe oben) — am besten die ganze Datei.
  2. Einstellungen → MakeMKV: der Text der Schlüssel-Karte, und MakeMKV-Version.
  3. Ob die drei Discs DVD, Blu-ray oder 4K sind.
  4. Was genau „nicht bearbeiten" war: kein Start, roter Text, ISO, oder ewig „liest die Titel".

2. Fehler — nach Schwere, mit Beleg

Schwere: HOCH = Datenverlust, Ausfall oder stilles Scheitern · MITTEL = falsches Verhalten, das der Nutzer bemerkt · NIEDRIG = Schönheit, Bedienung, Nebensache. Jede Nummer verweist auf Datei:Zeile im Stand 473eea7.

HOCH

F1 · Beta-Key mit @ wird abgeschnitten → MakeMKV unlizenziert kern/werkzeuge/schluessel.ts:19 (KEY_MUSTER), :24-27, :212-219. Beleg: Sonde 9 an der heute geladenen Forum-Seite: Seite 68 Zeichen mit @, Rippy zieht 62. Wirkung: siehe Kandidat 1 — auf jedem PC ohne Hand-Key laufen Blu-ray-Rips nach dem Testzeitraum nicht mehr, und Rippy zeigt dazu GELB „BETA-MODUS — RIPS LAUFEN" (Karten.tsx:409-413, App.tsx:115). Dazu: extractGueltigBis (:32-37) erkennt „end of September 2026" nicht → kein Ablaufdatum im Fenster (gemessen: leer). Fix: Muster auf alles bis Leerzeichen/< (z. B. /T-[^\s<"']{50,}/), Ablehnung ROT mit Klartext „Blu-ray-Rips laufen nicht", und ein Test mit dem echten September-Schlüssel.

F2 · Rip-Start ohne erreichbare Ablage/Arbeitsordner scheitert STILL kern/ablauf/pipeline.ts:258 (mkdirSync ohne try), ebenso :646 (Audio-CD) und :721 (ISO); Aufrufer kern/index.ts:198 und :236. Beleg: Sonde 10 + Electron-Messung (utilityProcess lebt weiter, Fehler unsichtbar). Verstößt gegen R4. Fix: starten() in try/catch, Fehler als rip-status fehler melden UND ins Protokoll; zusätzlich vor dem Start eine Schreibprobe am Roh-Ordner, damit die Kachel sagt „Ablage nicht erreichbar" statt zu schweigen; im Kern ein process.on('unhandledRejection'), das ins Protokoll schreibt.

F3 · Serien: zweite Disc derselben Staffel — Folgen werden nicht benannt, Überschreiben möglich kern/ablage/struktur.ts:224-246: episodenUmbenennen zählt ALLE .mkv im Season-Ordner; liegen dort schon S01E01/S01E02 der ersten Disc, heißt es „Umbenennen übersprungen: 4 Dateien, 2 Zuordnungen" (Sonde 2, real ausgeführt). Der Serien-Merker (5.5.0) und „ab Folge" laufen damit ab Disc 2 ins Leere. Schlimmer: Folgen behalten bis dahin MakeMKVs Namen (ablegen.ts:198-209, dateinamen.ts:121), und title_t00.mkv der zweiten Disc landet im SELBEN Ordner (ablegen.ts:152-156) — HandBrake bzw. renameSync (ablegen.ts:95-104) überschreiben eine gleichnamige Datei der ersten Disc ohne Warnung, wenn deren Umbenennung ausgefallen war (kein TMDb). Der bestehende Test test/ablage.test.ts:106-116 schreibt das Verhalten sogar fest. Fix: nur die NEUEN Dateien dieser Disc umbenennen (Liste übergeben statt Ordner lesen); Zielnamen vor dem Encode auf Kollision prüfen und nie überschreiben.

F4 · Kern-Neustart: das Fenster bleibt taub haupt/kernstart.ts:59-74 startet den Kern bis zu 3× je Minute neu, aber fensterVerbinden läuft nur bei did-finish-load (haupt/index.ts:245-253); das Fenster hält den toten Port (kernverbindung.ts:268-282), anKern schickt ins Leere, und App.tsx:92 zeigt keinen Fehler, weil verbindung.kern noch die alte Bereit-Meldung ist. Wirkung: Laufwerke frieren ein, Knöpfe tun nichts — bis Rippy komplett neu gestartet wird. Das KONZEPT verspricht „Der Kern ist abgestürzt, ich starte ihn neu". Fix: im spawn-Ereignis des neuen Kerns fensterVerbinden erneut aufrufen und eine Zeile im Fenster zeigen.

MITTEL

F5 · Schlüssel-Prüfung urteilt ohne Grundlage schluessel.ts:108-131: info disc:9999 liefert ohne angeschlossenes Laufwerk NUR 5042/5010 (heute gemessen) — keine Lizenzzeile, also ok: true und „angenommen", egal was im Register steht. :179: das Ergebnis von keyAblegen (reg add) wird ignoriert — „hinterlegt" steht auch dann im Protokoll, wenn nichts geschrieben wurde. :194-237: Ablehnung liefert weiterBetrieb: true (gelb) statt rot.

F6 · Jeder Auswurf legt eine weitere Takt-Kette der Disc-Wache an kern/laufwerk/wache.ts:285-303: runde() plant IMMER einen neuen Timer, ohne den laufenden zu löschen; laufwerke.ts:175 ruft runde() nach jedem Auswurf. Beleg: Sonde 3 — drei Ketten, neunmal statt fünfmal gelesen. Wirkung: nach 20 Discs fragt Rippy die Laufwerke alle 150 ms statt alle 3 s (CreateFileW + IOCTL je Runde). Fix: vorhandenen Timer in runde() erst löschen.

F7 · Während der Kompression wird jede Sekunde die ganze Welt neu vermessen Kette: HandBrake-Fortschritt (mit ETA ≈ 1×/s, handbrake.ts:152-158) → warteschlange.ts:141-146vorgaenge.ts:118-124 senden()stand() (:217-260) läuft mit ordnerGroesse rekursiv durch JEDEN Roh-Ordner plus fremdeOrdner, danach speicher.senden() mit zwei statfsSync (speicher.ts:237-247) — alles synchron im Kern; dann geht die volle Vorgangsliste an Haupt und Fenster, das komplett neu zeichnet (kernverbindung.ts:123-125). Auf einer NAS als Arbeitsordner ist das ein Netz-Ordnerlauf pro Sekunde. Fix: Fortschritt als kleine Nachricht getrennt vom Vorgangs-Stand; Roh-Größen nur bei Phasenwechsel oder gedrosselt (z. B. alle 30 s) messen.

F8 · Das Rettungs-Abbild wird gelöscht, wenn der Rip daraus leer ausgeht pipeline.ts:279-300: beenden() entfernt den ganzen Roh-Ordner, wenn keine MKV entstand — inklusive rettung.iso, für das die Disc stundenlang Sektor für Sektor gelesen wurde (halbeDateienEntfernen schont es, beenden nicht). Fix: rettung.iso + Bericht vor dem rmSync verschonen.

F9 · Halbe HandBrake-Ausgabe bleibt nach Abbruch/Fehler liegen handbrake.ts:282-285,300-308, ablegen.ts:279-286: nach kill() oder Fehler wird die angefangene Datei nicht entfernt. Ohne Arbeitsordner liegt sie direkt in Filme\<Titel>\ — Jellyfin zeigt einen kaputten Film. Fix: nach .part/Zwischenname encodieren, erst am Ende umbenennen; bei Abbruch löschen.

F10 · Typ „unbekannt" heißt stumm ISO, obwohl der Nutzer Titel gewählt hat pipeline.ts:236-241 gegen LaufwerkKachel.tsx:157-166/Uebersicht.tsx:114-120 (siehe Kandidat 4). Dazu disc.ts:49: UHD wird allein an ≥ 55 GiB erkannt — eine 4K-Disc mit 48 GB Daten wird „bluray" (Sonde 4) und bekommt das Blu-ray-Preset. Fix: liegt ein Titel-Auftrag vor, immer MakeMKV; UHD-Merkmal am Gerät nachmessen (Regel D) statt Größe.

F11 · Laufwerks-Gesundheit beschuldigt das falsche Gerät kern/laufwerk/ereignisse.ts:41-44: der XPath nimmt Provider cdrom UND disk für ALLE Geräte; :67-76 filtert nicht nach \Device\CdRomN. Eine hustende Festplatte oder ein zweites Laufwerk erzeugt „VERDACHT: DIE HARDWARE" für die Kachel des Blu-ray-Laufwerks. Fix: Gerät des Laufwerksbuchstabens ermitteln und nur dessen Ereignisse zählen.

F12 · Zeiten stehen in UTC, nicht in deiner Uhrzeit bausteine.tsx:35-38 (datumKurz), Karten.tsx:269,276,418,574, VerlaufKarte.tsx:295: ISO-Strings werden abgeschnitten — 21:30 Uhr erscheint als 19:30 (Sonde 5). Fix: lokal formatieren.

F13 · Eigener Werkzeug-Pfad eingetragen → Anzeige bleibt „NICHT GEFUNDEN" kern/index.ts:245-254: nach werkzeug.* wird werkzeuge.senden() nicht angestoßen (auch makemkvAppKey löst keinen Schlüssel-Lauf aus). In der Erst-Einrichtung (ErstEinrichtung.tsx:112-121) bleibt die rote Zeile stehen, obwohl der Pfad stimmt. Fix: nach diesen Schlüsseln messen bzw. prüfen.

F14 · Erkennung kennt weder Originaltitel noch Akzente zuordnung.ts:184-195,302-309, tmdb.ts:24-34 (kein original_title). Siehe Kandidat 5. Fix: original_title/original_name mitvergleichen, Akzente falten (NFD + Kombinationszeichen entfernen).

F15 · Tray „Beenden" tötet einen laufenden Rip ohne Rückfrage haupt/index.ts:278-281,383-387, tray.ts:291-297: app.quit() → Kern kill() → die Leine reißt makemkvcon/HandBrake mit — 40 Minuten Rip weg. Fix: bei aktiven Vorgängen nachfragen.

F16 · MakeMKV-Installer aus dem Internet Archive mit Adminrechten beschaffen.ts:143-155,193-232, haupt/index.ts:206-216: fällt der Hersteller aus, wird eine EXE vom Archiv geladen und per UAC gestartet; geprüft wird nur die Versions-Ressource (fälschbar). Für ein Programm im Bekanntenkreis ein Risiko. Fix: SHA-256 einer bekannten Fassung mitführen oder Archiv-Quelle nur nach Bestätigung.

NIEDRIG

F17 „Roh-Dateien löschen" und „Ordner löschen" ohne Rückfrage — ein Klick, 30 GB weg (Karten.tsx:315-319,351-353; vorgaenge.ts:305-349). F18 Eingabefelder speichern nur beim Verlassen; Enter und Bereichswechsel verlieren Tipparbeit (bausteine.tsx:356-389). F19 Dialoge ohne Escape, Fokus-Fang, role="dialog" (bausteine.tsx:453-473). F20 Toast „Disc erkannt" bis zu dreimal je Disc — Erkennung, Nachprüfung, „Ändern" (haupt/index.ts:126-134). F21 Poster-Fehler wird verschluckt: Rückgabe von posterSpeichern ignoriert (ablegen.ts:385-387, R4). F22 finden() ruft bei fehlendem MakeMKV dreimal reg query … /s synchron (bis 45 s) — bei jedem Aufruf, auch alle 15 s im Update-Lauf (katalog.ts:168-203). F23 NFO ohne <uniqueid type="tmdb"> — Jellyfin muss über Titel/Jahr raten (nfo.ts:187-209). F24 Doppelter Zielordner bekommt den Zusatz „[bluray-2]" (struktur.ts:158-170, vorgangsName.slice(0,8)). F25 ASCII-Umlaute in Knopftexten: „auswaehlen", „Titel ueberspringen", „naechsten" (LaufwerkKachel.tsx:161,413,415). F26 Phase rettet fehlt in der Haupt-Liste aktiver Vorgänge (haupt/index.ts:184) — Update-Sperre und Taskleiste greifen im Rettungs-Abbild nicht. F27 „Neu komprimieren" wird auch für verschobene (unkomprimierte) Vorgänge angeboten (vorgaenge.ts:245) — Klick endet in „Roh-Dateien sind nicht mehr da". F28 Automatik schweigt bei Typ unknown/cd (automatik.ts:77) — kein Grund im Kasten. F29 Ton: --first-audio nimmt je Sprache genau EINE Spur (handbrake.ts:56) — Kommentar- oder Stereo-Spuren derselben Sprache fallen weg. Bewusst? Dann ins Fenster schreiben. F30 Audio-CD: audioSpurLesen blockiert den Kern synchron je Spur (disc.ts:200-220) — Abbrechen wirkt erst zwischen zwei Spuren.


3. Auffälligkeiten (keine Fehler, aber wissenswert)

A1 · Der „Datenbank-Befund vom 01.09." ist gelöst — ein Messartefakt. Das Terminal der Claude-Desktop-App läuft in einem MSIX-Paket; alles, was daraus startet, sieht %APPDATA%, %LOCALAPPDATA% und HKCU virtualisiert (Schattenkopie unter %LOCALAPPDATA%\Packages\Claude_pzs8sxrjxfjjc\LocalCache\…). Deshalb zeigte %APPDATA%\Rippy\rippy.db hier Schema 3 vom 01.09. — die ECHTE Datei (über \\localhost\C$\… gelesen) ist Schema 4, 36 864 Bytes, Stand 04.09. 22:02, mit allen Einstellungen. Rippy ist unschuldig. Folge: die Lizenzzeilen 5054/5051 in beweise/messungen/2026-09-03-makemkvcon-info-kizuna.txt kamen aus dem Paket-Register ohne Schlüssel — kein Beleg für deinen echten Zustand. (Als Gedächtnis-Notiz für künftige Sitzungen hinterlegt.)

A2 · Rippy schreibt in MakeMKVs eigene Einstellungen (HKCU\Software\MakeMKV: app_Key, app_DefaultSelectionString, app_UpdateEnable). Damit nimmt auch das MakeMKV-GUI seitdem ALLE Spuren mit (größere Dateien beim Handbetrieb) — beabsichtigt, aber nirgends im Fenster gesagt.

A3 · Das Rettungs-Abbild ist bei AACS-Discs (Blu-ray/4K) ungeprüft. Ein Sektor-Abbild bleibt verschlüsselt; ob makemkvcon es als iso: ohne Laufwerk öffnet, hängt an MakeMKVs Schlüsseldaten. Bei DVDs (CSS) sollte es gehen. Am Gerät messen, bevor es jemand im Ernstfall braucht.

A4 · 4K wird standardmäßig komprimiert — mit dem 8-Bit-Preset „H.265 … 2160p 4K" bzw. auf CPU mit „H.265 MKV 1080p30" (presets.ts:23-49, preset-empfehlung.ts:321-335). HDR-Metadaten und 10 Bit gehen dabei verloren, der Encode dauert Stunden. Das Docker-Rippy hatte „4K verlustfrei" als Regel. Entscheid nötig: Standard „keine" für UHD oder ein 10-Bit-Preset.

A5 · Toter Schlüssel transcodePreset in presets.ts:47-48 — seit 5.5.0 nicht mehr in PIPELINE_EINSTELLUNGEN, kann nie greifen.

A6 · Titel-Lesen: 300 s fest verdrahtet, kein Regler, Meldung nennt die Disc „beschädigt" (erkennung.ts:354-356) — siehe Kandidat 2.

A7 · Der Klick-Beweis und die 450 Tests sind gut, aber blind für genau die Funde oben: kein Test mit Bestandsdateien im Season-Ordner, keiner für mehrfaches runde(), keiner mit einem Key mit @, keiner für den Rip-Start ohne Ablage, keiner für den Kern-Neustart.

A8 · Sicherheit/Härtung ist sonst gut: contextIsolation + sandbox im Fenster, CSP im Bau, keine Shell-Aufrufe mit Nutzerdaten, PowerShell- Pfad wird korrekt gequotet, Update nur über HTTPS.


4. Vorschläge zur Verbesserung — in dieser Reihenfolge

  1. F1 sofort (eine Zeile plus Test, plus rote Ampel) — vor dem 30.09. ist das der einzige Fund, der beide PCs betrifft.
  2. F2 + F4 + F6 — die drei „stillen" Fehler; jeder ist klein, alle drei kosten Vertrauen („tut nichts, sagt nichts").
  3. F3 — Serien mit mehr als einer Disc gehen sonst kaputt; Test mit vorhandenen Dateien im Ordner dazu.
  4. F8 + F9 — Aufräumen, das nicht zu viel und nicht zu wenig löscht.
  5. Kandidat 2 — Titel-Lesen-Grenze auf 1015 min, Meldung ehrlich („die Disc braucht länger — läuft weiter / abbrechen"), Grenze in den Einstellungen.
  6. F7 — Fortschritt von Vorgangs-Stand trennen; spürbar auf NAS.
  7. F14 — Originaltitel + Akzente: schlägt sich direkt in der Trefferquote der Automatik nieder.
  8. F10/F11/F12/F13 — sichtbare Kleinigkeiten, je ein halber Nachmittag.
  9. F15/F17 — zwei Rückfragen, die Daten retten.
  10. A4 — dein Entscheid zu 4K.

5. Was gemessen wurde (nachvollziehbar)

  • Typprüfung und Tests: npm run typecheck, npx vitest run — grün (450 bestanden, 12 übersprungen).
  • Sonden gegen den echten Code (Vitest, außerhalb des Repos): S1 Akzente/Originaltitel · S2 Episoden-Umbenennung mit Bestand · S3 Wache-Takt-Ketten (9 statt ~5 Runden) · S4 Typ-Zuordnung · S5 UTC-Anzeige · S6 Labels der drei Filme · S7 99-Titel-Muster · S8 halbeDateienEntfernen · S9 Beta-Key von der echten Forum-Seite · S10 Rip-Start mit unerreichbarer Ablage.
  • Electron 44: utilityProcess überlebt unbehandelte Promise-Ablehnung (zwei Läufe, mit und ohne Horcher).
  • Forum-Seite t=1053 heute geladen: Key mit @, „valid until end of September 2026".
  • Echte rippy.db dieses PCs über \\localhost\C$: Schema 4, makemkvAppKey 68 Zeichen mit @, ablage E:\Rippy, automatik aus, Jellyfin, TMDb- und OMDb-Schlüssel gesetzt, keine Vorgänge (Verlauf leer), Bibliothek leer.
  • Protokolle dieses PCs (02.05.09.): Rippy 5.5.0 → 5.6.0 → 5.6.1, Kizuna erkannt (95 %), Titel-Lauf 2292 s, Laufwerk G am 02.09. mit „2 Controllerfehler, 112 fehlerhafte Blöcke" (siehe F11 — ob das dein BU40N war oder eine Platte, weiß der Bericht nicht).
  • makemkvcon64 -r --noscan info disc:9999 heute: nur 5042/5010 — ohne Laufwerk keine Lizenzauskunft (F5).

Nichts davon hat etwas am Repo, an deinen Einstellungen oder am Register verändert; die Sonden liegen im Sitzungs-Scratchpad.