Skip to content

popup: closing the popup mid-hop leaves the ceremony waiting (Firefox/WebKit, rare) #82

Open

Description

@Wondertan

Low priority: Firefox and WebKit only, and only when the user closes the popup at one brief moment.

Problem

In Firefox and WebKit the Prover hops to its COOP isolation fallback, handing its port to the Service Worker for the fallback to claim. If the user closes the popup during that hand-off, nothing claims the port. The worker drops it after 5 s without telling the application (worker.ts:72-79), which skips its window check while it holds a carrier (connection.ts:377-380). proveUserIdentity() never settles.

Proposed fix

On expiry, the worker posts a new control, carrier-expired, on the port before closing it. The application drops the carrier and re-checks the window: a closed or severed one fails with popup-unavailable, and a direct one keeps waiting.

This needs a REQ-POPUP-CONTROL-01 change and a popup e2e test that closes the popup mid-hop. It also makes the comment at connection.ts:720 true, and turns #78's expiry into a prompt failure.

Activity

  1. changed the title [-]popup: closing the popup mid-hop leaves the ceremony waiting forever[/-] [+]popup: closing the popup mid-hop leaves the ceremony waiting (Firefox/WebKit, rare)[/+] on Oct 2, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions