WIP: fix(builder): show progress while checking unpacked game files #1738

Closed
monsterlag wants to merge 1 commit from fix/builder-post-extraction-progress into main
monsterlag commented 2026-11-10 15:05:57 +00:00 (Migrated from github.com)

Superseded by the independently merged #1764, which implements post-extraction scan progress, and #1780, which updates its stand-in test. Retiring this alternative to avoid duplicate production changes. The original branch, local tests and verification records are retained; this PR was not merged.

After NUP extraction, Builder silently checks the unpacked .zs headers. The last visible ZBIC message reports a completed conversion, so the later scan can look like that conversion is still running.

Report the scan's start, checked-header counts and completion. Counts come from the existing walk, batched every 256 checks and throttled to once every two seconds. Validation, stand-ins, cache checks and file reads stay the same.

Refs #1674. The cause of that report's half-hour delay remains unconfirmed.

An authored 257-header fixture with a controlled clock previously emitted no scan output. It now emits:

Checking unpacked game files...
  256 .zs headers checked
Checked 257 unpacked .zs headers.

Validation:

  • Original code: three expected missing-progress failures; seven semantic/error controls and the existing stand-in test pass.
  • Updated code: all ten new cases and the stand-in check pass on Windows and Linux. Coverage includes flushed output before completion, batching/throttling, one walk and four-byte reads, cache skips, unchanged replacements, and errors without false completion.
  • Seven additional adjacent Windows checks pass without skips; ten adjacent cache cases pass on Linux. A fresh-process 17-header caller check also passes.
  • The hosted source checks failed on both Ubuntu and Windows. Both OS source checks also fail on base 8bac8aa; a shared cause is not established. Keeping this PR in draft.

The progress change was tested with authored files, without a real package, native decoder or Builder GUI run.

Superseded by the independently merged #1764, which implements post-extraction scan progress, and #1780, which updates its stand-in test. Retiring this alternative to avoid duplicate production changes. The original branch, local tests and verification records are retained; this PR was not merged. After NUP extraction, Builder silently checks the unpacked `.zs` headers. The last visible ZBIC message reports a completed conversion, so the later scan can look like that conversion is still running. Report the scan's start, checked-header counts and completion. Counts come from the existing walk, batched every 256 checks and throttled to once every two seconds. Validation, stand-ins, cache checks and file reads stay the same. Refs #1674. The cause of that report's half-hour delay remains unconfirmed. An authored 257-header fixture with a controlled clock previously emitted no scan output. It now emits: ```text Checking unpacked game files... 256 .zs headers checked Checked 257 unpacked .zs headers. ``` Validation: - Original code: three expected missing-progress failures; seven semantic/error controls and the existing stand-in test pass. - Updated code: all ten new cases and the stand-in check pass on Windows and Linux. Coverage includes flushed output before completion, batching/throttling, one walk and four-byte reads, cache skips, unchanged replacements, and errors without false completion. - Seven additional adjacent Windows checks pass without skips; ten adjacent cache cases pass on Linux. A fresh-process 17-header caller check also passes. - The hosted source checks failed on both Ubuntu and Windows. Both OS source checks also fail on base `8bac8aa`; a shared cause is not established. Keeping this PR in draft. The progress change was tested with authored files, without a real package, native decoder or Builder GUI run.
Commenting is not possible because the repository is archived.
No description provided.