[2.0 / next] A direct write does not clear a writable memo's previous error
维护者通常 1 天内回复
还没有人认领这个 Issue。
评估
- 难度
- 4/5
- 预计耗时
- 3-5 天
- 新手友好度
- 35/100
- Issue 类型
- 缺陷
- 描述清晰度
- 基本清楚
- 活跃度
- 活跃
- 技术栈
- javascript, typescript
- 领域
- frontend
调研方向
Start in packages/signals/src/signals.ts, where the createSignal documentation near line 368 says a direct write should replace the stored error without rerunning the derivation. Read the failed-writable-memo cases and candidate changes in #3886 and the held-error rule in #4085 before touching the write path. Done means a reduced source regression where a write after a throwing initial derivation makes accessor reads, createEffect and the error boundary show the written value.
由索引模型根据 Issue 内容生成。
描述
Describe the bug
A writable memo throws during its initial derivation, and <Errored> shows the error. A button outside the boundary calls its setter with 2, but the boundary continues showing the original error instead of rendering the written value.
Your Example Website or App
https://s.olid.uk/id/PmShIVyvSYWMQLTS5qkkSA
Steps to Reproduce the Bug or Issue
- Open the playground. The boundary shows
Error: boom. - Click Set value to 2.
- The boundary continues showing
Error: boominstead ofValue: 2.
Expected behavior
The direct write should replace the memo's failed outcome with 2, allowing the boundary to recover and render Value: 2 without rerunning the derivation.
Screenshots or Videos
No response
Platform
- OS: Linux
- Browser: Chromium 154.0.8037.57
- Solid: playground pinned to
next@d5e32a9af41c7bfe0bc090f7438ee4297d540b17. A reduced source regression also fails on currentnext@ccd99481deed3ebb567ee11ab7a152ced84d122b.
Additional context
The createSignal documentation says a direct write lands without rerunning the derivation.
The failure also affects ordinary accessor reads and createEffect, which retain the old error after a write. This playground makes it visible through an error boundary.
The failed-writable-memo cases from #3886 are explicitly outside #4085's held-error rule. #3886 contains related regression tests and candidate changes.
- 主要语言
- TypeScript
- 星标
- 36.1k
- 派生
- 1.1k
- 平均合并
- 11 小时 32 分钟
- 30 天内合并 PR
- 356
环境准备
- 没有 Dockerfile 或 Docker Compose 文件
- 有 Pull Request 模板
- 阅读贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
solidjs/solid 的其他 Issue
-
难度 4/5 3-5 天 新手友好度 22/100
维护者通常 1 天内回复
-
难度 5/5 一周以上 新手友好度 14/100
维护者通常 1 天内回复
-
难度 4/5 3-5 天 新手友好度 18/100
维护者通常 1 天内回复
-
难度 4/5 3-5 天 新手友好度 22/100
维护者通常 1 天内回复
-
难度 4/5 3-5 天 新手友好度 15/100
维护者通常 1 天内回复
相似的 Issue
-
难度 2/5 1-3 小时 新手友好度 76/100
melgarafael/DeskcommCRM#3000 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 70/100
callstackincubator/simlock#639 ·
维护者通常 1 天内回复
-
bug
难度 2/5 1-3 小时 新手友好度 80/100
aws/agentcore-cli#2606 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 76/100
维护者通常 7 天内回复
-
ai-driven-qa bug Cosmetic
难度 2/5 1-3 小时 新手友好度 74/100
维护者通常 1 天内回复