Repository navigation
fix: classify pack_app disk-space error and prevent false keys fallback on keyless sources - #13
eduardomozart wants to merge 1 commit into
Conversation
…ck on keyless sources
|
I verified the The classifier recognizes the app-packing disk-space check, includes its 1 GiB reserve when reporting required free space, and offers Open Storage. NUP/extracted sources pass no keys path to the fallback, so an unrelated failure is not presented as missing keys. The engine-message contract test also searches The full local suite passes 1,166 tests. This is still unreleased local work; I am keeping the PR open until the hotfix integration is available. The original contribution should retain author credit, and the final integration commit will be linked here before this is considered resolved. |
Release NX Library 0.1.4.2 with the reviewed upstream 79741184 pin. Includes session recap and Xcode requirements fixes, disk/keyless error classification, live elapsed/hour/percentage build feedback, confirmed pipeline log progress, independent icon source/location, original icon restoration and missing-art reporting, cancellable Play while signing, Title DB caching and 120 FPS persistence coverage. Update documentation, version and release notes; preserve the documented manual-check limits. PR #13 is retained and PR #11 adapted with co-author attribution to Eduardo Mozart de Oliveira; their original branches are reconciled after release rather than reported as merged unchanged. Co-Authored-By: Eduardo Mozart de Oliveira <2974895+eduardomozart@users.noreply.github.com> Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Included in NX Library 0.1.4.2 through the release integration PR #14. The disk-space classification, 1 GiB reserve, keyless-source fallback correction and regression tests are retained. @eduardomozart is credited in the release notes/changelog and as a co-author of the integration commit. Closing this contribution PR as incorporated through that integration; the original branch was not merged separately. The full release checks and updater-archive validation passed. |
Summary
pack_app.pydisk-space failure: Adds a"disk.app"row toPortingFailureClassifier.tablematchingthe app needs [0-9.]+ GB on the volume ofand extracts the rounded-up required space (includingpack_app.py'sneed + 1 GiBthreshold check, e.g.12.4 GB→14 GB). The UI now correctly presents "Not enough disk space" with the Open Storage action.keysfallback for keyless sources: InAppViewModel.finishBuild, passeskeysPathonly whenSourceSelection.requiresKeys(game.sources)is true. Unrecognized failures on Switch 2.nupcontainers or extracted dumps no longer fall back to blaming unimportedprod.keys."dm/mac"toPortingFailureEngineTests.gitGrepso pinned-engine message fragment verification coversdm/mac/pack_app.py.Problem & Background
During a porting of The Legend of Zelda: Ocarina of Time (
0400486024DEC000) from a Switch 2.nupcontainer (-p v131072), the build completed shader compilation (42,848 shaders), host compilation, and the 4.2 GB pipeline archive, but stopped at Stage 8 (Mac app):Because
PortingFailureClassifieronly matchedbuild_ipa_from_nsp.py's upfront check (less than [0-9]+ GB free on the volume of) and POSIXNo space left on device,pack_app.py's message was not recognized intable. BecauseAppViewModel.finishBuildunconditionally passedkeysPath: keyStore.keyURL.path,!isReadable(keysPath)triggered and misclassified the stop asfailed (keys)("Your keys could not be read").Verification
DEVELOPER_DIR=/Applications/Xcode.app/Contents/Developer swift test --filter PortingFailureReasonTestspassed (24/24 tests).DEVELOPER_DIR=/Applications/Xcode.app/Contents/Developer swift test --filter PortingFailureEngineTestspassed (1/1 test).DEVELOPER_DIR=/Applications/Xcode.app/Contents/Developer swift testpassed (1,129/1,129 tests).bash scripts/build_app.shbuilt~/Applications/NXLibrary Dev.app.codesign --verify --deep --strict "$HOME/Applications/NXLibrary Dev.app"passed.python3 scripts/check_publication.pypassed.