Skip to content

fix(site,browser): store extension ids, snippet overflow, privacy page#110

Merged
cnjack merged 2 commits into
mainfrom
fix/browser-store-ids-and-site
Jul 4, 2026
Merged

fix(site,browser): store extension ids, snippet overflow, privacy page#110
cnjack merged 2 commits into
mainfrom
fix/browser-store-ids-and-site

Conversation

@cnjack

@cnjack cnjack commented Jul 4, 2026

Copy link
Copy Markdown
Owner

Follow-ups after the browser-use feature (#107) shipped, gathered while preparing the Browser Bridge extension for the Chrome/Edge stores and deploying the site.

Site

  • Privacy page — new /privacy route + page (privacy policy required by the extension store listings) and a footer link. Now live at https://www.j-code.net/privacy.
  • Snippet overflow — the install command overflowed its box on desktop because .hero-install / .cli-install were white-space: nowrap. Now they wrap (overflow-wrap: anywhere) and the copy button stays pinned in its reserved right padding.
  • Showcase auto-scroll — sandboxed demo iframes call focus() on load, which scrolled the whole page to the middle. A window-blur guard bounces focus off the iframe and restores the user's scroll position.

Extension

  • Removed the unused scripting permission (stores reject unused permissions).
  • Made the manifest description browser-neutral (Edge flags references to "chrome").

Browser native host

  • allowed_origins now lists every id the extension can have — the unpacked dev id plus the Chrome Web Store id (olkapiiikpfhaccmjphakolinkcggcbd) — instead of only the dev id. Without this, a store-installed extension is blocked by the browser from opening the native messaging host, so Auto-connect would fail.
  • TODO: add the Edge Add-ons runtime extension id (a 32-char id, not the Partner Center product id 0RDCKGMRP90R) once the extension is published, so Edge store installs can connect too.

Tests: go build ./..., go test ./internal/browser/ ./internal/runner/, and the site tsc -b && vite build all pass. Site changes are already deployed and verified live over curl.

Generated with Jack AI bot

@coderabbitai

coderabbitai Bot commented Jul 4, 2026

Copy link
Copy Markdown

Review Change Stack

Warning

Review limit reached

@cnjack, you've reached your PR review limit, so we couldn't start this review.

Next review available in: 43 minutes

Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available.
You're only billed for reviews past your plan's rate limits ($0.25/file).

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.

How do review limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 14023897-1a7a-45d8-aacf-7420ea84097e

📥 Commits

Reviewing files that changed from the base of the PR and between 4a1f48f and 2deb48c.

📒 Files selected for processing (19)
  • extension/README.md
  • extension/manifest.json
  • internal/agent/agent.go
  • internal/browser/discover.go
  • internal/browser/nativehost.go
  • internal/browser/nativehost_test.go
  • internal/command/interactive.go
  • internal/command/web.go
  • internal/team/manager.go
  • internal/telemetry/langfuse.go
  • internal/tools/subagent.go
  • site/src/App.tsx
  • site/src/components/SiteFooter.tsx
  • site/src/pages/PrivacyPage.tsx
  • site/src/pages/ShowcasePage.tsx
  • site/src/pages/cli.css
  • site/src/pages/home.css
  • site/src/pages/legal.css
  • site/src/styles/global.css
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/browser-store-ids-and-site

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

Site:
- Add /privacy page (privacy policy for the Browser Bridge extension store
  listings) with a footer link.
- Fix the install-command snippet overflowing its box on desktop: .hero-install
  and .cli-install now wrap instead of nowrap, so the copy button stays pinned
  in its reserved padding.
- Showcase: bounce focus off the sandboxed demo iframes so they can't steal
  focus on load and scroll the whole page to the middle.

Extension:
- Drop the unused `scripting` permission (store rejection risk) and make the
  manifest description browser-neutral (Edge flags references to "chrome").

Browser native host:
- allowed_origins now lists every id the extension can have (unpacked dev id +
  Chrome Web Store id), not just the dev id, so a store-installed extension can
  open the native messaging host. Edge runtime id still to be added.

Generated with Jack AI bot
@cnjack cnjack force-pushed the fix/browser-store-ids-and-site branch from 7891f7e to 0d51b51 Compare July 4, 2026 03:13
…dleware

eino v0.9.9 deprecated adk.AgentMiddleware (struct-based) in favour of
ChatModelAgentMiddleware (interface-based Handlers); staticcheck SA1019 was
failing CI on main. Migrate the Langfuse tracer and every call site:

- langfuse.go: replace the AgentMiddleware struct (BeforeChatModel /
  AfterChatModel / WrapToolCall) with a langfuseMiddleware type that embeds
  adk.BaseChatModelAgentMiddleware and overrides BeforeModelRewriteState /
  AfterModelRewriteState / WrapInvokableToolCall. Behaviour (model-generation
  and tool-call spans, sub-span context) is preserved.
- agent.go / interactive.go / web.go / subagent.go / team/manager.go: thread
  []adk.ChatModelAgentMiddleware and pass tracing via Handlers (outermost)
  instead of the deprecated Middlewares field. Drops a //nolint:staticcheck
  workaround in web.go.

golangci-lint now reports 0 issues; go build/vet and tests pass.

Generated with Jack AI bot
@cnjack cnjack merged commit 65f9fc8 into main Jul 4, 2026
3 checks passed
@cnjack cnjack deleted the fix/browser-store-ids-and-site branch July 4, 2026 03:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant