Skip to content

multiplexStorage source of truth #799

@developerdizzle

Description

@developerdizzle

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions