Repository navigation
Add native shared tab-row tools protocol - #27133
Conversation
|
Bead |
Bugbot needs on-demand usage enabledBugbot uses usage-based billing for this team and requires on-demand usage to be enabled. A team admin can enable on-demand usage in the Cursor dashboard. |
Default changesThis pull request changes 5 defaults at
Signed off on this commit by Merge receipt: merged as Regenerate the snapshot with |
|
cmux status (one comment, edited in place; each line is updated by the job that owns it) Review App of this head (app.zip, kept 1 day)
red: cmux-next checks (god files, concurrency, crash safety, l10n); no finished base run on 6c8bc64 to compare; do not merge until green; see lane-rules |
|
Review (gpt-6-astra): SHIP at 04d77c1 |
|
Fleet check of a4e09e8 (the frozen head; cc4d616 was not used).
Suites in the Mac step. Each one has no result (build failed), which is not a pass: AgentPaneTabRowToolsTests, AgentPaneTabRowHolesTests, AgentPaneTabRowNeedTests, AgentPageProviderEventsTests, PaneMoreOverflowButtonTests, PaneChromeEvenInsetTests, PaneMoreShotsTests, AgentInteropAccessibilityTests, HomeDockTabRowToolsTests, PaneTabBarControlsTests, TabBarRestingControlsTests, PaneDiscoverabilityTests. Both runs report the same compile errors. They come from this PR's files in
Likely causes, from reading the tree at this sha:
These are this PR's own reds, not base reds: the errors are in the files this PR adds or changes. |
|
Fleet check of 04d77c1. This replaces the a4e09e8 comment above.
Suites in the Mac step. Each one has no result (build failed), which is not a pass: AgentPaneTabRowToolsTests, AgentPaneTabRowHolesTests, AgentPaneTabRowNeedTests, AgentPageProviderEventsTests, PaneMoreOverflowButtonTests, PaneChromeEvenInsetTests, PaneMoreShotsTests, AgentInteropAccessibilityTests, HomeDockTabRowToolsTests, PaneTabBarControlsTests, TabBarRestingControlsTests, PaneDiscoverabilityTests. The main-actor isolation errors in
Likely fix: the package builds with This is the PR's own red, not a base red. |
|
Review (gpt-6-astra): SHIP at b1b2d35 |
|
Review (codex gpt-6-astra): BLOCK at f1f053f
|
|
Review (codex gpt-6-astra): BLOCK at b0d6113 P2 — P1/P3: no additional findings. |
Bugbot needs on-demand usage enabledBugbot uses usage-based billing for this team and requires on-demand usage to be enabled. A team admin can enable on-demand usage in the Cursor dashboard. |
|
Review (codex gpt-6-astra): BLOCK at e6bc95d P1: None. P2: P3: None.
|
|
Review (codex gpt-6-astra): SHIP at f8e3ebd No P1/P2/P3 findings in this delta.
Main-actor isolation holds for view, owner, and iterator access. Static review only; no runtime tests executed. Scope: delta review of e6bc95d..f8e3ebd, covering the findings in the BLOCK at e6bc95d. Fleet at this head (relayed by the coordinator): compile-tests 27/27 PASS; AgentPaneNativeToolsHostTests, AgentPaneTabRowToolsTests, AgentPaneFramelessChromeTests, PaneMoreOverflowButtonTests and PaneNativeToolOwnershipTests PASS. AgentPageProviderEventsTests fails |
|
Shipped in:
|
Native shared tab-row tools (PR a)
Build the native mechanism for content-supplied trailing tools in the shared tab row. Agent pages publish a bounded declarative list with
pane.tabRowTools.set; nativePaneToolbarViewrenders symbols, toggles, badges and press-open menus, and sendstabRowToolInvoked {id, menuItemId?}back through the page host. ThetabRowevent now includesnativeRowToolsso the publisher can gate its layout.Leo said:
The migration tunable is
chrome.tabs.nativeRowTools, default OFF while this series lands. This PR does not remove the existing web tools hole or clearance CSS. The final series PR will flip the default and remove both together so the migration cannot stall behind a Debug switch.Risk: normal. Swift cannot be built on this VM;
python3 scripts/cmux-next/prepush-gate.pypassed locally. A standalone SwiftFormat binary is unavailable here. Added decoding bounds tests and the tab-row event/op coverage. Fleet compile and Swift suites will be run by the coordinator.Leo's standing direction:
Menu rows are page-declared actions: native returns their IDs and the page owns execution, like WebContextMenu. The menu-action baseline explicitly allows this one row builder; the checker and other allowances are unchanged. Keyboard Space and VoiceOver open the same press menu as a mouse press.
Validation at 909b6a9: menu-action guard, prepush gate and diff whitespace check pass locally. The new native keyboard-menu regression test requires the Mac suite. The prior aggregate check's No new SwiftUI failure reproduces identically on base 920ece1: HomeChatColorsPanel.swift and HomeChatColorsView.swift import SwiftUI outside the allowlist. The prior fast-tier failure is artifact upload ETIMEDOUT; its execution outcome is separate from upload evidence.
Need help on this PR? Tag
@codesmith-botwith what you need.Summary by cubic
Adds the native protocol for content-supplied tools in the shared tab row, moving chat header controls from a web-rendered overlay into native Swift buttons.
pane.tabRowTools.set;PaneToolbarViewrenders them as symbols, toggles, badges, and press-open menus, and sendstabRowToolInvoked {id, menuItemId?}back through the page host.tabRowevent now includesnativeRowToolsso the publisher can gate its layout; native tools only render for the shared page host with a return event stream.chrome.tabs.nativeRowTools(default OFF); the existing web tools hole and clearance CSS stay until the final PR of the series flips the default and removes both together.Migration
No action needed while the tunable is off. A final PR in the series will flip the default and remove the web tools hole and clearance CSS.
Written for commit e6bc95d. Summary will update on new commits.
Capture
tour-agent-paneat1ade7ac0e9d4(fleet build, capture mini, text checked for private data)Agent session: agent session