perf: MutationObserver on document.body fires on every DOM mutation
Mantenedores costumam responder em até 1 dia
Avaliação
- Dificuldade
- 3/5
- Tempo estimado
- 1-2 dias
- Facilidade para iniciantes
- 52/100
- Tipo de issue
- Bug
- Clareza
- Razoavelmente clara
- Status de atividade
- Estagnada
- Stack de tecnologia
- typescript
- Domínio
- frontend, performance
Direção de pesquisa
Start in apps/app/src/components/explainer-cards.tsx around line 141 and inspect how the MutationObserver is attached and how its callback is triggered. Reproduce frequent DOM updates during agent streaming, then verify the observer no longer reacts to unrelated document-wide mutations and that the performance degradation is addressed.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
Description
Severity: P2 — Fragility / Performance
In apps/app/src/components/explainer-cards.tsx:141, a MutationObserver is attached to document.body with { childList: true, subtree: true }, which fires on every DOM mutation in the entire app.
Failure mode
Performance degradation on pages with frequent DOM updates (e.g., during agent streaming).
Suggested fix
- Narrow the observer scope: observe only the CopilotKit container element (e.g.,
[data-copilotkit]) instead ofdocument.body - Add a debounce or
requestIdleCallbackto the callback
From self-review finding F06
- Linguagem predominante
- TypeScript
- Estrelas
- 3.9k
- Forks
- 414
- Merge médio
- 4h
- PRs com merge (30d)
- 6
Preparar o ambiente
- Sem Dockerfile nem arquivo Docker Compose
- Sem modelo de pull request
- Ler o guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de CopilotKit/OpenIntelligentUI
-
Script dedup key truncation may cause collisionsTalvez já em andamento @saschabuehrle assumiu há 216 dias. Abertabug
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
CopilotKit/OpenIntelligentUI#37 ·
Mantenedores costumam responder em até 1 dia
-
enhancement
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
CopilotKit/OpenIntelligentUI#29 ·
Mantenedores costumam responder em até 1 dia
-
Self-host with Docker Compose and optional server-held keysTalvez já em andamento @kannan983 assumiu há 16 dias. Aberta
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 18/100
CopilotKit/OpenIntelligentUI#98 ·
Mantenedores costumam responder em até 1 dia
-
Support OpenAI-compatible gateways (OpenRouter) via vendor/model namesTalvez já em andamento @kannan983 assumiu há 16 dias. Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 25/100
CopilotKit/OpenIntelligentUI#97 ·
Mantenedores costumam responder em até 1 dia
-
UIAberta
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 8/100
CopilotKit/OpenIntelligentUI#96 ·
Mantenedores costumam responder em até 1 dia
Todas as issues de CopilotKit/OpenIntelligentUI
Issues semelhantes
-
bug
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 76/100
awslabs/visual-asset-management-system#804 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 70/100
restatedev/sdk-typescript#813 ·
-
bug desktop P1 session XS
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 82/100
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 62/100
Merit-Systems/x402scan#1312 ·
-
type:bug
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
Azure/apiops-cli#331 ·
Mantenedores costumam responder em até 3 dias