fix(desktop): browser extension follow-ups: agent panes, install questions, CLI deadline
Merged
KI
6d ago+812+812+012345678901234567890123456789-120-120-012345678901234567890123456789
Follow-ups to #9221 and #9306 (Chrome extensions in the browser pane). First of a stack of five.
Changes
- Agent panes no longer show the puzzle button or pinned icons. They use the agent session, which has no extensions.
- New extensions stay unpinned, as in Chrome. Pin them from the Extensions menu or with
superset browser extensions pin. - Install, update and permission questions list each kind of access on its own bulleted line. They use Chrome's wording instead of raw API names, e.g. "Block content on any page" for
declarativeNetRequest. They show the extension's icon, and so does the in-app Remove dialog. - Pinned icons draw at 12px with the small count badge, matching the toolbar's line icons.
- Space in the Extensions menu pins a row only when the user isn't typing a name to jump to a row.
- Right-click menu: an extension whose menu code throws no longer stops the page's right-click menu from opening.
- CLI install/remove questions close as a no after 50 s, or when the caller hangs up. Over the relay the CLI gives up at 65 s, and a later yes used to install or remove anyway. The bridge now answers 408 with "Nothing changed".
- Bridge errors keep their meaning through host-service: 403 FORBIDDEN, 408 TIMEOUT, 503 PRECONDITION_FAILED.
- Remove before the extension host starts now fails instead of reporting success. Installing the app's bundled extension's ID says it is built in.
Testing
- Unit: bridge deadline, pin forwarding, missing ID, right-click guard (fails without the fix), bullet formatting, icon choice.
- Dev app over CDP:
- agent pane toolbar has no extension buttons; user pane keeps them
- typing "google t" in the menu jumps without pinning; a lone Space pins
- an unanswered CLI install returns "Nothing changed" after 51 s, the question closes, and nothing is installed
- the install question shows bullets and the icon
- Translations written for all 17 locales.
Summary by cubic
Follow-ups to the Chrome extension support in the browser pane (#9221, #9306); first of a stack of five. Tightens the extension UI and fixes CLI and bridge edge cases.
Behavior
- Agent panes no longer show the puzzle button or pinned icons.
- New extensions stay unpinned, as in Chrome; pin them from the menu or with
superset browser extensions pin. - Install, update and permission questions list each kind of access on its own bulleted line using Chrome's wording, and show the extension's icon; the in-app Remove dialog shows it too.
- Pinned icons draw at 12px with the small count badge.
- A Space in the Extensions menu pins a row only when the user isn't type-ahead searching for one.
- An extension whose right-click menu code throws no longer prevents the page's menu from opening.
- Removing before the extension host starts now fails instead of reporting success; installing the app's bundled extension's ID reports it is built in.
CLI and bridge
- CLI install and remove questions close as a no after 50 s or when the caller hangs up; the bridge answers 408 with "Nothing changed", so a later yes can no longer install after the CLI reported failure.
- Bridge errors keep their meaning through host-service: 403 FORBIDDEN, 408 TIMEOUT, 503 PRECONDITION_FAILED.
Translations written for all 17 locales.
Summary by CodeRabbit
- New Features
- Extension installation and removal now require confirmation, with requests timing out if no response is received.
- Confirmation dialogs show extension icons and clearer, localized permission details.
- Extensions menu supports type-to-select search, and pinning is now a separate action after installation.
- Bug Fixes
- Context menus remain available when an extension fails to provide its menu items.
- Improved error reporting for extension actions and unavailable browser extensions.