A failed inspect or conversion hid the progress panel that held the
conversion log, cleared the selected archives and showed a single line,
so the only evidence of the failure was gone and a multi-GB input had to
be picked again. Compose the message with the phase, the current input,
the target, the libraries tag and the last 150 log lines, and show it in
the error box under "Failure details" so it can be copied into a report.
The report is a pure function in failure-report.mjs and is covered by
node tests.
Backslash names and MS-DOS attributes from an MS-DOS host, a .. escape written with backslashes, and a Unix-host name with a backslash.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Before: a dump taken straight from a package holds SELF containers, so the app
root has no ELF, and converting it answered "Expected exactly one executable ELF
in the app root; found 0" while the Convert button stayed disabled, with nothing
pointing at what was wrong. A sce_module entry that is a SELF was dropped as well
without a word, although docs/user/USAGE.md documents the relinker skipping
SELF/fSELF containers with a warning.
Now the first bytes of each root file are matched against SELF_MAGIC_PS4 and
SELF_MAGIC_PS5 (the two containers pkg-to-anyps5 unwraps), so an executable case
names the file and asks for the app to be unwrapped first, and a skipped module
joins the same warnings list the conversion gate already reads, which makes the
acknowledge box appear for it too.
Use the published, checksum-verified library archive when GitHub's public rate limit prevents the latest-release check. Keep rejecting other request failures and version mismatches, and cover both paths in the worker test.\n\nCo-authored-by: Copilot <[email protected]>