Backend may not always resolve ref to element name (e.g. when snapshot
cache is empty). Strip internal ref IDs from the display text on the
frontend side as a safety net so users never see "Click: ref=e171".
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Cache the latest ARIA snapshot text and use it to resolve internal
ref IDs (e.g. "e621") to human-readable element descriptions
(e.g. 'button "Submit"') in action payloads. Falls back to other
readable args (text, value, url) when ref can't be resolved.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Remove "ref" from the fallback detail fields so overlay and sidebar
show human-readable info (element text, value, url) instead of
internal ARIA ref numbers like "ref=e621".
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Use the action name (e.g. "Select", "Click", "Type") as the primary
overlay summary text instead of raw tool parameters like
"ref=e621, value=4 - Low". Short details are appended when brief enough.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Chrome MV3 service workers sleep after ~30s idle, dropping the
WebSocket connection. Send a PING every 20s to keep it alive.
Backend ignores PING messages silently.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Content script re-injects on navigation, resetting overlay state.
Track isAgentTaskRunning in background and re-send aurora state when
content script sends OVERLAY_READY after reload.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Remove overlay/bridge.js that exposed window.__eigentOverlay to page
context (XSS risk: any page JS could control the overlay)
- Remove bridge.js from manifest content_scripts
- Clean up console.log debug statements in content.js
- Remove bridge event listeners from content.js
- Refactor highlightElement to reuse resolveElementRect instead of
duplicating the 4-method element lookup logic
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Update _default_tab_id when receiving START_TASK so CDP commands
target the correct tab instead of a stale/detached one.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Includes sidepanel UI, background service worker with WebSocket
connection to eigent backend, CDP debugger management, and
auto-reconnect/tab-lock/settings-persistence robustness features.
Enable real-time token streaming from ChatAgent to Chrome extension UI
by setting stream=True in model config and async-iterating over response
chunks, sending each text delta immediately via STREAM_TEXT.
- Add ExtensionProxyWrapper support for browser_plug Chrome extension
- Extension proxy managed via dedicated Extension settings page
- Backend starts WebSocket server on connect, polls for extension status
- Multi-tab parallelism: each sub-agent gets its own browser tab
- Extension proxy mode is exclusive (no CDP fallback when connected)
- Add extension_proxy_service singleton and controller endpoints
- Use local camel package instead of PyPI version