Commit Graph
12 Commits
Author SHA1 Message Date
Peyton DeNiro ae8d5a2f2a fix(hardening): address all PR #157 review findings
Critical:
  - _load_module(): wrap exec_module() in try/except, pop from sys.modules
    on failure so broken modules aren't cached
  - get_comfyui_path(): add _is_comfyui_directory() check to third (CWD walk)
    strategy so a non-ComfyUI directory named "ComfyUI" isn't accepted
  - get_node_class_mappings(): return cached sys.modules["nodes"] if already
    loaded to avoid re-executing nodes.py and losing init_extra_nodes() state

Suggestions:
  - import_custom_nodes(): wrap sys.path filtering in try/finally so path is
    always restored even if _load_module("server") raises mid-execution
  - render.py: auto-discover helpers from generated_helpers.__all__ instead of
    a manually maintained list
  - pyproject.toml: remove duplicate ruff dev dependency (kept standard
    [project.optional-dependencies] form)

Nitpicks:
  - Remove dead imports (types, StringIO) from test_import_path_resolution.py
  - Trim trailing blank lines in pyproject.toml
  - Tone down _load_module docstring: "eliminates ALL" -> "significantly reduces"

Tests (7 new cases):
  - TestLoadModuleFailureCleanup: broken module removed on exec failure, retry
    starts fresh
  - TestLoadModuleTemp: temp modules purged from sys.modules (success + failure)
  - TestRepeatedNodeLoad: repeated _load_module("nodes") returns cached copy
  - TestGetComfyuiPathThirdStrategy: fake "ComfyUI" dir rejected
  - TestImportCustomNodesSysPathRestoration: sys.path restored after crash
2026-05-10 10:43:12 -05:00
Peyton DeNiro 49649a6745 chore: add ruff dev dependency and ignore agent/docs dirs
- Add ruff as a dev dependency (pyproject.toml + uv.lock) for formatting
  hooks on Python files
- Ignore docs/, .agents/, .codex/, AGENTS.md in .gitignore
2026-05-10 00:04:00 -05:00
Peyton DeNiro 9a17000417 Update version. 2026-03-29 19:06:52 -05:00
Peyton DeNiro 5d70efdc88 Align Cluster 2 compatibility boundaries
Declare Python 3.12 support, replace the hidden pip bootstrap with explicit uv sync guidance, and remove prompt() from the Web UI save flow. Add focused contract coverage for the metadata and frontend defaults.
2026-03-29 17:34:30 -05:00
Peyton DeNiro c1cf4e7585 version update. 2026-03-29 15:31:45 -05:00
Peyton DeNiro 8b56c4971d Bump version to 1.3.2 2026-03-28 18:28:02 -05:00
pydn 1c0585fabe Update version number 2025-07-27 19:09:46 -05:00
pydn 3a5ef069d9 Update .toml file to have MIT license 2025-07-27 18:56:13 -05:00
snomiao 4d0de66b0b chore(licence-update): Update PyProject Toml - License 2025-01-21 01:31:31 +00:00
pydn dc6b71b494 Updated .toml 2024-09-15 10:16:09 -05:00
haohaocreates d938df9f4f Update pyproject.toml desc 2024-05-21 20:36:17 -04:00
haohaocreates cdca60ff04 chore(pyproject): Add pyproject.toml for Custom Node Registry 2024-05-22 00:35:46 +00:00