Skip to content

Add Wizard canvas designer setup dialog and advisory E2E checks - #35

Merged
nicolehaugen merged 5 commits into
mainfrom
nicolehaugen-wizard-canvas-generation-dialog
Sep 30, 2026
Merged

nicolehaugen merged 5 commits into
mainfrom
nicolehaugen-wizard-canvas-generation-dialog

Conversation

@nicolehaugen

Copy link
Copy Markdown
Contributor

Summary

  • Add the additive Canvas designer setup dialog for canvas-design presets, extensions, and bundles in Copilot and Community catalogs. Bundle selections inspect and preselect matching standalone components without changing the Wizard's configuration; launching a designer session remains disabled.
  • Improve community selection warnings in the dialog and catalog.
  • Add two deterministic Playwright browser tests and an advisory PR workflow that runs them for Wizard-plugin changes.

Verification

  • Wizard unit suite passed (301 tests).
  • Playwright browser suite passed (2 tests).

The E2E check is advisory; this PR does not change branch protection.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot AI balanced review requested due to automatic review settings September 29, 2026 22:39

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot review overview

🟡 Changes recommended

Real Community bundles are rejected by source-ID mismatches, valid step-bearing bundles fail inspection, and cross-source Community members bypass confirmation.

Review effort: Balanced
Findings: 1 High severity · 2 Medium severity

Open (3)
What changed in this PR

Adds the first-stage Canvas designer setup UI and advisory browser testing.

Changes:

  • Adds catalog-filtered designer selections and bundle inspection.
  • Strengthens Community warnings and responsive modal styling.
  • Adds unit/E2E coverage and an advisory GitHub Actions workflow.
File Description
.gitignore Ignores Playwright results.
.github/​workflows/​wizard-e2e.yml Adds advisory E2E CI.
.../​README.md Documents the designer and tests.
.../​catalog/​bundles.mjs Inspects bundle members.
.../​catalog/​shared.mjs Hydrates catalog tags.
.../​catalog/​sources.mjs Adds the Copilot extension source.
.../​e2e/​canvas-designer.spec.mjs Tests designer browser behavior.
.../​e2e/​server.mjs Provides deterministic E2E data.
.../​extension.mjs Bootstraps the Copilot extension catalog.
.../​package-lock.json Locks Playwright dependencies.
.../​package.json Adds the E2E script and dependency.
.../​playwright.config.mjs Configures Playwright.
.../​server.mjs Adds bundle inspection API.
.../​test/​canvas-designer-dialog.test.mjs Tests designer selection logic.
.../​test/​catalog.test.mjs Tests tags and bundle parsing.
.../​test/​modals.test.mjs Tests Community warnings.
.../​test/​server-integration.test.mjs Tests inspection endpoint validation.
.../​ui/​canvas-designer-dialog.js Implements the setup dialog.
.../​ui/​index.html Updates Community warning markup.
.../​ui/​modals.js Adds selection-mode warning behavior.
.../​ui/​phase-runtime.js Adds the Generate canvas action.
.../​ui/​styles/​catalog.css Styles Community warnings.
.../​ui/​styles/​overlays.css Styles the designer dialog.
.../​ui/​styles/​pipeline.css Improves pipeline action layout.
Files not reviewed (1)
  • plugins/spec-kit-copilot-wizard/extensions/speckit-wizard-canvas/package-lock.json: Generated file

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

nicolehaugen and others added 2 commits September 29, 2026 18:15
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot AI balanced review requested due to automatic review settings September 29, 2026 23:33

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot review overview

🟡 Changes recommended

Copilot bundles cannot be hydrated into the production dialog despite being part of the stated scope.

Review effort: Balanced
Findings: 1 Medium severity

Open (1)
Resolved since last review (3)
Files not reviewed (1)
  • plugins/spec-kit-copilot-wizard/extensions/speckit-wizard-canvas/package-lock.json: Generated file

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot AI balanced review requested due to automatic review settings September 29, 2026 23:46

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot review overview

🔵 Needs a closer look

The new nested modal and tab interface have unresolved keyboard and assistive-technology accessibility issues.

Review effort: Balanced
Findings: None

Resolved since last review (1)
Files not reviewed (1)
  • plugins/spec-kit-copilot-wizard/extensions/speckit-wizard-canvas/package-lock.json: Generated file
Previously missed (2)

In code that hasn't changed since last review

Medium severity Implement keyboard navigation for the ARIA tablist

plugins/​spec-kit-copilot-wizard/​extensions/​speckit-wizard-canvas/​ui/​canvas-designer-dialog.js:111

This tablist does not implement keyboard tab navigation: every tab remains in the normal tab order, and the handlers below only respond to clicks. For an ARIA tab widget, keep only the selected tab at tabindex="0", use tabindex="-1" for the others, and handle ArrowLeft/ArrowRight (plus Home/End) to move focus and activate the corresponding panel; otherwise keyboard and assistive-technology users do not get expected tab behavior.

Medium severity Hide the underlying dialog while the community warning is open

plugins/​spec-kit-copilot-wizard/​extensions/​speckit-wizard-canvas/​ui/​canvas-designer-dialog.js:152

Opening the community warning here leaves the underlying designer dialog exposed as a second aria-modal="true" dialog. Although focus is moved visually, screen-reader browse navigation can still enter the designer while the warning is active. Make the designer backdrop inert/hidden from assistive technology while the confirmation is open, then restore it before returning focus when either callback closes the warning.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot AI balanced review requested due to automatic review settings September 30, 2026 00:02

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot review overview

🟢 Approval recommended

The additive flow is well-contained and backed by comprehensive unit and browser coverage.

Review effort: Balanced
Findings: None

Files not reviewed (1)
  • plugins/spec-kit-copilot-wizard/extensions/speckit-wizard-canvas/package-lock.json: Generated file

@nicolehaugen
nicolehaugen added this pull request to stack #37 September 30, 2026 00:38
@nicolehaugen
nicolehaugen removed this pull request from stack #37 September 30, 2026 01:44
@nicolehaugen
nicolehaugen added this pull request to stack #39 September 30, 2026 01:45
@nicolehaugen
nicolehaugen merged commit 5d8e8a3 into main Sep 30, 2026
10 checks passed
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.

2 participants