Skip to content

Add a "Save" Feature #43

Description

@BrandonML

Since the entire purpose of Tabby is to show a new cat on every NTP, a user may see a cat and be interested but close the NTP before realizing they won't see the cat again. Therefore, it may be prudent to give the user a way to save a cat.

Where/how the cat is actually saved, whether it be local storage or something more persistent, is unknown. We need to explore all options for the one that provides the longest persisting timeframe, while avoiding a foolproof solution such as a user account. We'd also need to give the user a method of displaying saved cats.

Design implementation is simple: Use an empty heart icon for unsaved, and a filled heart (red) icon to indicate saved.

Activity

  1. BrandonML commented on Sep 25, 2026

    @BrandonML
    OwnerAuthor

    Implemented in PR #74, using `chrome.storage.local` rather than `chrome.storage.sync`.

    The trade-off, for the record: `chrome.storage.sync` would give saved cats real cross-device persistence (survives an uninstall, follows the user to a new machine) — a better fit for "save something to revisit indefinitely" than local-only storage. But `webstore/WEBSTORE.md`'s Permissions Justification table explicitly promises Chrome Web Store reviewers that Tabby's `storage` permission never uses `chrome.storage.sync` and that nothing is synced to Google's servers. Switching to sync would mean deliberately rewriting that reviewed privacy claim to store reviewers — a real privacy-posture change, not just a code choice — so for now this ships with local-only storage instead.

    If cross-device persistence becomes a real ask later, revisiting that WEBSTORE.md claim (and re-justifying the permission to reviewers) is the way to get it.

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

    enhancementNew feature or request

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions