- Navios
- 2 de setembro de 2026 às 09:08 UTC
- Autor
- kamo
- Enviar
- d473a2c
internal.kamocrm.com estava servindo um documento de 1,34 MB contendo 123 `css-xxxxx` nomes das classes — «MuiBox-root css-e26q24» entre eles — e nenhuma regra para qualquer um dos Eles. Um navegador pinta isso exatamente como dado, e o que ele dá é o relatado flash: o navegador está "Carregando..." como um `<h6>` não-nomeado preso no canto superior esquerdo, e os oito elementos `MuiSvgIcon` `<svg>` ao seu lado a 300x150 cada, que sendo o tamanho que um elemento substituído leva quando nada o tamanho e ícones MUI não possuem nenhum atributo de largura ou altura. Em seguida, a hidratação correu, emoção inserido cada regra cliente-side, e a página entrou no lugar. A shell está no HTML desde `perf(ssr): server- render the autenticada app’, e isso vale a pena manter - é a diferença entre um documento com 16 KB de DOM real nele e um com quase nenhum. O que também fez foi fazer o aplicação depende de algo nada aqui afirma: que os nomes de classe A emoção escreve que a marcação chega com as suas regras. Emoção decide que por renderização, a partir de sua própria leitura do ambiente, e não há maneira de ver de dentro do aplicativo se ele acertou. Nada atira, nada de troncos, não teste que torna um componente avisos, e a página está correta algumas centenas milissegundos depois. Uma reconstrução produziu uma imagem que as emite, que é a outra metade do problema: o comportamento não é nosso para depender. Assim, é afirmado em vez de assumido. EmotionRegistry transforma a árvore através de uma cache no modo compat, coleta o que o cache insere e o emite através `useServerInsertedHTML`, que nada pergunta sobre o ambiente. Medida contra o aplicativo real: um `<style>` em `<head>`, 48,5 KB, definindo todos os 58 Classes que a marcação servida utiliza, em vez de 71 etiquetas espalhadas pelo corpo — à frente da marcação, em vez de se entrelaçar com ela. Chave 'css', que é padrão da emoção, então nenhum nome de classe em qualquer lugar muda; é também a chave do lado do navegador `createCache` procura quando adota um elemento `style[data-emotion] do servidor, que é o que impede o cliente inserindo todos os 58 uma segunda vez. Não premeditado: ordem não decide nada aqui em em qualquer direção, uma vez que `app/globals.css` e o tema branco CSS contêm no `.Mui` selector em tudo e `tailwind.config.js` define `importante: true`. `@emotion/cache` já estava na árvore como uma dependência de `@emotion/react`; isto declara-o, na versão já resolvida, então a entrada lockfile faz não mover e `npm ci` instala exatamente o que ele instalou antes. Guardado, porque o fracasso é invisível para tudo o resto no repositório. verificação-emoção-ssr falha se o registo for suprimido ou se um prestador for içado acima dele — que calmamente tiraria os estilos dessa sub-árvore para fora do documento — e ambas as falhas foram confirmadas para ser capturado antes de o guarda foi ligado ao teste NPM. Verificado: a folha de estilo emitida cobre todas as classes da marcação servida, com Entre eles, os outros 13 guardas passam. O tsc não relata nada de novo; o vitest está nas mesmas 30 falhas preexistentes que origem/main está nesta máquina (@kamo/* pacotes atrás do lockfile localmente).