0.37.6: remember the "Show hidden" toggle across reloads

Uploaded dotfiles (.env) were persisting fine, but "Show hidden" is
component state that reset to off on every reload — so after refreshing,
hidden files disappeared from view and looked lost. Persist the toggle in
localStorage (sp.files.showHidden) so it survives reloads; combined with
0.37.5's auto-reveal, an uploaded .env now stays visible.

Frontend-only; all 3 images rebuilt+pushed 0.37.6.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
menzelj
2026-06-21 21:26:03 +00:00
co-authored by Claude Opus 4.8
parent a40dd0de3e
commit 415ebb733a
3 changed files with 10 additions and 3 deletions
+1 -1
View File
@@ -1,3 +1,3 @@
"""Single source of truth for the StackPilot release version."""
APP_VERSION = "0.37.5"
APP_VERSION = "0.37.6"
+1 -1
View File
@@ -1,7 +1,7 @@
{
"name": "stackpilot-frontend",
"private": true,
"version": "0.37.5",
"version": "0.37.6",
"type": "module",
"scripts": {
"dev": "vite",
+8 -1
View File
@@ -76,7 +76,14 @@ export function Files() {
const qc = useQueryClient();
const [host, setHost] = useState<number | undefined>(undefined); // undefined = local
const [path, setPath] = useState("/");
const [showHidden, setShowHidden] = useState(false);
// Persist "Show hidden" across reloads — otherwise an uploaded dotfile (.env)
// becomes invisible again after a refresh and looks like it was lost.
const [showHidden, setShowHidden] = useState(
() => localStorage.getItem("sp.files.showHidden") === "1",
);
useEffect(() => {
localStorage.setItem("sp.files.showHidden", showHidden ? "1" : "0");
}, [showHidden]);
const [editing, setEditing] = useState<HostPathEntry | null>(null);
const [renaming, setRenaming] = useState<HostPathEntry | null>(null);
const [deleting, setDeleting] = useState<HostPathEntry | null>(null);