Skip to content

Add ITDA to custom-node-list#3090

Open
designloves2 wants to merge 1 commit into
Comfy-Org:mainfrom
designloves2:add-itda
Open

Add ITDA to custom-node-list#3090
designloves2 wants to merge 1 commit into
Comfy-Org:mainfrom
designloves2:add-itda

Conversation

@designloves2

Copy link
Copy Markdown
Contributor

Hi, I would like to add my custom node ITDA to the list.

Repository: https://github.com/designloves2/itda

ITDA is a frame-accurate, layered video editor that runs inside ComfyUI, built for the workflow where you generate video clips with AI and then have to join them into one continuous piece. Its main feature, Auto Stitch, analyses the overlap between two clips and recommends where to cut, scoring candidates on frame similarity and optical-flow motion continuity.

Nodes: ITDA Open Editor (opens the editor in-graph, outputs the project name), ITDA Load Export (loads the latest export as an IMAGE batch + AUDIO).

Path handling

Aware of the containment requirements from previous reviews, I audited every path surface before submitting — write side, read side, and paths that arrive as data rather than as request arguments:

  • All file access is confined to folder_paths directories (input/ITDA, input/ITDA-SNAPSHOT, output/ITDA); nothing is written inside the package.
  • Containment goes through a single is_contained() helper that resolves the path first (collapsing .. and symlinks) and then checks real parentage via Path.parents — never a string prefix, so /a/bc is not treated as inside /a/b. There are no startswith()-based path checks anywhere.
  • Project names are sanitised, including rejecting dot-only names (. / ..), which otherwise survive separator stripping and collapse a per-project directory one level up.
  • Clip paths read from project files and the export path read from the export manifest are both validated against those roots before reaching ffmpeg or a decoder, since project JSON is data the node does not control.
  • ffmpeg is invoked with argument lists (never shell=True), and values interpolated into filter strings are type-cast or pattern-validated.

ffmpeg work also runs off the event loop, so a long export does not block the ComfyUI server.

Requires ffmpeg on PATH. OpenCV and librosa are optional and only enable extra analysis features; both degrade gracefully when absent.

Thank you for reviewing!

@coderabbitai

coderabbitai Bot commented Jul 17, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: fe1ef0ef-2c3e-4fa4-ad58-71640e2b6816

📥 Commits

Reviewing files that changed from the base of the PR and between bd88cff and 7b0ff1a.

📒 Files selected for processing (1)
  • custom-node-list.json

📝 Walkthrough

Walkthrough

The custom node registry now includes an itda entry with repository metadata, git-clone installation details, an associated files URL, and a description of the ITDA layered video editor.

Changes

ITDA Registry

Layer / File(s) Summary
Add ITDA registry metadata
custom-node-list.json
Adds the itda custom node with author/title, GitHub references, git-clone installation type, files URL, and functionality description. A tidy little registry addition.

Possibly related PRs

Suggested reviewers: ltdrdata, azornes, anonymzx

🚥 Pre-merge checks | ✅ 2
✅ Passed checks (2 passed)
Check name Status Explanation
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
✨ Simplify code
  • Create PR with simplified code

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant