fix: call connect_rdp_slot on session reuse
Previously connect_rdp_slot was only called when creating a new session. If the API container restarted, existing sessions had should_be_connected=false and xfreerdp never started. Now connect is triggered on every /go/<slug> visit when an RDP session already exists.
This commit is contained in:
@@ -505,6 +505,12 @@ def go_service(
|
||||
_mark("check_existing_ms", t_existing)
|
||||
if existing_user_session:
|
||||
_emit("reuse_session", session_id=existing_user_session.id)
|
||||
if existing_user_session.container_id and existing_user_session.container_id.startswith("RDPSLOT:"):
|
||||
try:
|
||||
_rdp_slot_id = int(existing_user_session.container_id.split(":", 1)[1])
|
||||
threading.Thread(target=connect_rdp_slot, args=(_rdp_slot_id,), daemon=True).start()
|
||||
except Exception:
|
||||
pass
|
||||
return RedirectResponse(url=session_redirect_url(existing_user_session), status_code=303)
|
||||
|
||||
t_limit = time.perf_counter()
|
||||
|
||||
Reference in New Issue
Block a user