Skip to content

Add Chromium Control Canvas extension#1994

Open
AndreaGriffiths11 wants to merge 1 commit into
stagedfrom
contrib/chromium-control-canvas
Open

Add Chromium Control Canvas extension#1994
AndreaGriffiths11 wants to merge 1 commit into
stagedfrom
contrib/chromium-control-canvas

Conversation

@AndreaGriffiths11

@AndreaGriffiths11 AndreaGriffiths11 commented Jun 14, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Add the Chromium Control Canvas extension under extensions/chromium-control-canvas
  • Include the canvas control UI, extension metadata, package metadata, and README installation notes

Validation

  • node --check extensions/chromium-control-canvas/extension.mjs
  • npm run build
  • npm run skill:validate
  • npm run website:data

@github-actions github-actions Bot added the targets-main PR targets main instead of staged label Jun 14, 2026

@github-actions github-actions Bot 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.

⚠️ This PR targets main, but PRs should target staged.

The main branch is auto-published from staged and should not receive direct PRs.
Please close this PR and re-open it against the staged branch.

You can change the base branch using the Edit button at the top of this PR,
or run: gh pr edit 1994 --base staged

@github-actions

Copy link
Copy Markdown
Contributor

🔴 Contributor Reputation Check: HIGH risk

Check Risk
Profile HIGH
Credential audit NONE

Maintainers: please review this contributor before merging.
See the workflow run for full details.
Automated check powered by AGT.

@github-actions github-actions Bot added the needs-review:HIGH Contributor reputation check flagged HIGH risk label Jun 14, 2026
Comment thread extensions/chromium-control-canvas/extension.mjs Dismissed
GitHub Advanced Security finished work on behalf of AndreaGriffiths11 June 14, 2026 16:47
@AndreaGriffiths11 AndreaGriffiths11 changed the base branch from main to staged June 14, 2026 17:51
@github-actions github-actions Bot added branched-main PR appears to include plugin files materialized from main external-plugin PR updates plugins/external.json and removed targets-main PR targets main instead of staged labels Jun 14, 2026
github-actions[bot]
github-actions Bot previously approved these changes Jun 14, 2026

@github-actions github-actions Bot 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.

✅ Base branch is now set correctly.

Removing the prior block because this PR no longer targets main.

@github-actions

Copy link
Copy Markdown
Contributor

🔴 Contributor Reputation Check: HIGH risk

Check Risk
Profile HIGH
Credential audit NONE

Maintainers: please review this contributor before merging.
See the workflow run for full details.
Automated check powered by AGT.

@github-actions

Copy link
Copy Markdown
Contributor

🔴 Contributor Reputation Check: HIGH risk

Check Risk
Profile HIGH
Credential audit NONE

Maintainers: please review this contributor before merging.
See the workflow run for full details.
Automated check powered by AGT.

@AndreaGriffiths11 AndreaGriffiths11 force-pushed the contrib/chromium-control-canvas branch from 2e8fad6 to dbcb140 Compare June 14, 2026 18:03
@github-actions github-actions Bot removed branched-main PR appears to include plugin files materialized from main external-plugin PR updates plugins/external.json labels Jun 14, 2026
@github-actions

Copy link
Copy Markdown
Contributor

🔴 Contributor Reputation Check: HIGH risk

Check Risk
Profile HIGH
Credential audit NONE

Maintainers: please review this contributor before merging.
See the workflow run for full details.
Automated check powered by AGT.

@AndreaGriffiths11 AndreaGriffiths11 force-pushed the contrib/chromium-control-canvas branch from dbcb140 to ba9d245 Compare June 14, 2026 18:09
@github-actions

Copy link
Copy Markdown
Contributor

🔴 Contributor Reputation Check: HIGH risk

Check Risk
Profile HIGH
Credential audit NONE

Maintainers: please review this contributor before merging.
See the workflow run for full details.
Automated check powered by AGT.

@AndreaGriffiths11 AndreaGriffiths11 marked this pull request as ready for review June 14, 2026 18:16
Copilot AI review requested due to automatic review settings June 14, 2026 18:16
@github-actions

Copy link
Copy Markdown
Contributor

🔴 Contributor Reputation Check: HIGH risk

Check Risk
Profile HIGH
Credential audit NONE

Maintainers: please review this contributor before merging.
See the workflow run for full details.
Automated check powered by AGT.

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.

Pull request overview

