Commit Graph

10 Commits

Author SHA1 Message Date
b02bf124fb Add atomic writes, magic string constants, unit tests, type hints, and fix navigation
- save_json() now writes to a temp file then uses os.replace() for atomic writes
- Replace hardcoded "batch_data", "history_tree", "prompt_history", "sequence_number"
  strings with constants (KEY_BATCH_DATA, etc.) across all modules
- Add 29 unit tests for history_tree, utils, and json_loader
- Add type hints to public functions in utils.py, json_loader.py, history_tree.py
- Remove ALLOWED_BASE_DIR restriction that blocked navigating outside app CWD
- Fix path text input not updating on navigation by using session state key
- Add unpin button () for removing pinned folders

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-02 12:44:31 +01:00
326ae25ab2 Fix critical bugs, security issues, and code quality across all modules
- Replace bare except clauses with specific exceptions (JSONDecodeError, IOError, ValueError, TypeError)
- Add path traversal protection restricting navigation to ALLOWED_BASE_DIR
- Sanitize iframe URLs with scheme validation and html.escape to prevent XSS
- Extract duplicate to_float/to_int to module-level helpers in json_loader.py
- Replace silent modulo wrapping with clamped bounds checking via get_batch_item()
- Remove hardcoded IP 192.168.1.51:5800, default to empty string
- Add try/except around fragile batch history string parsing
- Add JSON schema validation (dict type check) in read_json_data()
- Add Python logging framework, replace print() calls
- Consolidate session state initialization into loop with defaults dict
- Guard streamlit_agraph import with try/except ImportError
- Add backup snapshot before history node deletion
- Add cycle detection in HistoryTree.commit()

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-02 11:47:50 +01:00
9ba9db55c6 Refactor JSON loader classes for better structure 2026-01-02 01:08:39 +01:00
057df5d318 Refactor JSON loader classes and add batch support 2025-12-31 16:38:17 +01:00
738190aa9c Refactor JSONLoader and add batch loading classes 2025-12-31 14:30:05 +01:00
5e3fdd627a Refactor JSONLoader for improved clarity and structure 2025-12-31 13:19:59 +01:00
3d20cca7ba Refactor JSONLoader: Merge Simple into Standard
Merged the Simple node into the Standard node and updated return types. Adjusted comments for clarity.
2025-12-31 12:14:19 +01:00
093871074e Add 'seed' parameter to JSONLoader
Updated JSONLoader classes to include a 'seed' parameter in return types and names.
2025-12-30 17:25:44 +01:00
75362e1246 removing lora key from main nodes 2025-12-30 15:28:35 +01:00
f974662286 comfyui nodes 2025-12-30 15:11:51 +01:00