Skip to content

[Feature Request] Cross-device save sync (account login or iCloud/Git-based sync) #257

Description

@bestheroz

Summary

I use PokeTokenBar on two Macs (home + office) and would love a way to keep a single companion / Pokédex across both machines. Right now each Mac raises its own Pokémon from scratch, and the progress is effectively split in half.

Current workaround

v2.5.3 has Settings → Backup & Migration → Export / Import save, which works, but it's a manual, one-shot copy. In practice I forget to export before switching machines, and importing overwrites rather than merges, so I end up losing whatever I did on the other Mac.

Proposal

Add an opt-in sync so the save (Pokédex, cumulative tokens, bag, current companion) follows the user across devices. A few possible approaches, in rough order of how much they preserve the current on-device / no-upload design:

  1. iCloud Drive (or any synced folder) as save location — let the user point the save file at ~/Library/Mobile Documents/... or a custom folder, and have the app reload on external change. No new backend, no account.
  2. GitHub Gist / private repo sync — sign in with GitHub, store the save JSON in a private gist. Fits the developer audience and GitHub is already a host the app talks to for update checks.
  3. Sign in with Apple / Google + hosted sync — most convenient but adds a server and an account; probably out of scope given the privacy stance.

Any of these would need a merge step rather than a plain overwrite (e.g. union of Pokédex/catch log, sum of cumulative tokens, pick the most recent companion state), so the two machines don't clobber each other.

Notes

Environment: PokeTokenBar v2.5.3, macOS, Claude Code (Max 20x)

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions