Skip to content

fix: 11 small app UX and data-safety bugs - #248

Closed
kevicebryan wants to merge 11 commits into
NotProtonNot:mainfrom
kevicebryan:fix/app-ux-and-data-safety
Closed

kevicebryan wants to merge 11 commits into
NotProtonNot:mainfrom
kevicebryan:fix/app-ux-and-data-safety

Conversation

@kevicebryan

@kevicebryan kevicebryan commented Oct 23, 2026 •

Copy link
Copy Markdown
Contributor

11 small fixes, one commit each so it's easy to drop any you don't want.

Stuff a player runs into

  • Winetricks remembers the last game's packages. Open it for game B and game A's verbs are still typed in. One Enter installs them into the wrong game. Now the field starts empty.
  • Prefixes tab is slow to open. It spun on "Looking for prefixes" until every game's size was measured. Now the list shows right away and sizes fill in after.
  • Result message disappears. Start a rebuild or Winetricks, peek at Status, come back, and the error or "check your saves" note was gone. Now it stays.
  • Menu bar actions from the wrong tab. Prefix > Delete from Status (or Setup > Repair Steam from Prefixes) did nothing, then the dialog popped up later by surprise. Now it switches to the right tab and asks there.
  • Repair button does nothing. It looked clickable when setup couldn't run. Now it's greyed out, same as Setup > Install.
  • Runner size is stale after a repair until you restart. Now it's measured again.

Rarer, but bad when it happens

  • Moved Steam.app. NotProton saw its own old install as someone else's and refused to install again. Now it shows as not installed so Install fixes it.
  • Deleting a backup mid-rebuild. You could delete the backup that was still being written, which failed the rebuild. Delete is off while that runs.
  • Wine tools during a rebuild started from Steam. Winecfg or Run Program could write into a prefix that was about to be replaced. Now they refuse with the existing "rebuilding the prefix" message.

Hardening

  • Updating CrossOver moves the old copy aside before deleting it, so a failed delete can't leave a half-deleted runner.
  • Library paths with " or \ in libraryfolders.vdf are read properly. It reuses the parser the manifests already use.

Checks

  • swift test: 552 tests, 5 new, and each new one fails without its fix.
  • The same 38 tests fail on main locally too. They need the built payload and appinfo.
  • No new strings.
  • Not tried in the full app with Steam yet.

Tested on macOS 26.5.1 with Xcode 26.1.1. I hid .visibilityPriority locally to build on the 26.1 SDK. That change isn't in this PR.

@kevicebryan kevicebryan changed the title Fix eleven small app UX and data-safety bugs fix: 11 small app UX and data-safety bugs Oct 23, 2026
@kevicebryan
kevicebryan marked this pull request as ready for review October 23, 2026 22:02
@NotProtonNot

NotProtonNot commented Oct 23, 2026 •

Copy link
Copy Markdown
Owner

Can you help me understand where these issues occur, from the perspective of an end user who is using the tool? Many of these changes are good hardening changes to address theoretical scenarios, for sure. I'll look at the PR and get the changes in. Is there anything urgent, anything that is breaking for a semi-common scenario? I ask so that I can get out a hot fix quickly, if so.

@kevicebryan

kevicebryan commented Oct 24, 2026 •

Copy link
Copy Markdown
Contributor Author

Can you help me understand where these issues occur, from the perspective of an end user who is using the tool? Many of these changes are good hardening changes to address theoretical scenarios, for sure. I'll look at the PR and get the changes in. Is there anything urgent, anything that is breaking for a semi-common scenario? I ask so that I can get out a hot fix quickly, if so.

Mostly in the Prefixes tab. When I open Winetricks for a second game, the last game's packages are still filled in.

  • The tab also hangs while it measures sizes.
  • And if you switch to Status mid-rebuild, the result message disappears.

Last two fixes are just hardening, I reckon can drop them.

Nothing urgent tbh, no hotfix needed. Worst case is the Winetricks one installing into the wrong game, and a prefix rebuild fixes that. Rest can go out in a normal release.

@NotProtonNot

Copy link
Copy Markdown
Owner

Can you help me understand where these issues occur, from the perspective of an end user who is using the tool? Many of these changes are good hardening changes to address theoretical scenarios, for sure. I'll look at the PR and get the changes in. Is there anything urgent, anything that is breaking for a semi-common scenario? I ask so that I can get out a hot fix quickly, if so.

Mostly in the Prefixes tab. When I open Winetricks for a second game, the last game's packages are still filled in.

  • The tab also hangs while it measures sizes.
  • And if you switch to Status mid-rebuild, the result message disappears.

Last two fixes are just hardening, I reckon can drop them.

Nothing urgent tbh, no hotfix needed. Worst case is the Winetricks one installing into the wrong game, and a prefix rebuild fixes that. Rest can go out in a normal release.

Excellent, all of this will go in the next release. Thank you! 😄

@NotProtonNot

Copy link
Copy Markdown
Owner

Merged, thank you!

@kevicebryan

Copy link
Copy Markdown
Contributor Author

Merged, thank you!

no worries 🙌

@kevicebryan
kevicebryan deleted the fix/app-ux-and-data-safety branch October 24, 2026 02:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants