fix(lens): recover crashed sessions, preserve login popups, and expand inspection - #561
Merged
Merged
Conversation
…d inspection Fix Lens and external-browser failures that made the surface unusable, and raise inspection quality: - Reset the recovery budget and recreate the session on manual retry/navigate so a tab whose auto-recovery was exhausted can be reloaded instead of dying with "No browser session". - Preserve the opener link and POST data for login popups by using Electron's native window-open path while keeping the security checks, so auth flows that rely on window.opener.postMessage or a posted form no longer break. - Add a control to open DevTools for the current Lens page. - Simplify the Lens toolbar. - Improve inspect/annotate pointer tracking: drop hover delay, recheck the stationary pointer on scroll/resize via requestAnimationFrame coalescing, and select the parent element with Alt. - Enrich element context with React component/source metadata and attach the selected region image. - Fix local CUA runner compatibility so the external browser runtime initializes. Adds unit coverage for pointer coalescing and shadow-host hit-testing, plus Electron e2e coverage for the new browser controls, and documents the quality bar in docs/features/lens-quality.md.
astyfx
requested review from
JongSikLim and
png-1105
and removed request for
a team
September 19, 2026 12:11
|
| CVE | Package | Version | Fix |
|---|---|---|---|
| CVE-2026-6321 | fast-uri |
3.1.0 |
3.1.1 |
| CVE-2026-75975 | fast-uri |
3.1.0 |
3.1.6 |
| CVE-2026-6322 | fast-uri |
3.1.0 |
3.1.2 |
| CVE-2026-76172 | fast-uri |
3.1.0 |
3.1.6 |
| CVE-2026-16221 | fast-uri |
3.1.0 |
3.1.4 |
| CVE-2026-18446 | fast-uri |
3.1.0 |
3.1.5 |
| CVE-2026-13676 | fast-uri |
3.1.0 |
3.1.3 |
View full analysis in Upwind Console
Scan completed in 18s
Scan history (1 scan)
| Commit | Scanned at | New | Resolved | Net |
|---|---|---|---|---|
4e4cdc2 < |
2026-09-19 12:11 UTC | +7 | 0 | +7 |
Last scanned: 4e4cdc2 · 2026-09-19 12:11 UTC
|
| Commit | Scanned at | New | Resolved | Net |
|---|---|---|---|---|
4e4cdc2 < |
2026-09-19 12:11 UTC | 0 | 0 | 0 |
Last scanned: 4e4cdc2 · 2026-09-19 12:11 UTC
astyfx
enabled auto-merge (squash)
September 19, 2026 12:11
Merged
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Fix the Lens and external-browser failures that made the surface unusable, and raise Lens inspection quality (DevTools access, better pointer/component detection, simpler toolbar).
Changes
Features
Fixes
window.opener.postMessageor a posted form no longer breakRefactors / Chores
browser-pointer.ts,browser-component-context.ts)Breaking Changes
Test Evidence
bun run test:cipassed end to end (exit 0):check:licenses,check:reliability-gates,check:style-channel,check:doc-paths,check:max-lines-ratchet,check:switch-exhaustiveness,typecheck,typecheck:lens-main,test:isolated,build, andbuild:desktop.tests/lens-pointer.test.ts(pointer move coalescing + scroll recheck; shadow-host hit-test boundary) passes.tests/e2e-electron/lens-browser-controls.electron.e2e.ts.Notes
bun testrun shows a pre-existing environmental failure profile (62 fail / 11 errors) caused by theelectronmodulewebContentsexport not resolving under full-suite parallelism. This profile is identical on a cleanorigin/maincheckout and is unrelated to this change; the authoritative gate (test:isolated/test:ci) is green. CI runs the isolated variant.@web/Chrome needs a fresh interactive session), so the "quality target" is documented indocs/features/lens-quality.mdrather than asserted as fully met.