Skip to content

fix(in-page-channel): connect panels nested in popup windows - #383

Open
SaKaNa-Y wants to merge 1 commit into
devframes:mainfrom
SaKaNa-Y:fix/popup-panel-handshake
Open

fix(in-page-channel): connect panels nested in popup windows#383
SaKaNa-Y wants to merge 1 commit into
devframes:mainfrom
SaKaNa-Y:fix/popup-panel-handshake

Conversation

@SaKaNa-Y

Copy link
Copy Markdown
Contributor

Problem

The A11y Inspector shows "No page connected" when its panel is rendered in a popup, even though it connects in the embedded dock. The panel iframe has no opener of its own; the popup's opener is the inspected page.

Fix

Include each ancestor window's opener in the default in-page channel handshake targets, deduplicating targets and continuing past inaccessible openers. Existing origin checks remain in place. Update the API comments and add handshake/RPC regression coverage for a direct popup and one or two nested panel frames.

Verification

  • Regression tests failed for nested popup frames before the fix and pass afterward.
  • pnpm lint, pnpm knip, pnpm typecheck, and pnpm build passed.
  • pnpm test --run: 135 test files passed; 1,521 tests passed and 9 skipped.
  • Browser: reproduced the failure in Vite DevTools and the Devframe Hub Vite example. With the rebuilt panel, the Hub example's popup connects to the inspected page, displays accessibility results, and supports rescanning. The updated dependency has not yet been retested in Vite DevTools.

Panel iframes have no opener of their own, so their handshake never
reached the inspected page through the popup window's opener.

Discover openers across the ancestor chain, deduplicate targets, and
cover direct and nested popup handshakes with regression tests.
@coldtea-pr-lens

coldtea-pr-lens Bot commented Sep 13, 2026

Copy link
Copy Markdown

◈ PR Lens

🟢 +0 new · 🟠 ~1 changed · 🔴 -0 removed · 1 flow · 7 files · commit 2ff546b


Architecture

Architecture diagram for devframes/devframe at 2ff546b

1 component touched across 2 lanes.

Open the interactive canvas


Data flow

Data flow diagram for devframes/devframe at 2ff546b

Popup panel handshake discovery

Open the interactive canvas


View

  • Architecture lens
  • Data flow lens
  • Expand every detail

Tip

Run npx skills add coldteadotai/pr-lens, then tell your coding agent: "Diagram the change you just made with PR Lens and attach it to the pull request."

🪧 More tips
  • Run npx @coldtea/pr-lens-cli analyze --base origin/main on a branch, then npx @coldtea/pr-lens-cli render .pr-lens/graph.json. Same lenses, your own model key, before the pull request exists.
  • Untick Architecture lens or Data flow lens under View to hide a diagram, or tick Expand every detail to open every section. The comment redraws in a few seconds.
  • Click the link under each diagram to open it on a canvas you can zoom, pan and step through.
  • The diagrams are links. Click one to open it on the canvas, then press W or click play to walk through the change.
  • Open a diagram on the canvas, then press W or click play to walk through the change one step at a time.
  • The CLI's render reads .github/pr-lens.yml and applies your renames, exclusions and lane pins at draw time.
  • Set github.comment.collapsed: true in .github/pr-lens.yml to fold the comment behind one View architecture and data flow row. Drawing still runs on every push.
  • Add .github/workflows/pr-lens.yml with coldteadotai/pr-lens/packages/action@v0 and your model provider's key as its api-key to run PR Lens from your own CI. Any /chat/completions endpoint works.
  • Push a commit and the comment redraws for the new head. A slow older run never overwrites a newer one.
  • Switch GitHub to dark mode and the diagrams follow. The moving dots are this pull request's data in motion.

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

❤️ Share

@vercel

vercel Bot commented Sep 13, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

1 Skipped Deployment
Project Deployment Actions Updated
devframe Skipped Skipped Sep 13, 2026 2:32am UTC

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