Commit Graph

14 Commits

Author SHA1 Message Date
Ethanfel 0d1415fca4 Audit fixes: data-loss, security, performance, UX + new features
Comprehensive audit pass across the JS frontend and Python backend.

Bugs / correctness:
- Swap & restore now pre-save current state (hash-deduped) so unsaved
  edits aren't lost when swapping/restoring, incl. rapid double-swap
- Unify captureSnapshot/captureNodeSnapshot into _captureCore; node
  captures now update the dedup hash (no duplicate auto-snapshot after)
- Cycle guard in getDisplayPath; Ctrl+S ignores text fields and the
  other-workflow view; tolerant API error parsing; prompt default pre-fill

Security / robustness (backend):
- Validate workflowKey against path traversal (reject ./.. + containment)
- Generic 500 messages (no exception-string leak), logged server-side
- Request body-size cap + migrate record cap
- Atomic writes (temp file + os.replace) on all write paths

Performance / memory:
- /list omits base64 thumbnails (hasThumbnail flag, lazy-loaded client-side)
- LRU-bounded previous-graph cache; persistent (prune+LRU) SVG cache
- Incremental in-place updates for lock/note instead of full list rebuild

UX / docs:
- Busy-op feedback, named-delete confirm, relative timestamps
- README: remove disabled branching feature, fix version badge & storage paths

Features:
- Export / Import snapshots (export route + reuse migrate)
- Storage-usage display (usage route + footer label)
- Pause auto-capture toggle
- Age-based retention (maxAgeDays setting + prune param)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-14 11:04:09 +02:00
Ethanfel d142df5332 Bump version to 3.0.0 and update documentation
Publish to ComfyUI Registry / Publish Custom Node to Registry (push) Has been cancelled
Add documentation for snapshot branching, session profiles,
hide auto-saves toggle, and timeline branch navigation.
Update features list, usage sections, architecture, and FAQ.
Align pyproject.toml and README badge to 3.0.0.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-26 11:59:58 +01:00
Ethanfel e5d9e6ca99 Replace emoji buttons with inline SVG icons
Swap note (pencil), lock/unlock (padlock), and preview (eye) buttons
from emoji characters to crisp inline SVGs using currentColor. Fixes
inconsistent emoji rendering across platforms and enables proper color
transitions (e.g. amber highlight for has-note state via CSS color
instead of filter hacks).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-25 09:39:54 +01:00
Ethanfel 31b846cd5f Add SVG snapshot previews and bump to v2.5.0
Render workflow graphs as SVG previews so users can visually inspect
snapshots without restoring them. Adds hover tooltips, a full-size
preview modal (eye button), and side-by-side SVG comparison with
color-coded highlights in the diff view.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-25 09:38:02 +01:00
Ethanfel 4b392a89cf Add snapshot diff view and bump to v2.4.0
Publish to ComfyUI Registry / Publish Custom Node to Registry (push) Has been cancelled
Compare any snapshot vs the current workflow (one click) or two snapshots
against each other (Shift+click to set base). Modal shows added/removed/modified
nodes, widget value changes, property diffs, and rewired connections with
collapsible sections and colored indicators.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-25 08:14:29 +01:00
Ethanfel efc3791a57 Update README for centered timeline bar and smarter swap auto-save
Document the floating centered layout, sidebar layering behavior,
and the skip-when-browsing optimization for swap auto-saves.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-25 00:53:35 +01:00
Ethanfel 8a8a01adff Add Fusion 360-style change-type icons to timeline markers
Each snapshot now detects what kind of change it represents (node add,
node remove, connection, parameter, move, mixed) and displays a distinct
colored icon on the timeline. Sidebar meta line shows the change type.
Existing snapshots without change data gracefully fall back to a faded
"unknown" dot.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-25 00:10:36 +01:00
Ethanfel 51cb2f6855 Update README for v2.2.0 — document timeline, auto-save, Ctrl+S shortcut
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-24 23:41:23 +01:00
Ethanfel 25b909f99f Update README and architecture diagram for v2.1.0
Add SaveSnapshot node to features list and architecture diagram,
update storage label from IndexedDB to Server Storage, add
maxNodeSnapshots setting to the table, and document the
node-triggered capture flow.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-24 22:10:48 +01:00
Ethanfel d32349bfdf Migrate snapshot storage from IndexedDB to server-side JSON files (v2.0.0)
Publish to ComfyUI Registry / Publish Custom Node to Registry (push) Has been cancelled
Snapshots are now stored as individual JSON files on the server under
data/snapshots/, making them persistent across browsers and resilient
to browser data loss. Existing IndexedDB data is auto-migrated on
first load.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-24 20:13:23 +01:00
Ethanfel 81118f4610 Bump version to 1.1.1 — fix workflow key detection
Publish to ComfyUI Registry / Publish Custom Node to Registry (push) Has been cancelled
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-24 19:39:44 +01:00
Ethanfel b90ebba068 Add workflow browser — browse snapshots from any workflow (v1.1.0)
Publish to ComfyUI Registry / Publish Custom Node to Registry (push) Has been cancelled
Adds a workflow selector to the sidebar so users can browse and recover
snapshots from any workflow in the database, including renamed or deleted
ones. Includes amber viewing banner, take-snapshot guard, and lazy-loaded
workflow picker with counts.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-24 19:29:44 +01:00
Ethanfel e5ba68c356 Update README for v1.0.1: document lock/pin snapshots feature
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-24 18:51:01 +01:00
Ethanfel e1d63e58d6 Initial release: Workflow Snapshot Manager v1.0.0
Publish to ComfyUI Registry / Publish Custom Node to Registry (push) Has been cancelled
Auto-capture workflow snapshots with per-workflow hash map, promise-based
restore lock, custom naming, search/filter, theme-aware CSS, toast
notifications, and native confirm/prompt dialogs. Includes README with
SVG/PNG assets, MIT license, and ComfyUI registry publish action.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-24 17:31:32 +01:00