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
80b77b0218
Update tab_comfy.py
2026-01-06 09:36:14 +01:00
b19e7b937c
Update tab_comfy.py
2026-01-06 01:35:23 +01:00
316ef0e620
Update tab_comfy.py
2026-01-05 22:54:00 +01:00
18550005dd
Update app.py
2026-01-05 15:21:14 +01:00
65e19fb7ff
Update tab_comfy.py
2026-01-05 14:49:11 +01:00
b25814f756
Update app.py
2026-01-05 12:51:55 +01:00
2b4221e444
Update tab_batch.py
2026-01-05 12:51:20 +01:00
a5c5410b04
Add tab_raw.py
2026-01-05 12:50:34 +01:00
213aa254fb
width of timeline
2026-01-04 19:10:07 +01:00
f51a0d6fe0
Update tab_timeline_wip.py
2026-01-04 19:06:57 +01:00
d054ff2725
Update tab_batch.py
2026-01-04 17:03:31 +01:00
7b4b0ff7ee
Update tab_timeline_wip.py
2026-01-04 16:41:40 +01:00
d3deb58469
Update tab_timeline.py
2026-01-04 16:41:19 +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
9c83dd0017
Delete db_manager.py
2026-01-03 16:24:11 +01:00
bc2035eee5
Update app.py
2026-01-03 16:22:26 +01:00
2ed1c8a3cd
Update app.py
2026-01-03 16:17:22 +01:00
5f3f8e2076
Update db_manager.py
2026-01-03 16:16:05 +01:00
29335bd4d5
Update app.py
2026-01-03 16:13:26 +01:00
5bd67476bc
Update app.py
2026-01-03 16:10:05 +01:00
8fe0e39ecf
Update db_manager.py
2026-01-03 16:06:34 +01:00
f74f583e98
Create db_manager.py
2026-01-03 16:01:27 +01:00
909f2b5f21
Update tab_batch.py
2026-01-03 10:51:52 +01:00
d7f06b7a93
Update tab_timeline_wip.py
2026-01-03 01:26:54 +01:00
7e4cede82b
Update tab_timeline_wip.py
2026-01-03 01:25:46 +01:00
f25e264db9
Update tab_timeline_wip.py
2026-01-03 01:22:24 +01:00
6eff0f3ad5
Update tab_timeline_wip.py
2026-01-03 01:18:44 +01:00
4d398afea0
Update tab_timeline_wip.py
2026-01-03 01:14:54 +01:00
9582103d40
Update tab_timeline_wip.py
2026-01-03 01:11:51 +01:00
345823747b
Update tab_timeline.py
2026-01-03 01:09:57 +01:00
e798d50851
Update tab_timeline_wip.py
2026-01-03 01:06:36 +01:00
373242b1a0
Update app.py
2026-01-03 01:06:02 +01:00
068ee9aeed
Update tab_timeline.py
2026-01-03 01:00:51 +01:00
ab973c6d58
Update history_tree.py
2026-01-03 01:00:35 +01:00
7198ccd19b
Update utils.py
2026-01-02 20:59:31 +01:00
3ff4a000c1
Update tab_single.py
2026-01-02 20:56:56 +01:00
607dd193e4
Update app.py
2026-01-02 20:51:39 +01:00
a172fb5b15
Update tab_comfy.py
2026-01-02 20:50:53 +01:00
7df798ccd1
Update tab_batch.py
2026-01-02 19:15:21 +01:00
9045bbe636
Update tab_single.py
2026-01-02 19:15:05 +01:00
39f24e747c
Update app.py
2026-01-02 19:14:48 +01:00
214e07ba19
Update utils.py
2026-01-02 19:14:33 +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
d008ba0efb
Update tab_single.py
2026-01-02 19:09:03 +01:00
54358f5ec5
Update app.py
2026-01-02 19:08:41 +01:00
05c7b0fa14
Update utils.py
2026-01-02 19:07:14 +01:00