solidjs-community/solid-primitives

multiplexStorage source of truth

Offen

#799 geöffnet am 27.06.2025

 (7 Kommentare) (0 Reaktionen) (1 zugewiesene Person)TypeScript (153 Forks)auto 404
enhancementhelp wanted

Repository-Metriken

Stars
 (1.541 Sterne)
PR-Merge-Metriken
 (PR-Metriken ausstehend)

Beschreibung

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