Server-render la aplicación autenticada, y arreglar el org de retroceso que 500s

Performancekamo-internal
Se descapó
26 de agosto de 2026 a las 3:39 UTC
Autor
kamo
Compromit
dba4d98

MemberListProvider devolvió nula hasta que su efecto de montaje corrió, y se encuentra por encima de NavTop E-niños - para que una línea mantuviera la aplicación autenticada ENTIRE fuera de la servidor-renderizado HTML. El documento era de 1,23 MB sin embargo: nada pintada hasta que la cáscara de raíz se había descargado, parificado e hidratado, y PageSpeed informó No hay elemento LCP porque no había nada que medir. Verificado construyendo y sirviendo la aplicación, no razonando al respecto. Contra los construidos Servidor independiente, / ahora devuelve 200 con 16,033 bytes de DOM real en 152 elementos. dos cabeceras, diez botones, "Mis negocios / Mi perfil / Cerrar sesión" - donde /validar, on que AuthedChrome deliberadamente deja a los niños desnudos, devuelve 1.622 bytes a lo largo de 16. Esa diferencia ES la concha, y ahora está en el HTML. Seguro porque ambos valores que recibe NavTop son miembros deterministas y openNodes ambos comience como la salida del servidor y el primer cliente se ponen de acuerdo por construcción. Nada debajo aquí lee un navegador global mientras se renderiza; scripts/check-ssr-safe.mjs lo demuestra y se ejecuta en la prueba npm. Nótese lo que esto NO cambia: LoadingProvider todavía comienza cargando es la carga, así que la marca salpicadura cubre la cáscara para sus 500 ms. El navegado está ahora detrás de ese chapoteo en lugar de ausente, que es el requisito previo para que la pena tomar la decisión de salpicadura. El mismo ejercicio encontró un verdadero insecto sentado detrás de la puerta. Reactar no puede serializar un instancia de clase de un componente de servidor en uno cliente, y el diseño FALLBACK organización se construye con Organization.fromJSON - una instancia real. El camino feliz nunca golpearlo porque conseguir la organización devuelve la organización "await res.json", ya simple y meramente elenco. Así que la caída que existe para mantener la aplicación utilizable cuando la organización trae El fracaso fue, en cambio, quitar todo el documento con un 500. Lo golpeé directamente: con el backend inalcanzable, / devuelto 500 "Sólo se pueden pasar a Cliente Componentes". Corregido por extenderse a un objeto liso en el límite, que cubre ambos caminos. OrgProvider ya rehidrata lo que sea que se le entregue. Navegación de organización de la organización : **************** Así que un objeto liso es exactamente lo que espera, y es lo que la producción siempre ha enviado - Sí. El segundo, en línea, en la llamada de SessionProvider, era inalcanzable (el bloque Por encima de ella ya garantiza una organización no nula) y se ha ido. Verificado: la construcción de la producción tiene éxito; / y /validar ambos de vuelta 200 de la construcción servidor; tsc --noEmita limpio; los 10 guardias pasan.

Todos los cambios

Como lo que ves enviaste?

Cada una de estas actualizaciones aterriza en su espacio de trabajo automáticamente. Empieza gratis y verlo crecer semana tras semana.

Arranzar gratis para siempreVer Precios