Skip to content

feat: file versioning viewer (meshd versions + Versions tab in TUI) #2

Description

@gitcoder89431

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions