2.1 KiB
2.1 KiB
Nota de Progresso: Resolução de Blank Page (Tela Branca) no Captain V2
Objetivo
Resolver a falha catastrófica de interface (blank page) que impedia a utilização das configurações do assistente Captain V2.
Contexto
Após a introdução de campos para Multi-LLM e novas abas de "Skills", a interface começou a apresentar uma tela branca. O erro era causado por acessos a propriedades de objetos null no ciclo de vida inicial do Vue, antes dos dados serem hidratados pelo Vuex.
Passos Realizados
- Debug de Fluxo: Identificado que o
AssistantsIndexPage.vuetentava dar um.find()em um estado do Vuex ainda não inicializado. - Implementação de Null-Safety:
- Adicionado
optional chaining(?.) em templates ondeassistant.nameera acessado. - Adicionados checks de saída antecipada (
if (!assistant) return) em observadores (watchers) e funções de atualização de estado.
- Adicionado
- Correção de Componentes:
- O componente
SelectMenuexigia a proplabelem novas versões, causando crash silencioso se estivesse ausente. A prop foi restaurada com as chaves de tradução corretas.
- O componente
- Roteamento: Re-enquadramento das rotas no
captain.routes.jspara garantir que onavigationPathseja resolvido corretamente.
Arquivos Alterados
app/javascript/dashboard/routes/dashboard/captain/pages/AssistantsIndexPage.vueapp/javascript/dashboard/routes/dashboard/captain/assistants/settings/Settings.vueapp/javascript/dashboard/components-next/captain/pageComponents/assistant/settings/AssistantBasicSettingsForm.vueapp/javascript/dashboard/routes/dashboard/captain/captain.routes.jsapp/javascript/dashboard/i18n/locale/en/integrations.json(Adição de chaves de tradução)
Validação
- Navegação direta para
/captain/assistants/1/settingsagora carrega sem erros. - Navegação via sidebar para "Skills" (Tools) funciona conforme o esperado.
- Console do browser limpo de erros de
undefined.
Rollback
Basta reverter os checks de segurança e a prop label do SelectMenu, embora não seja recomendado, pois a abordagem atual segue o padrão defensivo do projeto.