solidjs-community/solid-primitives

[storage] The `messageSync` is not syncing between multiple browser tabs on different paths

Open

#703 opened on Sep 30, 2024

 (1 comment) (0 reactions) (1 assignee)TypeScript (153 forks)auto 404
help wanted

Repository metrics

Stars
 (1,541 stars)
PR merge metrics
 (PR metrics pending)

Description

Describe The Problem To Be Solved

Currently, the url of postMessage argument is manually set to location.href in the code: https://github.com/solidjs-community/solid-primitives/blob/dceb3800fac83c9c1d99b8054a0dd44a280c6646/packages/storage/src/persisted.ts#L214-L217

This means that synchronization is only available for tabs that are on the same path. If the tabs are on different paths, synchronization will not occur. However, synchronization will resume if the tabs navigate back to the same path and a message is posted.

Suggest A Solution

  • Allow customizing the postMessage's url argument for the messageSync.
  • Remove this argument in the code so synchronization is available for all paths by default.

Contributor guide