Server-render o aplicativo autenticado, e corrigir o backback org que 500s

Performancekamo-internal
Navios
26 de agosto de 2026 às 03:39 UTC
Autor
kamo
Enviar
dba4d98

MemberListProvider retornou nulo até que seu efeito de montagem foi executado, e ele fica acima do NavTop E {crianças} — de modo que uma única linha manteve o pedido autenticado HTML renderizado pelo servidor. O documento foi ~1.23 MB carregando quase nenhuma marcação: nada pintado até que o shell raiz tinha baixado, analisado e hidratado, e PageSpeed relatado nenhum elemento LCP porque não havia nada a medir. Verificado por construir e servir o aplicativo, não por raciocinar sobre ele. Contra o construído servidor autônomo, / agora retorna 200 com 16.033 bytes de DOM real em 152 elementos — dois cabeçalhos, dez botões, "Meus Negócios / Meu Perfil / Sair" — onde /validar, em que AuthedChrome deliberadamente torna as crianças nuas, retorna 1.622 bytes em 16. Essa diferença é o shell, e agora está no HTML. Seguro porque ambos os valores que o NavTop recebe são determinísticos — membros e openNodes start as {} — então a saída do servidor e a primeira renderização do cliente concordam com a construção. Nada aqui lê um navegador global enquanto renderiza; scripts/check-ssr-safe.mjs Prova-o e corre no teste NPM. Observe o que isso NÃO muda: LoadingProvider ainda começa éLoading true, então a marca o respingo cobre a casca por seus 500 ms. O navegador está agora por trás daquele respingo em vez de ausente, que é o pré-requisito para a decisão salpicada que vale a pena tomar. O mesmo exercício apareceu um verdadeiro inseto sentado atrás do portão. Reagir não pode serializar um instância de classe de um componente servidor para um cliente, e o layout de FALLBACK A organização é construída com a Organização. de JSON — um caso real. O caminho feliz nunca hit it porque fetchOrganização retorna `await res.json()`, já simples e meramente Elenco. Assim, o retorno que existe para manter o aplicativo utilizável quando a organização buscar falhas foi, em vez disso, derrubar todo o documento com um 500. Bati-lhe directamente: infra- estrutura não acessível, / retornou 500 "Somente objetos simples... podem ser passados ao Cliente Componentes". Fixado espalhando em um objeto simples na fronteira, que cobre ambos os caminhos. OrgProvider já re-hidrata o que quer que seja entregue — "Instalações de organização da organização: — portanto, um objecto simples é exactamente o que espera, e é o que a produção sempre enviou Ele. O segundo, inline back na chamada SessionProvider foi inacessível (o bloco acima já garante uma organização não null) e se foi. Verificado: a construção da produção sucede; / e /validar ambos retornam 200 do construído servidor; tsc -- noEmit clean; todos os 10 protectores passam.

Todas as alterações

Como o que vês no transporte?

Cada uma dessas atualizações pousa automaticamente em seu espaço de trabalho. Comece grátis e veja crescer semana após semana.

Começar Livre Para SempreVer Preços