Skip to content

Investigate intermittent modal palette timeout in extension Electron coverage test #1217

Closed

Description

@Juliusolsson05

Observed failure

In CI run 36094935010 on PR #1216, the quality-gate job passed its ordinary Test system stage, including src/main/extensions/electron.system.test.ts, then failed in Enforce coverage baseline on the same Electron journey. The failing assertion was palette access inside a real modal shell timed out at src/main/extensions/testing/electronHarness.ts:320. The snapshot showed the modal iframe mounted, but no open-command-palette message after Ctrl+Shift+K.

The test passed on the same PR commit when run directly via npm run test:extensions:electron, including the modal assertion. The previous main CI run 36094522379 passed the journey in both ordinary and coverage stages. This is evidence of intermittent behavior, not yet a root cause.

Investigation target

The harness waits for pane bindings after rebinding the palette, then renders a modal and immediately sends the modal chord once the extension view mounts. Main stores separate pane and modal binding sets in src/main/extensions/nativeInput.ts. Check whether the modal binding publication or frame focus can race with the harness's key event under load. Record the actual focused frame, pane bindings, modal bindings, and received native input before changing timing or deadlines.

Activity

  1. Juliusolsson05 commented on Sep 25, 2026

    @Juliusolsson05
    OwnerAuthor

    Same failure as #1261 and #1171, all closed by #1300 (merged 1d25b0ed). The palette chord was pressed before Electron's focusedFrame reached the extension frame; the harness now waits for the focused frame. Reopen if palette access inside a real modal shell timed out recurs on a head containing 1d25b0ed. The real-app gap (a chord does nothing until the modal iframe has focus) is #1307.

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

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions