Repository navigation
Find a save folder on another drive letter; a drive this PC lacks is no warning - #24
ChakraFusion wants to merge 2 commits into
Conversation
|
@ChakraFusion is attempting to deploy a commit to the sivadaboi's projects Team on Vercel. A member of the Team first needs to authorize it. |
|
Thanks, the drive-letter case is real. One request before merging: rather than switching the save path automatically, could it ask the user first (the same "found it at E:\…, use this?" through the app, CLI and log)? An identical path on another drive can be an old backup copy, and silently syncing from it is the risk we'd like to avoid. The "not on this device" part is fine as it is. |
…no warning - A missing save folder is looked for at the identical path on every other drive letter (a Steam library on D: on one PC and E: on another). Exactly one match is adopted for this device and logged; none or several are logged once. Searched at most once an hour. - A save folder on a drive this device does not have is shown as "Not on this device" (muted) instead of a warning, kept out of the warning headline and the notification bell. A folder gone from a drive that exists is still a warning. Co-Authored-By: Claude Opus 5.5 <[email protected]>
As asked in review (Liquid-co#24): the same path on another drive can be an old backup copy, and switching to it silently would sync stale saves to every device. The folder found is offered, not adopted: - daemon: exactly one match is remembered as a suggestion and said once in the log, with the command that answers it. The game stays missing - not watched, not synced - until someone accepts. AcceptRelocation switches only to the folder offered; DismissRelocation answers "not this one", which is then not offered again while OpenSave runs. The folder coming back where it was clears the offer. - API: relocateSuggestion in each game; POST /api/games/{id}/relocate {path} and /relocate/dismiss. - app: the game's header asks "The same folder is at E:\... - use it?" with Use this folder / Not this one, and the notification bell lists it as waiting for an answer. - CLI: `opensave relocate <gameId> use|dismiss`, and `opensave status` shows the offer. The "not on this device" part is unchanged. Co-Authored-By: Claude Opus 5.5 <[email protected]>
|
Done. The folder found on another drive is now offered, not used:
Until someone accepts, the game stays "missing": not watched, not synced. Accepting switches only to the exact folder that was offered, so an old answer can't switch to something nobody was shown. "Not this one" isn't offered again while OpenSave runs. The "not on this device" part is unchanged. The branch is rebased onto |
5ccfc3b to
bb36185
Compare
Part of #21.
Why
A save inside a game's install folder (most often a Steam library) is on whichever drive that library is on, and that differs between PCs:
D:on one,E:on another. A game tracked on one PC arrives on the other with the first PC's drive letter. There it shows as "missing" with a warning, even though the folder is right there on another drive.What
Tests
relocate_test.goandmissing_test.go: a save recorded on an unmounted drive letter is found at the same path on the drive it really is on, and not warned about. These tests skip on non-Windows systems.gamestatus.test.jsandnotifications.test.js.🤖 Generated with Claude Code