github / github/app

Custom canvas performance degrades with complex infinite-canvas applications

オープン
#2,189 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る
Bugs
主要言語
言語のデータがありません
スター
2.1k
フォーク
153
PR マージ指標
30日以内にマージされた PR はありません

説明

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

コントリビューションガイド

コントリビューションガイドを開く

調査の方向性

GitHub Copilot のカスタムキャンバス内で HTML/React の無限キャンバスを使って問題を再現し、同じアプリケーションをブラウザーで実行した場合と、パン、ズーム、フレームレート、カーソルの挙動を比較します。完了の条件は、ホスト固有の原因を特定し、アイテム数が増加してもカーソルのちらつきなしにスムーズな操作を復元することです。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
html, react
領域
desktop-dev, frontend, performance
issue の種類
バグ
難易度
4/5
見積もり時間
3〜5日
活発さ
静か
明瞭さ
おおむね明確
初心者へのやさしさ
38/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。