Files
jackwener 61b7a804f3 feat: real-time sync, P0 bug fixes, camoufox improvements
Bug fixes:
- CamoufoxPage.evaluate() now uses wrapForEval() for consistency
- Cookie import order: addCookies BEFORE navigate
- camoufox start: use Python launcher for reliable WS path parsing
- --no-headless flag (was broken with default=true)

Real-time sync (daemon architecture):
- Extension: chrome.cookies.onChanged → SyncEvent → daemon
- Extension: watch-state/unwatch-state commands, domain filtering
- Daemon: /sync WebSocket path for sync subscribers
- LiveSyncService: subscribes to daemon, applies events to camoufox
- CLI: opencli browser watch --domain github.com

Improvements:
- scripts/camoufox_server.py: reliable launcher via launch_server()
- protocol.ts: SyncEvent type for real-time state changes
- BROWSER-STATE-SYNC.md: comprehensive implementation docs
2026-03-22 14:36:31 +08:00
..