Commit Graph

20 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
268de89f6d Update tab_batch.py 2026-01-06 21:53:38 +01:00
2b4221e444 Update tab_batch.py 2026-01-05 12:51:20 +01:00
d054ff2725 Update tab_batch.py 2026-01-04 17:03:31 +01:00
a6b88467a8 Update tab_batch.py 2026-01-04 15:26:08 +01:00
f7d7e74cb9 Update tab_batch.py 2026-01-04 12:42:31 +01:00
909f2b5f21 Update tab_batch.py 2026-01-03 10:51:52 +01:00
7df798ccd1 Update tab_batch.py 2026-01-02 19:15:21 +01:00
70686b6b3f Update tab_batch.py 2026-01-02 19:11:53 +01:00
25f8dd471a Update tab_batch.py 2026-01-02 19:09:30 +01:00
af174839e8 Update tab_batch.py 2026-01-02 13:26:57 +01:00
cbe2355ef6 Update tab_batch.py 2026-01-02 13:16:17 +01:00
b89c5448a7 Refactor batch sequence UI and add randomness 2026-01-02 01:25:46 +01:00
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
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
9cc956e5d3 Add random seed generation feature 2026-01-01 01:29:32 +01:00
b628f17ec6 Refactor sequence handling and UI updates 2025-12-31 14:58:42 +01:00
3a9b58f3b5 Refactor batch file handling and UI interactions 2025-12-31 14:54:37 +01:00
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