Compare commits

...

1 Commits

Author SHA1 Message Date
Teknium
2dfb218063 fix: cleanup_all_camofox_sessions respects managed persistence
When managed_persistence is enabled, cleanup_all now only clears local
tracking state without sending DELETE requests to the Camofox server.
This prevents persistent browser profiles (cookies, logins, localStorage)
from being destroyed during process-wide cleanup.

Ephemeral sessions still get full server-side deletion as before.
2026-04-09 14:53:46 -07:00

View File

@@ -594,10 +594,17 @@ def camofox_console(clear: bool = False, task_id: Optional[str] = None) -> str:
# --------------------------------------------------------------------------- # ---------------------------------------------------------------------------
def cleanup_all_camofox_sessions() -> None: def cleanup_all_camofox_sessions() -> None:
"""Close all active camofox sessions.""" """Close all active camofox sessions.
When managed persistence is enabled, only clears local tracking state
without destroying server-side browser profiles (cookies, logins, etc.
must survive). Ephemeral sessions are fully deleted on the server.
"""
managed = _managed_persistence_enabled()
with _sessions_lock: with _sessions_lock:
sessions = list(_sessions.items()) sessions = list(_sessions.items())
for task_id, session in sessions: if not managed:
for _task_id, session in sessions:
try: try:
_delete(f"/sessions/{session['user_id']}") _delete(f"/sessions/{session['user_id']}")
except Exception: except Exception: