Skip to content

Change store that owns game - #735

Merged
maxjivi05 merged 10 commits into
WinNative-Emu:mainfrom
maxjivi05:fix/games-ownes-store
Sep 12, 2026
Merged

Change store that owns game#735
maxjivi05 merged 10 commits into
WinNative-Emu:mainfrom
maxjivi05:fix/games-ownes-store

Conversation

@maxjivi05

Copy link
Copy Markdown
Contributor

No description provided.

A game owned on two stores showed up twice once the stores shared one
download folder. Every store writes the same .download_complete marker
into the install directory and resolves that directory from the game's
name, so after installing from one store the others found a completed
install of their own and claimed it — Steam's startup metadata repair
made this reappear on every launch.

Installs now record which store owns them. Each store's disk detection
skips directories owned by another store, install-directory deletes
refuse to touch a foreign install, and the library collapses rows that
resolve to the same directory, preferring the recorded owner, then a
launcher shortcut's source, then a fixed order.

The source tag at the top right of a game lists every store the game is
owned on when there is more than one, tagged with the current store.
Choosing another store moves the install record over to it, so the tag
label, check for update, verify, workshop and the branch list all follow
the new store. Stores that already have their own separate install of
the game are not offered, since they have their own library row.
The stores sat inline at the top of the source tag menu, which pushed
Verify Files and Check for Update down and mixed a choice in with the
actions. The menu now offers a single Change Store entry, and picking it
opens the list of stores the game is owned on with the current one
ticked.
@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 changed the title Fix/games ownes store Change store that owns game Sep 11, 2026
The SessionKeepAliveService/NotificationHelper/LogManager refactor (WinNative-Emu#609)
dropped `import com.winlator.cmod.app.service.NetworkMonitor` from
SteamService.kt while the `NetworkMonitor.isOffline(this)` guard that WinNative-Emu#738
added to getEncryptedAppTicket stayed. Kotlin compilation of every flavor
fails with "Unresolved reference 'NetworkMonitor'", so main and every open
PR built against it are red.
The switcher only appeared when a game resolved to two or more stores, so
a game you own on one store had no entry at all and a manually added custom
game could never be adopted by the store that actually owns it.

- computeLibraryStoreLinks returns the store options it resolved instead of
  discarding lists of one, and seeds an installed row with its own store so
  the current store is always listed even when the store library has no
  matching entry.
- Custom rows already match owned titles, so a custom game now offers every
  store whose library carries that title; picking one runs the existing
  transfer, which claims the folder, writes the download-complete marker and
  marks the game installed at that path for the target store.
- A custom row whose folder is stamped for a store that also has an install
  there is hidden, so adopting a custom game replaces its row instead of
  leaving a duplicate beside the store row.
- The source tag is always tappable and always carries Change Store; with no
  matching library the picker says so rather than opening empty.
@maxjivi05
maxjivi05 merged commit 7e89037 into WinNative-Emu:main Sep 12, 2026
5 checks passed
@maxjivi05
maxjivi05 deleted the fix/games-ownes-store branch September 12, 2026 12:48
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