Errored fallback with an async hole is dropped inside a pending outer Loading (SSR streaming)
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 48/100
- Tipo de issue
- Error
- Claridad
- Bastante claro
- Estado de actividad
- Activo
- Stack tecnológico
- javascript, typescript
- Área
- frontend
Línea de trabajo
Start with renderOutcome in packages/solid/src/server/signals.ts, then trace how the nested Errored region is handled while the outer Loading boundary is pending. Reproduce the reported timing with the three async createMemos and compare streamed and loaded hydration. Done when both hydrate with “outerfailed: no user 7 HINTtail” and no hydration warnings.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
What happens
An <Errored> whose fallback reads async data, sitting inside an outer <Loading> that is still pending, hydrates without its fallback when the inner <Loading> fails after the shell. The Errored region disappears.
<div>
<Loading fallback={<i>outer loading</i>}>
<b>{outer()}</b>
<Errored fallback={e => <p>failed: {e().message} {hint()}</p>}>
<Loading fallback={<i>loading</i>}>
<span>user:{user()}</span>
</Loading>
</Errored>
</Loading>
<span>tail</span>
</div>
Three async createMemos are created in the component body:
-
userrejects with "no user 7" at 5ms. -
hintresolves to "HINT" at 10ms. -
outerresolves to "outer" at 15ms. -
Expected:
outerfailed: no user 7 HINTtail -
Actual:
outertail, with one or two hydration warnings. Both streamed and loaded hydration show this onnext.
Server output
The shell has <i>outer loading</i> at pl-4. The stream rejects user, resolves hint, then sends <template id="4"><b _hk=4000>outer</b></template> and $df("4"). It sends nothing for the Errored region: no fallback markup and no inner placeholder.
Likely cause (unconfirmed)
The inner fragment is parked under the pending outer boundary. It fails while the Errored fallback's async hole is still pending, so the outcome render (renderOutcome in packages/solid/src/server/signals.ts) produces no markup. When the outer Loading later resolves, the Errored subtree is dropped instead of sending its fallback, or a placeholder the client can render into.
Found while reviewing #4303. That PR fixes the same shape without the outer Loading; this nested case fails the same way before and after it.
Generated by Claude Code
- Lenguaje dominante
- TypeScript
- Estrellas
- 36.2k
- Forks
- 1.1k
- Merge medio
- 11 h 5 min
- PR fusionados (30 d)
- 353
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Tiene una plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de solidjs/solid
-
`lazy()`: remounting an already-loaded component renders empty (or the Suspense fallback) since 1.9.14Posiblemente ocupada @itisrmk la tomó hace 10 días. Abierto1.x
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
Los mantenedores suelen responder en 1 día
-
Dificultad 4/5 1-2 días Aptitud para principiantes 48/100
Los mantenedores suelen responder en 1 día
-
enhancement
Dificultad 5/5 Más de una semana Aptitud para principiantes 35/100
Los mantenedores suelen responder en 1 día
-
`createRoot`'s dispose function keeps `fn` alive, so `<For>`/`<Index>` rows retain removed list itemsPosiblemente ocupada @boombang la tomó hace 12 días. Abierto1.x
Dificultad 4/5 1-2 días Aptitud para principiantes 45/100
Los mantenedores suelen responder en 1 día
-
Per-scope takeover for live nodes whose server value is still streaming (D8 follow-up to #3817)Abierto
Dificultad 4/5 3-5 días Aptitud para principiantes 45/100
Los mantenedores suelen responder en 1 día
Todos los issues de solidjs/solid
Issues similares
-
area: server priority: P3 type: bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 83/100
appandflow/stim#4538 ·
Los mantenedores suelen responder en 1 día
-
[BUG] Published Docker images lack the redis extra: HEADROOM_COMPRESS_SESSION_STORE stops startupPosiblemente ocupada @AlessandroSpallina la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
headroomlabs-ai/headroom#4513 ·
Los mantenedores suelen responder en 1 día
-
bug extension extension: obsidian platform: Windows
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
raycast/extensions#32838 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
copy design-review mac P3
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
tosunlab/hisarapp-core#510 ·
-
bug priority-medium to-agent
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
Los mantenedores suelen responder en 1 día