Skip to content

Fix/components proton - #696

Merged
maxjivi05 merged 2 commits into
WinNative-Emu:mainfrom
maxjivi05:fix/components-proton
Aug 21, 2026
Merged

Fix/components proton#696
maxjivi05 merged 2 commits into
WinNative-Emu:mainfrom
maxjivi05:fix/components-proton

Conversation

@maxjivi05

Copy link
Copy Markdown
Contributor

No description provided.

Two contents.json entries share the key type|verName|verCode for
Proton-11.0-1-arm64ec-steam-unix. The second one collided with the first
in syncContents() and fell into mergeRemoteMetadata(), which forced
isInstalled = true. That flag was only ever correct when the existing
entry came from the on-disk scan, so a collision between two remote
entries invented a component that was never installed.

The phantom listed under Installed with a delete button, but its install
directory had never existed, so removal was a no-op and the next sync
recreated it. Nothing the user could do would clear the card.

Removal also left remote_profile_alias_* preferences behind, so the
alias branch stopped matching after an uninstall and execution fell
through to the colliding key. isRemoteUrlInstalled() trusted those stale
preferences outright, which made the setup wizard skip components that
had already been removed.

Propagate installed state only when it is true on disk, drop alias
preferences when their content is removed, and verify an alias against
its install directory before trusting it, pruning it when stale.
@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.

@maxjivi05
maxjivi05 merged commit acc130e into WinNative-Emu:main Aug 21, 2026
0 of 4 checks passed
@maxjivi05
maxjivi05 deleted the fix/components-proton branch August 21, 2026 22:55
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.

1 participant