6 Commits
Author SHA1 Message Date
Rohit MahtoandCommandCodeBot e43313b9f4 feat: password-protect file manager and terminal (0.6.1)
- New password_auth module: random token generated on first run, encrypted
  at rest under ~/.champdev (Fernet, cryptography dep), verify + 12h signed
  session cookie. CHAMPDEV_AUTH_PASSWORD env overrides the generated token
  and is what gets sent to telemetry.
- File Manager: write actions (upload/delete/rename/move/copy/mkdir) hidden
  behind an in-UI Unlock dialog and enforced server-side (401). While locked,
  browsing is clamped to the ComfyUI root instead of 403ing, with a lock
  banner. Unlock reveals write actions and allows browsing above the root.
- Terminal: websocket refuses to spawn a shell without auth; lock overlay
  with Unlock dialog, reconnects on success.
- Telemetry: token included in the ingest payload (server column exists).
- Frontend: shared champdev_auth.js in-UI password modal (window.prompt was
  silently blocked in embedded contexts).

Co-authored-by: CommandCodeBot <noreply@commandcode.ai>
2026-08-23 19:51:42 +05:30
Rohit MahtoandClaude Opus 4.8 5c2310310c fix(filemanager): pin widget element to explicit px height so list scrolls
computeSize is ignored for DOM-widget element height in ComfyUI, so the node
kept growing with the file table and never scrolled. Set fm.root.style.height
in pixels (from node.size, synced via onResize + ResizeObserver); the element
now clips and the inner list scrolls. Bump 0.4.2.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-04 19:30:06 +05:30
Rohit MahtoandClaude Opus 4.8 35d4a0dc1f fix(filemanager): bound DOM widget height so the list scrolls and loads lazily
A ComfyUI DOM widget is sized to its content, so the file <table> grew the
node unbounded; the auto-fill loop then rendered every row on first load.
Derive the widget height from node.size (not content) so the list is a
bounded scroll container, and drop the fill-the-viewport loop. Bump 0.4.1.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-04 19:18:25 +05:30
Rohit MahtoandClaude Opus 4.8 2e69d2c701 feat(filemanager): larger original-image preview, keyboard nav, lazy loading
- Side panel widened (~320px) with a resizable divider; loads the original
  image instead of a 96px thumbnail; click to open full screen.
- List ↑/↓ move selection (preview follows); Enter opens full screen.
- Full-screen viewer: ←/→ cycle previewable media (wrapping) with a caption.
- Lazy windowed rendering: ~20 rows/thumbnails at a time, auto-loading on
  scroll; list scrolls inside the node (min-height:0 flex fix).
- Bump to 0.4.0; update CHANGELOG and README.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-04 19:03:34 +05:30
Rohit MahtoandClaude Opus 4.7 1d82e3872f fix: remove viewer keydown leak, guard stale props, align sort key
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-23 12:16:44 +05:30
Rohit Mahto cb00d200df feat: add file-manager DOM-widget frontend 2026-05-23 12:13:27 +05:30