dns for browser session(part 2) (#2973)

This commit is contained in:
LawyZheng
2025-07-17 17:04:25 +08:00
committed by GitHub
parent 0a2e82f952
commit c7bd726ace
2 changed files with 13 additions and 4 deletions

View File

@@ -169,11 +169,19 @@ async def loop_stream_vnc(streaming: sc.Streaming) -> None:
LOG.info("No browser session found for task.", task=streaming.task, organization_id=streaming.organization_id)
return
browser_address = streaming.browser_session.browser_address
vnc_url: str = ""
if streaming.browser_session.ip_address:
if ":" in streaming.browser_session.ip_address:
ip, _ = streaming.browser_session.ip_address.split(":")
vnc_url = f"ws://{ip}:{streaming.vnc_port}"
else:
vnc_url = f"ws://{streaming.browser_session.ip_address}:{streaming.vnc_port}"
else:
browser_address = streaming.browser_session.browser_address
parsed_browser_address = urlparse(browser_address)
host = parsed_browser_address.hostname
vnc_url = f"ws://{host}:{streaming.vnc_port}"
parsed_browser_address = urlparse(browser_address)
host = parsed_browser_address.hostname
vnc_url = f"ws://{host}:{streaming.vnc_port}"
LOG.info(
"Connecting to VNC URL.",

View File

@@ -11,6 +11,7 @@ class PersistentBrowserSession(BaseModel):
runnable_type: str | None = None
runnable_id: str | None = None
browser_address: str | None = None
ip_address: str | None = None
status: str | None = None
timeout_minutes: int | None = None
started_at: datetime | None = None