Adds a new Copilot Canvas extension (chromium-control-canvas) that launches/attaches to a real headful Chromium instance via Playwright, exposing a small control-strip UI in the canvas panel and agent-callable actions for navigation, inspection, and interaction.

Changes:

  • Introduces a new extension runtime (extension.mjs) that manages Chromium lifecycle, a loopback control server, and agent actions (navigate/snapshot/click/type/screenshot).
  • Adds the panel UI (index.html) and installation documentation (README.md) for using the extension.
  • Adds extension/package metadata (copilot-extension.json, package.json, package-lock.json) including Playwright dependency.
Show a summary per file
File Description
extensions/chromium-control-canvas/README.md Documents purpose, install steps, prerequisites, and supported agent actions.
extensions/chromium-control-canvas/package.json Declares extension package metadata and dependencies.
extensions/chromium-control-canvas/package-lock.json Locks dependency graph for the extension.
extensions/chromium-control-canvas/index.html Implements the canvas panel control-strip UI and preview behavior.
extensions/chromium-control-canvas/extension.mjs Implements Chromium/Playwright control plane, loopback HTTP server, and canvas actions.
extensions/chromium-control-canvas/copilot-extension.json Declares extension identity metadata for the host.

Copilot's findings

Files not reviewed (1)
  • extensions/chromium-control-canvas/package-lock.json: Generated file
  • Files reviewed: 5/6 changed files
  • Comments generated: 6

Comment thread extensions/chromium-control-canvas/README.md Outdated
Comment thread extensions/chromium-control-canvas/extension.mjs
Comment thread extensions/chromium-control-canvas/index.html Outdated
Comment thread extensions/chromium-control-canvas/extension.mjs
Comment thread extensions/chromium-control-canvas/extension.mjs
Comment thread extensions/chromium-control-canvas/extension.mjs

@aaronpowell aaronpowell 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.

There are some high-risk warnings from the code review - can you review them and determine if anything needs addressing

@AndreaGriffiths11 AndreaGriffiths11 force-pushed the contrib/chromium-control-canvas branch from ba9d245 to 55e8dd8 Compare June 15, 2026 15:40
@github-actions

Copy link
Copy Markdown
Contributor

🔴 Contributor Reputation Check: HIGH risk

Check Risk
Profile HIGH
Credential audit NONE

Maintainers: please review this contributor before merging.
See the workflow run for full details.
Automated check powered by AGT.

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's findings

Files not reviewed (1)
  • extensions/chromium-control-canvas/package-lock.json: Generated file
  • Files reviewed: 5/6 changed files
  • Comments generated: 4

Comment thread extensions/chromium-control-canvas/extension.mjs
Comment thread extensions/chromium-control-canvas/README.md Outdated
Chromium binary from inside that folder:

```sh
cd ~/.copilot/extensions/chromium-control-canvas
Comment thread extensions/chromium-control-canvas/README.md Outdated
@AndreaGriffiths11 AndreaGriffiths11 force-pushed the contrib/chromium-control-canvas branch from 55e8dd8 to f0b6ecf Compare June 15, 2026 15:55
@github-actions

Copy link
Copy Markdown
Contributor

🔴 Contributor Reputation Check: HIGH risk

Check Risk
Profile HIGH
Credential audit NONE

Maintainers: please review this contributor before merging.
See the workflow run for full details.
Automated check powered by AGT.

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's findings

Files not reviewed (1)
  • extensions/chromium-control-canvas/package-lock.json: Generated file
  • Files reviewed: 5/6 changed files
  • Comments generated: 2

Comment on lines +501 to +503
const entry = { instanceId, context, browser, page, mode };
await navigate(page, input?.url || "about:blank").catch(() => {});
const { server, url } = await startServer(entry);
Comment on lines +337 to +339
const bytes = await readFile(join(ARTIFACTS_DIR, name));
res.writeHead(200, { "Content-Type": "image/png", "Cache-Control": "no-store" });
res.end(bytes);
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@AndreaGriffiths11 AndreaGriffiths11 force-pushed the contrib/chromium-control-canvas branch from f0b6ecf to 6fac8df Compare June 15, 2026 19:38
@github-actions

Copy link
Copy Markdown
Contributor

🔴 Contributor Reputation Check: HIGH risk

Check Risk
Profile HIGH
Credential audit NONE

Maintainers: please review this contributor before merging.
See the workflow run for full details.
Automated check powered by AGT.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

needs-review:HIGH Contributor reputation check flagged HIGH risk

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants