solidjs-community / solidjs-community/solid-primitives

multiplexStorage source of truth

Open
#799 7 comments 0 reactions 1 assignee View on GitHub

@atk is already working on this.

Since Jul 5, 2026.

enhancement help wanted
Dominant language
TypeScript
Stars
1.6k
Forks
162
Avg merge
19h 40m
Merged PRs (30d)
8

Description

Describe the bug

The docs for multiplexStorage state

For the getItem operation, the first storage that returns a valid value will be the source of truth.

But I am able to reproduce a scenario where the first storage has no value, the second storage has a value, but the value from the second storage is not used as the source of truth.

Steps to repro:

  1. Navigate to https://playground.solidjs.com/anonymous/f998757e-6b08-4054-9e7a-87a0b20902a7
  2. Verify that the counter button is set to 1
  3. Click the counter button once, incrementing it to 2
  4. Verify that the count in localStorage has been set to 2Image
  5. Verify that the count in indexedDB/localForage has been set to 2Image
  6. Refresh the page
  7. Verify that the counter button is still correctly set to 2
  8. Delete the localStorage record for count
  9. Refresh the page
  10. Verify that the counter button is incorrectly set back to 1
  11. Verify that the count in indexedDB/localForage is still set to 2

This seems to show that the localForage storage option is not being used, despite being the only storage option returning a valid value.

Minimal Reproduction Link

https://playground.solidjs.com/anonymous/f998757e-6b08-4054-9e7a-87a0b20902a7

Contributor guide

Open the contributing guide

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.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.