Commit Graph

12 Commits

Author SHA1 Message Date
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
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
7b4b0ff7ee Update tab_timeline_wip.py 2026-01-04 16:41:40 +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
e798d50851 Update tab_timeline_wip.py 2026-01-03 01:06:36 +01:00
295cbbca52 Create tab_timeline_wip.py 2026-01-02 16:13:42 +01:00