github / github/app

Custom canvas performance degrades with complex infinite-canvas applications

Offen
#2,189 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
Bugs
Vorherrschende Sprache
Keine Sprachdaten
Sterne
2.1k
Forks
153
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beschreibung

### Affected version or release

Latest update available as of July 21, 2026 (exact version not shown)

### Installation context

GitHub Copilot app on macOS, using a custom canvas that renders an HTML/React application

### What happened?

A custom canvas containing an infinite pan-and-zoom interface becomes jittery and noticeably slower as more items are added. The interface is similar to React Flow and supports panning, zooming, and scrolling across an infinite workspace.

When the same HTML application is opened directly in a browser, it remains smooth and responsive with the same content. Inside the GitHub Copilot custom canvas, however, interaction drops to a low frame rate and panning becomes increasingly laggy.

One visible symptom is cursor flickering while panning. The cursor repeatedly switches between the hand cursor and the pointer, even though the application explicitly keeps the hand cursor active throughout that interaction. This may indicate that the custom canvas is triggering unexpected rendering, hit-testing, or pointer-event behavior.

Although an infinite-canvas application makes the problem easy to reproduce, the underlying performance issue may affect other complex or highly interactive custom canvases as well.

### Steps to reproduce

1. Create a custom canvas that renders an HTML/React infinite canvas with pan and zoom behavior.
2. Add enough nodes or items to make the workspace moderately complex.
3. Open the application directly in a browser and pan or zoom around the workspace.
4. Observe that interaction remains smooth.
5. Open the same application inside a GitHub Copilot custom canvas.
6. Pan around the workspace and observe low FPS, jitter, and cursor flickering between the hand and pointer cursors.
7. Add more items and observe that performance degrades further.

### Expected behavior

Interactive HTML applications should perform comparably inside a custom canvas and a regular browser. Panning and zooming should remain smooth as content grows, and the canvas should respect the cursor state set by the application without flickering.

### Additional context

The performance difference is specific to the custom-canvas host; the same application and content work smoothly when opened directly in a browser.

Beitragsleitfaden

Beitragsleitfaden öffnen

Rechercherichtung

Reproduce the issue with an HTML/React infinite canvas inside the GitHub Copilot custom canvas, then compare panning, zooming, frame rate, and cursor behavior with the same application in a browser. Done means identifying the host-specific cause and restoring smooth interaction as items increase without cursor flickering.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
html, react
Bereich
desktop-dev, frontend, performance
Issue-Typ
Bug
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Ruhig
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
38/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.