kshitijk4poor
37a1c75716
fix(browser): hardening — dead code, caching, scroll perf, security, thread safety
Salvaged from PR #7276 (hardening-only subset; excluded 6 new tools
and unrelated scope additions from the contributor's commit).
- Remove dead DEFAULT_SESSION_TIMEOUT and unregistered browser_close schema
- Fix _camofox_eval wrong call signatures (_ensure_tab, _post args)
- Cache _find_agent_browser, _get_command_timeout, _discover_homebrew_node_dirs
- Replace 5x subprocess scroll loop with single pixel-arg call
- URL-decode before secret exfiltration check (bypass prevention)
- Protect _recording_sessions with _cleanup_lock (thread safety)
- Return failure on empty stdout instead of silent success
- Structure-aware _truncate_snapshot (cut at line boundaries)
Follow-up improvements over contributor's original:
- Move _EMPTY_OK_COMMANDS to module-level frozenset (avoid per-call allocation)
- Fix list+tuple concat in _run_browser_command PATH construction
- Update test_browser_homebrew_paths.py for tuple returns and cache fixtures
Co-authored-by: kshitijk4poor <82637225+kshitijk4poor@users.noreply.github.com>
Closes #7168, closes #7171, closes #7172, closes #7173
2026-04-10 13:05:44 -07:00
..
2026-04-07 08:40:22 -04:00
2026-04-10 03:44:43 -07:00
2026-03-17 02:33:12 -07:00
2026-03-31 08:48:54 +09:00
2026-03-23 07:43:12 -07:00
2026-04-10 05:19:21 -07:00
2026-04-08 02:24:32 -07:00
2026-04-01 04:18:50 -07:00
2026-04-10 03:44:43 -07:00
2026-04-10 13:05:44 -07:00
2026-04-08 02:24:32 -07:00
2026-04-10 03:44:43 -07:00
2026-04-07 13:36:38 -07:00
2026-04-09 16:24:53 -07:00
2026-04-10 03:44:43 -07:00
2026-04-10 05:54:37 -07:00
2026-04-07 10:25:31 -07:00
2026-04-10 12:51:30 -07:00
2026-04-10 03:44:43 -07:00
2026-04-08 02:24:32 -07:00
2026-04-08 02:24:32 -07:00
2026-04-10 03:44:43 -07:00
2026-04-07 13:36:38 -07:00
2026-04-07 13:36:38 -07:00
2026-02-23 02:11:33 -08:00
2026-04-02 12:40:03 +11:00
2026-04-10 03:05:04 -07:00
2026-04-10 03:44:35 -07:00
2026-04-07 13:36:38 -07:00
2026-03-27 15:28:19 -07:00
2026-03-18 02:55:30 -07:00
2026-03-11 20:02:36 -07:00
2026-04-05 12:46:07 -07:00
2026-03-26 19:38:04 -07:00
2026-04-10 03:52:16 -07:00
2026-04-08 02:24:32 -07:00
2026-04-07 10:25:31 -07:00
2026-04-10 05:54:37 -07:00
2026-04-07 13:36:38 -07:00
2026-04-10 05:19:21 -07:00
2026-04-10 03:44:43 -07:00
2026-04-10 12:54:18 -07:00
2026-03-25 15:54:28 -07:00
2026-04-07 13:36:38 -07:00
2026-04-10 02:58:54 -07:00
2026-03-25 19:47:58 -07:00
2026-04-07 13:36:38 -07:00
2026-03-31 08:48:54 +09:00
2026-04-09 16:24:53 -07:00
2026-04-10 03:27:30 -07:00
2026-04-07 13:36:38 -07:00
2026-04-10 05:04:28 -07:00
2026-04-07 13:36:38 -07:00
2026-04-10 03:44:43 -07:00
2026-04-10 03:05:04 -07:00
2026-04-07 10:25:31 -07:00