[2.0 rc.13 + next] Nested server region stays stale after refetch then argument change
Maintainer thường phản hồi trong vòng 1 ngày
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 4/5
- Thời gian dự kiến
- 3-5 ngày
- Mức phù hợp với người mới
- 48/100
- Loại issue
- Lỗi
- Độ rõ ràng
- Đặc tả rõ ràng
- Mức độ hoạt động
- Sôi nổi
- Công nghệ
- bun, javascript, playwright, typescript
Hướng nghiên cứu
Start with the standalone reproduction, especially client.tsx, server.tsx, and repro.test.ts; run the documented Bun test against a built Solid checkout in development and production. Trace what happens when the server reference is refetched and its argument changes. Done means the automated test shows the nested region updating from 1 to 2 after that sequence.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
Describe the bug
Refetching argument 1 and then requesting 2 should update the nested server span to 2; it stays 1.
Your Example Website or App
Steps to Reproduce the Bug or Issue
- Use the source below with the selected Solid build (complete setup is linked above).
import { createSignal, Loading, flush } from "solid-js";
import { render, dynamic } from "@solidjs/web";
import { createServerReference } from "@solidjs/web/server-functions/client";
import { installServerComponents } from "@solidjs/web/frames";
installServerComponents();
const get = createServerReference("region");
const [id, setId] = createSignal(1);
const [version, setVersion] = createSignal(0);
const Component = dynamic(() => {
version();
return get(id()) as any;
});
render(
() => (
<Loading fallback={<b>pending</b>}>
<Component wrap={(p: any) => <section>{p.children}</section>} />
</Loading>
),
document.getElementById("root")!,
);
// First call refetch(), then change(): the nested span stays at 1.
(window as any).refetch = () => {
setVersion(1);
flush();
};
(window as any).change = () => {
setId(2);
flush();
};
- Requires a server-component endpoint
region(id)returningprops => <main><props.wrap><span>{id}</span></props.wrap></main>. Wait for 1, callwindow.refetch(), wait for that response, then callwindow.change(). The nested section still shows 1.
Expected behavior
Expected: Changing the server-function argument to 2 replaces the nested content with 2.
Actual: The nested region stays at 1.
Platform
- Solid:
solid-js/@solidjs/webnext at3086f1b77cd7b0431d3a7f768c2984c335758633; comparison2.0.0-rc.13. Signals, compiler and diagnostics match the selected Solid build. - OS: macOS 26.6.2 (25G83); browser cases: system Google Chrome 155.0.8059.40. Server-only/type checks run in Bun 1.4.2.
- Builds/comparison: Development and production fail on HEAD and rc.13.
Additional context
A refetch followed by new arguments should replace the corresponding nested server content rather than retain the previous region.
Full automated reproduction
One-command setup, run and expected output.
Copy the standalone folder into a fresh Bun project. The visible source above is executed by these tests; the additional files supply the required HTTP, compilation, and browser setup.
bun init -y
bun add [email protected] @solidjs/[email protected] @solidjs/[email protected] @solidjs/[email protected] @solidjs/[email protected]
bun add -d playwright
bun run link-head.ts /absolute/path/to/built/solid
BUILD_MODE=development bun test ./repro.test.ts
The link command selects a built Solid HEAD checkout; omit it for rc.13. Repeat with BUILD_MODE=production for the production comparison. Browser tests use system Google Chrome.
- Ngôn ngữ chính
- TypeScript
- Star
- 36.2k
- Fork
- 1.1k
- Merge trung bình
- 10 giờ 34 phút
- Pull request đã merge (30 ngày)
- 364
Chuẩn bị môi trường
- Không có Dockerfile hay tệp Docker Compose
- Có mẫu pull request
- Đọc hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của solidjs/solid
-
`lazy()`: remounting an already-loaded component renders empty (or the Suspense fallback) since 1.9.14Có thể đã có người làm @itisrmk đã nhận 5 ngày trước. Đang mở1.x
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 62/100
Maintainer thường phản hồi trong vòng 1 ngày
-
[2.0] Event handlers fired synchronously from an effect (focus(), showModal()) inherit the effect's strict-read windowCó thể đã có người làm Có pull request liên kết đang mở hoặc đã được merge. Đang mở
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 44/100
Maintainer thường phản hồi trong vòng 1 ngày
-
enhancement
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 35/100
Maintainer thường phản hồi trong vòng 1 ngày
-
`createRoot`'s dispose function keeps `fn` alive, so `<For>`/`<Index>` rows retain removed list itemsCó thể đã có người làm @boombang đã nhận 8 ngày trước. Đang mở1.x
Độ khó 4/5 1-2 ngày Mức phù hợp với người mới 45/100
Maintainer thường phản hồi trong vòng 1 ngày
-
enhancement
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 35/100
Maintainer thường phản hồi trong vòng 1 ngày
Tất cả issue của solidjs/solid
Issue tương tự
-
area:agent-view area:tui bug platform:macos
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 70/100
anthropics/claude-code#104558 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
[CURRICULUM] computation fakdĐang mởupdater
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
UniversityOfHelsinkiCS/oodikone#5141 ·
-
maintanance
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 74/100
inmanta/web-console#7606 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
bug skills
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 77/100
equinor/fusion-framework#5846 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 74/100