Summary
Surface Syncthing's built-in file versioning in the TUI and CLI. Currently stversions/ folders exist on disk but there's zero UI to browse or restore them.
Motivation
Syncthing supports multiple versioning strategies (trash can, simple, staggered) but managing them requires either digging through the filesystem or using the web UI. This is a completely absent feature in every existing TUI.
Proposed CLI
meshd versions # list all files with saved versions
meshd versions notes.md # list versions of a specific file
meshd versions notes.md --restore 2 # restore version #2
Proposed TUI
- New
Versions tab (cycle with tab)
- File list on left showing files that have versions
- Version history on right (timestamp, size, diff preview for text files)
r to restore selected version
d to delete a version (free up space)
enter to open the version in $PAGER
Implementation Notes
- Syncthing versioning config lives in
/rest/config/folders/<id> under versioning
- Version files stored in
~/.meshd/.stversions/ — can be listed directly from filesystem
- For text files, show a simple line-diff against current version
- For binary files (images,
.kdbx), just show metadata (size, timestamp)
Related
Summary
Surface Syncthing's built-in file versioning in the TUI and CLI. Currently
stversions/folders exist on disk but there's zero UI to browse or restore them.Motivation
Syncthing supports multiple versioning strategies (trash can, simple, staggered) but managing them requires either digging through the filesystem or using the web UI. This is a completely absent feature in every existing TUI.
Proposed CLI
Proposed TUI
Versionstab (cycle withtab)rto restore selected versiondto delete a version (free up space)enterto open the version in$PAGERImplementation Notes
/rest/config/folders/<id>underversioning~/.meshd/.stversions/— can be listed directly from filesystem.kdbx), just show metadata (size, timestamp)Related