Skip to content

feat(canvas): UI de canvas e projetos + injeção de contexto (fase 2) - #232

Merged
actus7 merged 1 commit into
mainfrom
actus7/feat-canvas-projects-phase2
Aug 18, 2026
Merged

feat(canvas): UI de canvas e projetos + injeção de contexto (fase 2)#232
actus7 merged 1 commit into
mainfrom
actus7/feat-canvas-projects-phase2

Conversation

@actus7

@actus7 actus7 commented Aug 18, 2026

Copy link
Copy Markdown
Owner

Resumo

Fase 2 do workspace Canvas + Projetos (spec docs/canvas-projects-plan.md): UI completa e injeção de contexto de projeto.

  • Detector client-side (\lib/canvas-detector.ts): mermaid (≥40 chars) > react/html > code (≥20 linhas/≥800 chars) > markdown (≥1500 chars); título heurístico; testes unitários
  • Painel de canvas no chat: split-pane redimensionável com persistência (desktop) e sheet fullscreen (mobile); toolbar com título editável, kind badge, copiar, baixar, versões (listar/preview/restaurar), share/revogar token, fixar em projeto (picker), toggle contexto IA
  • Previews: markdown (MarkdownRenderer), html (iframe sandbox), mermaid (import dinâmico, dark-aware), código (CodeMirror lazy), react (transpilação Babel + iframe com React UMD, erros visíveis)
  • Detecção pós-stream: cria canvas novo ou nova versão do canvas ativo; bolha mostra texto fora do fence + card clicável (message part \canvas\ persistida)
  • Contexto IA do canvas: mensagem [canvas ativo: …]\ injetada no request (cap 20k, toggle, não persiste/não aparece na UI)
  • Injeção de projeto: \provider-core\ lê header \x-modelhub-project-id\ (valida ownership, caps 20k/arquivo e 60k total); providers browser (Puter) buscam /projects/:id/context; header propagado em /v1\ e :provider/api/chat\
  • Chat: seletor de projeto no composer, ?project=&new=1, sidebar com seção Projetos
  • /projects: grid de projetos + dialog de criação; /projects/[id]: header editável, abas Conversas/Arquivos (upload/abrir/excluir)/Artefatos (refresh do canvas, share, excluir), delete com aviso de cascata
  • Share: /share/[token]\ renderiza conversation | canvas | artifact

Validação

  • lint ✅ · typecheck ✅ · 396 testes ✅ (novos: canvas-detector 17, browser-chat-providers, provider-core +4 de projeto) · build ✅

Notas

  • Sem novas dependências (fase 0 já instalou codemirror/mermaid/babel)
  • Subagentes instáveis nesta sessão; contexto de projeto implementado pelo fixer antes da falha (validado), UI implementada diretamente

- Detector client-side de canvas (mermaid/react/html/code/markdown) com testes
- Painel de canvas no chat: split-pane redimensionável (desktop) e sheet (mobile),
  toolbar completa (título, versões com restore, share/revogar, pin em projeto),
  previews (markdown, html sandboxed, mermaid, code via CodeMirror, react via babel+iframe)
- Detecção pós-stream: cria/atualiza canvas automaticamente, bolha mostra texto
  fora do fence + card clicável (message part 'canvas')
- Contexto IA: canvas ativo injetado como mensagem de contexto (cap 20k, toggle)
- Injeção de projeto: provider-core lê header x-modelhub-project-id (ownership +
  caps 20k/60k) e browser providers buscam /projects/:id/context
- Chat: seletor de projeto no composer, ?project=<id>&new=1, header em todos os
  requests; sidebar com seção Projetos
- /projects: grid de projetos + criação; /projects/[id]: header editável, abas
  Conversas/Arquivos/Artefatos (upload, refresh do canvas, share, delete)
- Share /share/[token] renderiza conversation | canvas | artifact
- 396 testes verdes (novos: canvas-detector, browser-chat-providers, provider-core)
Copilot AI lite review requested due to automatic review settings August 18, 2026 13:38

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 was unable to review this pull request because the user who requested the review has reached their quota limit.

@vercel

vercel Bot commented Aug 18, 2026

Copy link
Copy Markdown
Contributor

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
modelhub Ready Ready Preview Aug 18, 2026 1:39pm

@github-actions github-actions Bot added frontend Frontend changes backend Backend changes tests Test changes labels Aug 18, 2026
@actus7
actus7 merged commit d123bf9 into main Aug 18, 2026
12 checks passed
@actus7
actus7 deleted the actus7/feat-canvas-projects-phase2 branch August 18, 2026 13:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

backend Backend changes frontend Frontend changes tests Test changes

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants