Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

[2.0 / next] A direct write does not clear a writable memo's previous error

Open
#4,110 0 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
35/100
Issue type
Bug
Clarity
Mostly clear
Activity status
Active
Domain
frontend

Research direction

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.

Written by the indexing model from the issue text.

Description

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
  1. Open the playground. The boundary shows Error: boom.
  2. Click Set value to 2.
  3. The boundary continues showing Error: boom instead of Value: 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 current next@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.

Dominant language
TypeScript
Stars
36.1k
Forks
1.1k
Avg merge
11h 32m
Merged PRs (30d)
356

Getting set up

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from solidjs/solid

All issues in solidjs/solid

Similar issues

More TypeScript issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.