Bring your library down, not just up - #13
Merged
Merged
Conversation
Adds and removes have mirrored to a library on your account for a while, from the arcade, the CLI and the app alike, and nothing brought it back. The README said so. `termcade sync` installs everything on your account that is missing here, and `termcade login` runs it — signing in on a new machine is the moment your games should arrive, and nobody should have to learn a second command to get what they already own. Sync only adds. A game installed from a file stays put: a server having never heard of it is not a reason to delete somebody's game, and the opposite policy turns a login into data loss. One failure does not strand the rest. A release deleted after publishing is the publisher's doing, not this player's, so that game is reported and the others still install. The exit code still reflects it. Restore after login is best-effort. The login itself succeeded, and reporting failure because a download did not finish would be a lie about what happened. Verified on a scratch stack: a real account with tetris in its library, on a machine where tetris had been removed. Sync restored it, left asteroid and brickough — installed locally, absent from the library — alone, and did nothing on a second run. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
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.
Adds and removes have mirrored to a library on your account for a while — from the arcade, the CLI and the app alike — and nothing brought it back. The README said as much. This closes it.
termcade syncdoes it explicitly;termcade loginruns it for you. Signing in on a new machine is the moment your games should arrive, and nobody should have to learn a second command to get what they already own.Three decisions worth naming
Sync only adds. A game installed from a file stays put. A server having never heard of it is not a reason to delete somebody's game — the opposite policy turns a login into data loss.
One failure does not strand the rest. A release deleted after publishing is the publisher's doing, not this player's, so that game is reported and the others still install. The exit code still reflects it.
Restore after login is best-effort. The login succeeded; reporting it as a failure because a download did not finish would be a lie about what happened. It prints a note instead.
Verification
On a scratch stack with a real account holding
aviorstudio/tetris:listshows 2 gamestermcade syncrestored 1 game(s)— 3 gamessyncyour library is already herego vetclean, full suite passes.🤖 Generated with Claude Code