Skip to content

macOS: uninstall helper for Application Support data (depends on #825) #859

Description

@AgreeDK

Dragging OpenSAK.app to the Trash removes the application bundle but leaves
~/Library/Application Support/opensak/ (databases, config) behind — which is
the correct default per our "opt-in data removal only" principle (see
Roadmap item 1), but most users never clean these up manually if they
genuinely want to.

This was blocked by #825 (settings_store.py branching on os.name == "posix",
which is true on both Linux and macOS, so OpenSAK was actually writing to
~/.config/opensak and ~/.local/share/opensak on Mac instead of the
documented ~/Library/Application Support/opensak/). Now that #825 is fixed,
this can proceed against the correct, verified path.

Goal

A small, separate, optional uninstall helper — downloadable from opensak.com,
not bundled inside the app — that:

  1. Removes the app bundle itself (/Applications/OpenSAK.app), or confirms
    the user already trashed it.
  2. Explicitly asks (default: No) whether Application Support data
    (databases, settings) should also be removed.
  3. Only touches the documented path — no guessing, no wildcard deletion.

Suggested form

A minimal signed shell script (.command file) is the lowest-effort option;
a tiny "OpenSAK Uninstaller.app" is friendlier for non-terminal users but
needs its own (lightweight) signing/notarization pass. Recommend starting
with the .command script — cheap to ship, can be upgraded to a proper .app
later without changing the underlying logic.

Acceptance criteria

Out of scope

  • Auto-upgrade (Sparkle) — tracked separately, not a dependency of this issue.
  • Any change to the DMG install flow itself.

Related

Activity

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

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions