fix(browser): dual transport — Unix socket + HTTP Docker + binary corruption detection
Root cause on macOS: camoufox-browser@0.1.0 downloads an alpha binary (v150.0.2-alpha.26) from daijro/camoufox that has a broken macOS build (missing libmozglue.dylib). Binary crashes with SIGABRT/SIGKILL. Changes: 1. gyandoot-browser client now supports TWO transports: - Transport::UnixSocket (existing — daemon IPC) - Transport::Http (new — Docker REST API on port 9377) 2. init_browser() tries Docker HTTP first, falls back to npx daemon 3. HTTP transport maps browser actions to Docker REST endpoints (/navigate, /tabs, /health, etc.) with correct userId params 4. check_known_errors() detects libmozglue.dylib + SIGKILL patterns 5. Browser cache check works for both macOS and Linux paths 6. Error messages correctly say 'Use Docker' on corrupted binary 7. Added reqwest dep to gyandoot-agent for Docker health check Clean build: 0 errors
This commit is contained in:
@@ -3,7 +3,7 @@ name = "gyandoot-browser"
|
||||
version.workspace = true
|
||||
edition.workspace = true
|
||||
license.workspace = true
|
||||
description = "GyanDoot v2 — Camoufox browser automation via daemon IPC (Unix socket protocol)"
|
||||
description = "GyanDoot v2 — Camoufox browser automation via daemon IPC (Unix socket + HTTP fallback)"
|
||||
|
||||
[dependencies]
|
||||
gyandoot-core = { path = "../gyandoot-core" }
|
||||
@@ -15,4 +15,5 @@ anyhow.workspace = true
|
||||
tracing.workspace = true
|
||||
uuid.workspace = true
|
||||
chrono.workspace = true
|
||||
dirs.workspace = true
|
||||
dirs.workspace = true
|
||||
reqwest = { workspace = true, default-features = false, features = ["json"] }
|
||||
Reference in New Issue
Block a user