mirror of
https://github.com/openclaw/openclaw.git
synced 2026-10-03 01:29:56 +00:00
Closes #156749
## What Problem This Solves
Fixes: a Chrome Web Store tab makes browser tabs, snapshot, and evaluate fail for every tab after the native-identity recovery in #139275.
## User Impact
Ordinary tabs remain usable while Chrome-protected pages are open. The Gateway logs the excluded tab ID and Chrome's refusal; browser tab output lists only usable targets. Transient failures still reject the complete inventory. This is a Gateway-side fix: the existing Store extension forwards Chrome's errors unchanged, so no new Store release is required. CDP response fields and configuration are unchanged.
## Why This Change Was Made
Classify exact Chrome attach refusals, not URL lists or arbitrary errors. The observed Web Store error is `The extensions gallery cannot be scripted.`; Chromium also defines exact restrictions for chrome:// and other extensions' pages. Classification happens for every newly visited tab, including arrivals during enumeration, and is not cached across requests. A changed URL cannot inherit an earlier exclusion. Diagnostics use the existing warning logger rather than adding a protocol field that tab-list consumers discard.
## Evidence
Real Chrome 153, unpacked extension 2.3.0, an isolated Gateway, and a fresh browser profile with https://example.com/ and https://chromewebstore.google.com/:
- Baseline main `
|
||
|---|---|---|
| .. | ||
| assets | ||
| chrome-extension | ||
| scripts | ||
| skills/browser-automation | ||
| src | ||
| benchmark-api.ts | ||
| bridge-api.ts | ||
| browser-config.ts | ||
| browser-control-auth.ts | ||
| browser-doctor.ts | ||
| browser-maintenance.cold.test.ts | ||
| browser-maintenance.test.ts | ||
| browser-maintenance.transport.test.ts | ||
| browser-maintenance.ts | ||
| browser-profiles.ts | ||
| cli-metadata.ts | ||
| cli-output-mode.ts | ||
| index.test.ts | ||
| index.ts | ||
| native-host-entry.ts | ||
| openclaw.plugin.json | ||
| package.json | ||
| plugin-registration.dashboard-discovery.test.ts | ||
| plugin-registration.node-host-laziness.test.ts | ||
| plugin-registration.session-access.test.ts | ||
| plugin-registration.shutdown.test.ts | ||
| plugin-registration.ts | ||
| register.runtime.ts | ||
| relay-daemon-entry.ts | ||
| runtime-api.ts | ||
| setup-api.ts | ||
| setup-entry.ts | ||
| test-fetch.ts | ||
| test-support.ts | ||
| tsconfig.json | ||