feat(browser): spin up browser cells from the command center - #3182
Conversation
|
React Doctor found no issues in the changed files. 🎉 Reviewed by React Doctor for commit |
|
Reviews (1): Last reviewed commit: "feat(browser): spin up browser cells fro..." | Re-trigger Greptile |
b4db740 to
7ca9a4e
Compare
9ff83d8 to
eba66a5
Compare
82f4907 to
deae0e5
Compare
dff59a3 to
af47528
Compare
There was a problem hiding this comment.
This review was skipped because it would exceed your organization's monthly flex usage limit. Raise the limit in billing settings or wait until the next billing period resets limits.
There was a problem hiding this comment.
Clean additive feature: browser cell type wired up alongside the existing terminal/task/brainrot cells using the same prefix-encoding pattern. Core logic stays in @posthog/core, UI in @posthog/ui, store actions are correctly guarded, and the one resolved inline bot comment was a minor useCallback style concern with no correctness impact on native buttons.
- Browser option in the command center empty-cell picker, next to Terminal and Brainrot (same feature flag as the browser tab) - Cells persist as __browser__:<url> and restore their page on reload - Cell header shows page title, falling back to the url hostname - Guarded url persist so stale navigation callbacks can't clobber a replaced cell Generated-By: PostHog Code Task-Id: e40b2af6-d887-4ee5-8b0e-46ea3e1f0b7d
BrowserCell copied TerminalCell's frame verbatim (header icon + title + remove button, body wrapper). Extract CellFrame so each cell keeps only its distinctive parts. Generated-By: PostHog Code Task-Id: e40b2af6-d887-4ee5-8b0e-46ea3e1f0b7d
af47528 to
65282d9
Compare
New commits pushed (delta classified non_linear_history) — stamphog approval dismissed; re-review running automatically.
There was a problem hiding this comment.
Clean additive feature following the established prefix-encoding pattern for cell types. Core logic stays in @posthog/core, UI in @posthog/ui, store guards are correct (bounds check in setBrowserCell, type guard in updateBrowserCellUrl), the null vs falsy distinction for empty-string URLs is handled properly, and the tests cover the tricky delimiter-in-URL edge case.
Problem
Stacked on #3181. The command center can spin up tasks and terminals in grid cells, but not the new browser — you should be able to drop a browser next to a running task the same way.
Changes
CleanShot.2026-07-06.at.13.14.47.mp4
posthog-code-browser-tabflag)__browser__:<url>(mirrors__terminal__:<id>) so the page restores on app reloadBrowserCellreusesBrowserPanelfrom feat(browser): in-app browser tab with webview security hardening #3181; header shows the page title, falling back to the url hostnameupdateBrowserCellUrlis guarded so a stale debounced navigation callback can't clobber a cell that was reassignedNo new security surface: the webview and all main-process guards are the ones shipped in #3181.
How did you test this?
command-center+browsersuites pass (125 tests), typecheck + biome cleanAutomatic notifications
Created with PostHog Code