fix: herstel AVI-navigatie en behoud de afspeelopdracht #88

Merged
janpeter merged 3 commits from codex/avi-bronwissel into main 2026-09-22 01:24:13 +02:00
Owner

Wanneer een volgende AVI al faalt voordat zijn MP4-afspeelversie beschikbaar is, blijft de viewer op de kapotte bron staan of verliest hij de opdracht om door te spelen. Deze reparatie schakelt een ongebruikt origineel na een decode-/unsupported-fout over naar de gereedstaande MP4, zowel via Volgende als na het einde van de vorige video.

Een bewuste pauze blijft gelden. Gebruikte/gezochte/expliciet gekozen originelen blijven handmatig wisselen; terminale voorbereiding en een falende MP4 starten geen herhaallus. Eén plaats start playback, oude events en promises worden geweerd en de bestaande 120-secondenlimiet omvat nu de eerste GET/POST en verborgen tabs. Ook de gereproduceerde native play/pause-lus is verholpen.

Sprint S-2026-09-21-3, PBI-24, ST-051, T-193/T-194. Goedgekeurd plan, ProductDoc-revisie cmubs38kl003hfs178t4eiw0g. Verificatie en bewijsgrenzen.

Verificatie op deze wijziging:

  • 96 gerichte regressietests; volledige macOS-suite: 915 geslaagd, 7 Linux-only overgeslagen, geen fouten.
  • Typecheck, lint en productiebuild geslaagd; lint heeft alleen drie bestaande waarschuwingen in ongewijzigd media-sort.ts.
  • Echte Chrome 153: handmatige/automatische overgang, vertraagd manifest, pauze tijdens wachten, native bediening, bronrestore en kapotte MP4; 73 seconden verborgen zonder polls. Echte lokale app met eigen testaccount/DB en synthetische media: ready A→B plus sluiten/heropenen.
  • Onafhankelijke GPT-6 Astra-eindcontrole en hercontrole: GO, 0 resterende bevindingen. De native-pauze-race uit de eerste review is met een blijvende regressietest hersteld.
  • Bestaande Linux-CI: run 184, gebonden aan 116305fa2b5985f46b90510c92ac3dfae134401a; suite, historische bootstrap, videomigratie en Dockerbuild alle vier geslaagd.

Geen wijzigingen aan codecs, worker, API, schema, scanner of deployment. De browserproeven gebruiken synthetische media; JP's gemelde AVI blijft de nacontrole na afzonderlijk opgedragen uitrol. Merge en deployment vallen buiten deze oplevering.

De automatische planvergelijker mist bij deze interactieve uitvoering een job-/claimbaseline en meldt daardoor heuristisch divergent. De taakplannen zijn opgeslagen; de onafhankelijke review heeft de daadwerkelijke diff tegen de gepinde planrevisie beoordeeld.

Wanneer een volgende AVI al faalt voordat zijn MP4-afspeelversie beschikbaar is, blijft de viewer op de kapotte bron staan of verliest hij de opdracht om door te spelen. Deze reparatie schakelt een ongebruikt origineel na een decode-/unsupported-fout over naar de gereedstaande MP4, zowel via Volgende als na het einde van de vorige video. Een bewuste pauze blijft gelden. Gebruikte/gezochte/expliciet gekozen originelen blijven handmatig wisselen; terminale voorbereiding en een falende MP4 starten geen herhaallus. Eén plaats start playback, oude events en promises worden geweerd en de bestaande 120-secondenlimiet omvat nu de eerste GET/POST en verborgen tabs. Ook de gereproduceerde native play/pause-lus is verholpen. Sprint **S-2026-09-21-3**, PBI-24, ST-051, T-193/T-194. [Goedgekeurd plan](https://git.jp-visser.nl/janpeter/Media-Organizer/src/commit/116305fa2b5985f46b90510c92ac3dfae134401a/docs/superpowers/plans/2026-09-21-avi-bronwissel-herstelplan.md), ProductDoc-revisie `cmubs38kl003hfs178t4eiw0g`. [Verificatie en bewijsgrenzen](https://git.jp-visser.nl/janpeter/Media-Organizer/src/commit/116305fa2b5985f46b90510c92ac3dfae134401a/docs/research/2026-09-21-avi-bronwissel-verificatie.md). Verificatie op deze wijziging: - 96 gerichte regressietests; volledige macOS-suite: 915 geslaagd, 7 Linux-only overgeslagen, geen fouten. - Typecheck, lint en productiebuild geslaagd; lint heeft alleen drie bestaande waarschuwingen in ongewijzigd `media-sort.ts`. - Echte Chrome 153: handmatige/automatische overgang, vertraagd manifest, pauze tijdens wachten, native bediening, bronrestore en kapotte MP4; 73 seconden verborgen zonder polls. Echte lokale app met eigen testaccount/DB en synthetische media: ready A→B plus sluiten/heropenen. - Onafhankelijke GPT-6 Astra-eindcontrole en hercontrole: GO, 0 resterende bevindingen. De native-pauze-race uit de eerste review is met een blijvende regressietest hersteld. - Bestaande Linux-CI: [run 184](https://git.jp-visser.nl/janpeter/Media-Organizer/actions/runs/184), gebonden aan `116305fa2b5985f46b90510c92ac3dfae134401a`; suite, historische bootstrap, videomigratie en Dockerbuild alle vier geslaagd. Geen wijzigingen aan codecs, worker, API, schema, scanner of deployment. De browserproeven gebruiken synthetische media; JP's gemelde AVI blijft de nacontrole na afzonderlijk opgedragen uitrol. Merge en deployment vallen buiten deze oplevering. De automatische planvergelijker mist bij deze interactieve uitvoering een job-/claimbaseline en meldt daardoor heuristisch `divergent`. De taakplannen zijn opgeslagen; de onafhankelijke review heeft de daadwerkelijke diff tegen de gepinde planrevisie beoordeeld.
test: verify AVI navigation recovery and lifecycle boundaries
All checks were successful
CI / test (historical-bootstrap) (pull_request) Successful in 1m8s
CI / test (video-migration) (pull_request) Successful in 1m3s
CI / test (suite) (pull_request) Successful in 3m9s
CI / docker-build (pull_request) Successful in 2m46s
cfa216ca48
s4m-codex-reviewer left a comment

Verdict: APPROVED

Findings

  • Geen blokkerende findings gevonden.

De diff is beoordeeld op codekwaliteit, architectuur-/patroon-conformiteit tegen de relevante productdocs, tests, docs en plan-conformiteit. De wijziging blijft binnen de bestaande viewer/hook/reducer-architectuur voor playbackmanifesten, behoudt het read-only/transcoding-contract, en levert regressietests plus vastgelegd Chrome-/app-bewijs voor de A1-A13 acceptatiematrix.

# Verdict: APPROVED ## Findings - Geen blokkerende findings gevonden. De diff is beoordeeld op codekwaliteit, architectuur-/patroon-conformiteit tegen de relevante productdocs, tests, docs en plan-conformiteit. De wijziging blijft binnen de bestaande viewer/hook/reducer-architectuur voor playbackmanifesten, behoudt het read-only/transcoding-contract, en levert regressietests plus vastgelegd Chrome-/app-bewijs voor de A1-A13 acceptatiematrix.
fix: honor native pause while restoring source metadata
All checks were successful
CI / test (historical-bootstrap) (pull_request) Successful in 1m19s
CI / test (video-migration) (pull_request) Successful in 1m5s
CI / test (suite) (pull_request) Successful in 3m25s
CI / docker-build (pull_request) Successful in 2m52s
116305fa2b
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
janpeter/Media-Organizer!88
No description provided.