github / github/app

Custom canvas performance degrades with complex infinite-canvas applications

Abierto
#2,189 0 comentarios 0 reacciones 0 asignados Ver en GitHub
Bugs
Lenguaje dominante
Sin datos de lenguaje
Estrellas
2.1k
Forks
153
Métricas de merge de PR
Sin PR fusionados en 30 d

Descripción

### 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.

Guía de contribución

Abrir la guía de contribución

Línea de trabajo

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.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
html, react
Área
desktop-dev, frontend, performance
Tipo de issue
Error
Dificultad
4/5
Tiempo estimado
3-5 días
Estado de actividad
Tranquilo
Claridad
Bastante claro
Aptitud para principiantes
38/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.