Skip to content

Graph history

Every non-empty save copies the previous on-disk graph into ~/.config/threadle/graphs/versions/<id>/. Cap is 30 snapshots per graph (oldest pruned). Empty graphs are never written to disk and do not create versions.

In-session undoVersion history
LifetimeCurrent editor tabOn disk under config dir
TriggerStructural edits (debounced)Each successful save of a non-empty graph
RestoreCmd+Z / redo stackTopbar versions menu → pick a stamp

Restore writes through the normal save path, so the state you leave behind is itself snapshotted first.

In the workflow editor topbar, open versions (⟲). The list shows timestamp, name, and node count. Click a row to restore.

MethodPathBody / notes
GET/api/graphs/:id/versionsSummary list (ts, updatedAt, name, nodeCount)
GET/api/graphs/:id/versions/:tsFull graph JSON for that stamp
POST/api/graphs/:id/restore{ "ts": "<stamp>" } → restored graph