fix: the remaining findings from the release smoke run - #247
Merged
Conversation
All pre-existing: - Applying a game configuration never set its graphics backend. The entry's legacy `dxvk` flag is written after the backend, and the setter maps `false` to Recommended, so every apply ended on Recommended while the toast said it had applied. An explicit backend wins now; the flag only speaks when there is none. The preview also drops Sequoia Compatibility Mode, a setting #216 removed. - Export as Archive tarred the bottle by its absolute path, so the archive carried the user's home directory name and extracted into that full tree. Entries are `<folder>/...` now, and COPYFILE_DISABLE keeps bsdtar from adding AppleDouble files. The diagnostics ZIP uses ditto's --norsrc for the same reason. - Cancelling a dependency install only closed the sheet; winetricks and the redist installer it spawned kept running in the bottle. The install runs as a task the sheet can cancel, the stream's termination cancels the winetricks task, cancellation terminates the process, and the bottle's wine processes are killed. - The Duplicate Bottle sheet reused the rename sheet wholesale, so its confirm button said Rename. - The wizard's install step offered to install "unknown" after a resumed session: the verb came from lastCheckResult, which is not persisted. It falls back to the session's check results now. Its game-database check got no program name when the wizard was opened from a program page; the executable filename is used when the snapshot carries none. - Removed a diff3 marker line that #243 left in CHANGELOG.md.
The sidebar context menu presents its own copy of the sheet; it reused the rename sheet the same way the bottle page did.
Codecov Report❌ Patch coverage is 📢 Thoughts on this report? Let us know! |
Owner
Author
|
Each item reproduced on a Release build before the change and re-checked after a rebuild on a throwaway bottle.
Full kit suite green (1306 XCTest, 267 Swift Testing) with the two new tests; SwiftFormat 0.58.7 and SwiftLint strict clean; en-GB check passes. Merging. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fourth and last round from the local release smoke run, covering the findings left open after #245 and #246. All pre-existing.
What was broken
applyVariantSettingswritesgraphicsBackend, thendxvk.BottleSettings.dxvkis a legacy accessor whose setter mapsfalseto.recommended, and real entries pair an explicit backend withdxvk: false(Celeste:d3dMetal+dxvk: false), so the backend was undone one line later while the toast said "Applied Celeste configuration". An explicit backend now wins and the flag is consulted only when there is none; the preview drops the DXVK row in that case and no longer lists Sequoia Compatibility Mode (wire the placebo knobs to something real, or cut them #216 removed the setting). Test added.tar -zcf dest /abs/pathproducedUsers/<name>/Library/Containers/.../Bottles/<UUID>/...entries: the export carried the username and extracted into that whole tree. It archives-C parent <folder>now, withCOPYFILE_DISABLE=1so no._entries; the diagnostics ZIP passes--norsrcto ditto for the same reason. Test added; the untar path is unchanged (it only ever consumed the Libraries tarball, whose entries were already relative).dismiss(); the winetricks wrapper andvc_redist.x86.exekept running in the bottle. The install is held as a task the sheet cancels,installVerb/installVerbscancel their inner task on stream termination,executeVerbInstallterminates the process underwithTaskCancellationHandler, and the sheet kills the bottle's wine processes so the redist child does not survive.RenameViewtakes a confirm title; the duplicate sheet passes "Duplicate" (new keyduplicate.bottle.confirm).lastCheckResult, which is not persisted, so a resumed session offered "unknown"; it reads the session's check results now. The game-database check neededprogramName, which a wizard opened from a program page did not always carry; the executable filename is used when the snapshot has none.CHANGELOG.mdcarried a||||||| parent of a96a2bb8 ...diff3 marker from fix(diagnostics): scrub credential shapes from exported arguments and logs #243; removed.Verification
dxvk: false; tar entries are<folder>/...with no._files).