You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Tech debt: dividir packages/app/src/pages/layout.tsx (2427 linhas) por responsabilidade #13
Segue o mesmo princípio SRP/tamanho de arquivo do orchestrator (ver AGENTS.md seção "File Size (SRP boundary)" e ORCHESTRATOR-ROADMAP.md).
What to build
packages/app/src/pages/layout.tsx tem 2427 linhas — é o layout legado inteiro (sidebar, titlebar, menus de projeto/workspace, tabs) num arquivo só. Extrair sub-componentes/controllers/hooks que já são estruturalmente separáveis para arquivos próprios, mantendo o arquivo principal como orquestrador enxuto.
Acceptance criteria
Arquivo principal reduzido para perto de ~250-400 linhas (o que sobrar deve ser genuinamente uma coisa só, não fragmentado artificialmente)
Nenhuma mudança de comportamento — só reorganização de código
Sem quebra de import circular (checar dependências entre os novos arquivos)
typecheck limpo
Blocked by
Nenhuma — pode ser feita a qualquer momento, oportunisticamente (não precisa ser dedicada).
Verification
bun run typecheck limpo. Idealmente também abrir a tela correspondente no preview pra confirmar que nada quebrou visualmente.
Nota de processo: sem release de app associada ao fechamento desta issue — acumula em dev como o resto do trabalho de UI/UX.
Extraído DialogDeleteWorkspace/DialogResetWorkspace pra arquivo próprio (commit a81ff3a) — 2427 -> 2308 linhas. O resto do arquivo é uma única função de componente (LegacyLayout) sem outras costuras de topo — tudo compartilha o mesmo closure de estado local (store, signals, refs). Reduzir mais exigiria reestruturar esse estado compartilhado em um controller (padrão que já usamos em home-controller.ts/home-scroll-controller.ts), o que é uma mudança bem mais arriscada de fazer sem verificação visual ao vivo. Deixando aberta — próximo passo real exigiria uma sessão dedicada com preview funcionando.
Obsoleto. Substituído pelo Epic #25 (descontinuar o layout legado de vez), que vai remover packages/app/src/pages/layout.tsx por completo em vez de refatorá-lo.
Activity
feat(desktop): add GitHub Actions workflow for mac/linux releases
refactor(app): extract workspace delete/reset dialogs from layout.tsx
alltomatos commentedon Aug 19, 2026
Extraído DialogDeleteWorkspace/DialogResetWorkspace pra arquivo próprio (commit a81ff3a) — 2427 -> 2308 linhas. O resto do arquivo é uma única função de componente (LegacyLayout) sem outras costuras de topo — tudo compartilha o mesmo closure de estado local (store, signals, refs). Reduzir mais exigiria reestruturar esse estado compartilhado em um controller (padrão que já usamos em home-controller.ts/home-scroll-controller.ts), o que é uma mudança bem mais arriscada de fazer sem verificação visual ao vivo. Deixando aberta — próximo passo real exigiria uma sessão dedicada com preview funcionando.
docs: adicionar diretrizes de tech-debt para split de arquivos grandes
refactor(app): dividir session-side-panel.tsx por responsabilidade (#95)
alltomatos commentedon Sep 13, 2026
Obsoleto. Substituído pelo Epic #25 (descontinuar o layout legado de vez), que vai remover packages/app/src/pages/layout.tsx por completo em vez de refatorá-lo.