You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Default pod root to an OS-specific user-data dir instead of ./data #5
config.json currently sets root: "./data", which main.js resolves relative to the install directory. That breaks pod persistence in the two most common launch modes:
npx solid-desktop → resolves under ~/.npm/_npx/<hash>/node_modules/solid-desktop/data. The path is versioned and not guaranteed to survive npm cache cleanups or package upgrades.
npm install -g solid-desktop → resolves under the global node_modules location, which is often non-writable without sudo (and is the wrong place for user data anyway).
Even in git clone + npm start use, the data lives inside the working tree — so git clean or moving the repo loses the pod.
Desktop apps normally store user data in OS-specific locations:
Linux: ~/.config/<app>/… (Electron's default for userData) or ~/.local/share/<app>/… (XDG_DATA_HOME)
macOS: ~/Library/Application Support/<app>/…
Windows: %APPDATA%\<app>\…
Electron exposes this via app.getPath('userData'), which returns the right per-OS path automatically.
Proposal
Default the pod root to path.join(app.getPath('userData'), 'pod'). Keep the config.json override so power users can point at a specific dir (USB drive, NAS, shared volume). Drop the literal "root": "./data" from the committed config.json so the OS-specific default kicks in unless explicitly overridden.
Anyone already running 0.0.6 with content in the repo's ./data would need to move that folder once to the new location, or set config.jsonroot to the old absolute path to keep using it in place. For a fresh install there's no migration — the new default just works.
Worth deciding whether to ship a one-time migration shim that detects an existing in-tree ./data and copies/moves it on first launch of the new version, or to handle it purely via release notes.
Out of scope
Multi-pod / pod-switcher UX. The single-default-root model stays; this issue is only about where that root lives by default.
Activity