Dev manifest bridge keeps stale CSS after an edit
メンテナーはふだん 1 日以内に返信
@everton-dgn がすでに取り組んでいます。
2026年10月14日 から。
評価
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 初心者へのやさしさ
- 34/100
- issue の種類
- バグ
- 明瞭さ
- おおむね明確
- 活発さ
- 活発
- 技術スタック
- typescript
- 領域
- build-system, frontend
調査の方向性
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.
索引モデルが issue の本文から書いたものです。
説明
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:
- Render a lazy component that imports
page.css, with.bridge_probe { font-size: 18px; }. - Fetch the page and confirm the raw SSR response contains that rule.
- Change the rule to
font-size: 36pxand wait for Vite to process the file change. - 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.
- 主要言語
- TypeScript
- スター
- 522
- フォーク
- 73
- 平均マージ
- 1日 5時間
- マージ済み PR(30日)
- 34
環境構築
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートなし
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
solidjs/solid-vite-plugin のほかの issue
-
Test environment detection doesn't consider Vitest workspaces対応中かも @carloitaben が 54 日前に担当しました。 オープン1.x
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
solidjs/solid-vite-plugin#205 · コメント 1 件 · リアクション 2 件 ·
メンテナーはふだん 1 日以内に返信
-
難易度 3/5 半日 初心者へのやさしさ 55/100
solidjs/solid-vite-plugin#420 ·
メンテナーはふだん 1 日以内に返信
-
難易度 5/5 1週間以上 初心者へのやさしさ 25/100
solidjs/solid-vite-plugin#419 ·
メンテナーはふだん 1 日以内に返信
-
難易度 4/5 1〜2日 初心者へのやさしさ 30/100
solidjs/solid-vite-plugin#418 ·
メンテナーはふだん 1 日以内に返信
-
Dev manifest loses lazy CSS when imported before HTTP startup対応中かも このイシューにリンクされたプルリクエストがオープン中、またはマージ済みです。 オープン
難易度 4/5 3〜5日 初心者へのやさしさ 25/100
solidjs/solid-vite-plugin#414 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
solidjs/solid-vite-plugin の issue をすべて見る
似ている issue
-
area:ui effort:S enhancement priority:P2
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 74/100
QuantumNous/new-api#7839 ·
メンテナーはふだん 1 日以内に返信
-
good first issue maintenance
難易度 2/5 1〜3時間 初心者へのやさしさ 62/100
dark-princezz/stellar-hooks#1010 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
interledger/rhyza#352 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 70/100
メンテナーはふだん 1 日以内に返信