Skip to content

Bring your library down, not just up - #13

Merged
nicodes merged 1 commit into
mainfrom
restore-your-library
Aug 3, 2026
Merged

Bring your library down, not just up#13
nicodes merged 1 commit into
mainfrom
restore-your-library

Conversation

@nicodes

@nicodes nicodes commented Aug 3, 2026

Copy link
Copy Markdown
Member

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 login
logged in as nico@example.com (https://api.termca.de)
added aviorstudio/tetris 0.0.1 → ~/.local/share/termcade/games/aviorstudio/tetris
restored 1 game(s)

termcade sync does it explicitly; termcade login runs 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:

tetris removed locally list shows 2 games
termcade sync restored 1 game(s) — 3 games
asteroid + brickough, installed but not in the library untouched
second sync your library is already here

go vet clean, full suite passes.

🤖 Generated with Claude Code

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>
@nicodes
nicodes merged commit 2174967 into main Aug 3, 2026
1 check passed
@nicodes
nicodes deleted the restore-your-library branch August 3, 2026 08:57
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