Hacktoberfest 2026: as issues que os mantenedores marcaram para outubro, abertas e boas para iniciantes. Ver issues do Hacktoberfest

Dev manifest bridge keeps stale CSS after an edit

Aberta
#415 0 comentários 0 reações 0 responsáveis Ver no GitHub

Mantenedores costumam responder em até 1 dia

@everton-dgn já está trabalhando nisso.

Desde 14/10/2026.

  • #416 de @everton-dgn — aberto
  • #417 de @everton-dgn — aberto

Avaliação

Dificuldade
4/5
Tempo estimado
3-5 dias
Facilidade para iniciantes
34/100
Tipo de issue
Bug
Clareza
Razoavelmente clara
Status de atividade
Ativa
Stack de tecnologia
typescript

Direção de pesquisa

Start with the HTTP bridge resolver generated by virtual:solid-manifest and find where it caches CSS for the isolated SSR runner. Reproduce with a lazy component importing page.css: fetch, edit the rule from 18px to 36px, then fetch again without restarting. Done when the second response contains the new rule and no stale one, and in-flight requests cannot restore old CSS.

Escrita pelo modelo de indexação a partir do texto da issue.

Descrição

The HTTP bridge resolver generated by virtual:solid-manifest caches CSS in the isolated SSR runner. After a CSS edit, the resolver in the Vite process clears its cache, but the bridge consumer keeps the old result.

I reproduced this with a real Nitro dev worker using @solidjs/[email protected], [email protected], @solidjs/[email protected], [email protected], and [email protected]. The same cache implementation is still present in 3.0.0-next.50.

Steps:

  1. Render a lazy component that imports page.css, with .bridge_probe { font-size: 18px; }.
  2. Fetch the page and confirm the raw SSR response contains that rule.
  3. Change the rule to font-size: 36px and wait for Vite to process the file change.
  4. Fetch the page again without restarting the dev server.

The second response still contains 18px and does not contain 36px. Both responses are HTTP 200 and contain the page content. This reproduces even when the separate early-startup bridge URL problem is avoided by delaying manifest loading until the server is listening.

The browser eventually replaces the old styles during hydration. That leaves a visible layout change on a document reload.

The bridge cache needs invalidation when its styles change. Cached lookups must still return synchronously: returning a new Promise on every lookup prevents suspended lazy SSR renders from converging. Pending requests also need to be accounted for so a response started before invalidation cannot restore stale CSS.

Linguagem predominante
TypeScript
Estrelas
522
Forks
73
Merge médio
1d 4h
PRs com merge (30d)
35

Preparar o ambiente

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de solidjs/solid-vite-plugin

Todas as issues de solidjs/solid-vite-plugin

Issues semelhantes

Mais issues de TypeScript

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.