How it works What it captures Compare Pricing Blog Join the waitlist
v1.2.0 Major
9 Jun, 2026

Phase 1 ships: element coordinates captured, double-submit guard, and update interruption handling

Phase 1 of the build-out shipped. 4 correctness items that needed to be in place before any further work could begin.

The first: element coordinates are now captured with every pick. The x, y, width, and height of the element get stored in the capture alongside everything else. This is required for CDP Track 2, which will use the coordinates to resolve @layer priority on cross-origin sites in a later phase.

The second: a double-submit guard was added to the Diagnose button. Clicking it twice rapidly was able to consume 2 credits and write 2 session rows. The guard prevents startDiagnosing() from being re-entered while a diagnosis is already in flight.

The third and fourth: when an extension update happens while a capture is in progress, the service worker now writes a flag to storage. The next time the popup opens, it reads that flag, shows a notice that says “Lens updated while you were capturing. Pick your element again,” and resets to idle instead of trying to resume a capture that’s no longer valid.

What it answers

– why did lens charge me twice for one diagnosis
– what happens when lens updates while i’m capturing
– why does lens say pick your element again after an update
– what is element_rect in the lens capture file
– what shipped in lens phase 1

Why we built it

The double-submit bug was a real credit loss. The update interruption was a known bad state with no recovery path. Both needed to be closed before build-out.