The tree endpoint has accepted `showHidden=true` since it was written; the panel hardcoded `showHidden=false`, so dot-prefixed entries were unreachable from the File Viewer and opening one meant guessing its path. Adds a `.*` toggle to the panel header. It re-fetches instead of re-rendering the cached tree (the filtering is server-side), preserves the expanded directories so toggling does not collapse the tree, and persists per-device to its own `codeman:fileBrowserShowHidden` key. That key is deliberately not part of the app-settings object, which `saveAppSettings()` rebuilds from the settings-modal DOM and would drop it on the next save. Default is OFF, so an untouched install behaves exactly as before. Closes #221 Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
1.0 KiB
aicodeman
| aicodeman |
|---|
| patch |
The File Viewer can show hidden files and folders.
GET /api/sessions/:id/files has always accepted showHidden=true, but the panel
hardcoded showHidden=false, so dot-prefixed entries were unreachable from the
tree: no .gitignore, no .github/, no .env.example, and nothing under them.
Opening one meant guessing its path.
The panel header gains a .* toggle. It re-fetches rather than re-rendering the
cached tree, because the filtering happens server-side, and it keeps the expanded
directories so toggling does not collapse the tree you just navigated. The state
is per-device (its own codeman:fileBrowserShowHidden key rather than the
app-settings object, which is rebuilt from the settings-modal DOM on save and
would drop a key toggled from outside it), defaults to OFF, and survives a reload.
Generated and version-control directories (.git, node_modules, .next,
.venv, ...) stay excluded either way: that list is about tree size, not about
hiding dotfiles.
Closes #221.