Commit Graph
21 Commits
Author SHA1 Message Date
EthanfelandClaude Opus 4.5 676160be8c Always show reference path, flf image path, and VACE fields in batch editor
These fields were previously gated behind filename checks ("vace"/"i2v"
in filename), hiding them when the filename didn't match. Since DEFAULTS
includes all these keys, always render them.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-02 12:57:15 +01:00
EthanfelandClaude Opus 4.5 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
EthanfelandClaude Opus 4.5 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
Ethanfel 268de89f6d Update tab_batch.py 2026-01-06 21:53:38 +01:00
Ethanfel 2b4221e444 Update tab_batch.py 2026-01-05 12:51:20 +01:00
ethanfel d054ff2725 Update tab_batch.py 2026-01-04 17:03:31 +01:00
ethanfel a6b88467a8 Update tab_batch.py 2026-01-04 15:26:08 +01:00
ethanfel f7d7e74cb9 Update tab_batch.py 2026-01-04 12:42:31 +01:00
ethanfel 909f2b5f21 Update tab_batch.py 2026-01-03 10:51:52 +01:00
ethanfel 7df798ccd1 Update tab_batch.py 2026-01-02 19:15:21 +01:00
ethanfel 70686b6b3f Update tab_batch.py 2026-01-02 19:11:53 +01:00
ethanfel 25f8dd471a Update tab_batch.py 2026-01-02 19:09:30 +01:00
ethanfel af174839e8 Update tab_batch.py 2026-01-02 13:26:57 +01:00
ethanfel cbe2355ef6 Update tab_batch.py 2026-01-02 13:16:17 +01:00
ethanfel b89c5448a7 Refactor batch sequence UI and add randomness 2026-01-02 01:25:46 +01:00
ethanfel 39f4e7d96f Refactor sequence management and UI updates
Refactor sequence handling and UI elements in Streamlit app. Update custom parameters section and improve user experience.
2026-01-02 01:02:35 +01:00
ethanfel 378fc4dc90 Enhance sequence expander and custom parameter handling
Updated the sequence expander title to include the current prompt and added functionality for custom parameters, including adding and removing keys.
2026-01-02 00:58:31 +01:00
ethanfel 9cc956e5d3 Add random seed generation feature 2026-01-01 01:29:32 +01:00
ethanfel b628f17ec6 Refactor sequence handling and UI updates 2025-12-31 14:58:42 +01:00
ethanfel 3a9b58f3b5 Refactor batch file handling and UI interactions 2025-12-31 14:54:37 +01:00
ethanfel 2964101782 Add batch processing features to tab_batch.py
Implement batch processing functionality in Streamlit app with options to create, modify, and save batch sequences.
2025-12-31 14:44:09 +01:00