funkensturm / ember-local-storage

The addon provides a storageFor computed property that returns a proxy and persists the changes to localStorage or sessionStorage. It ships with an ember-data adapter.
https://www.funkensturm.com/ember-local-storage/
MIT License
218 stars 76 forks source link

Ability to disable window syncing #298

Open richard-viney opened 5 years ago

richard-viney commented 5 years ago

Hi,

We're currently using a small fork of this project that disables syncing across windows. It literally just comments out one line in order to achieve this: https://github.com/funkensturm/ember-local-storage/blob/eece52d4c5ea1b528ed3e5dfc9eaa8c56be6fd3e/addon/mixins/storage.js#L49

We'd like to avoid using a fork if possible, so would this be able to be made into a global option? I'll do a PR for the change, just want to get the go-ahead from a maintainer first on the approach. I can't see any existing global options configurable via ember-cli-build.js, but can add that system in the PR.

Alternatively, we could use the existing 'options hash that can be passed to storageFor(), but this appears to be deprecated and tagged for removal in 2.0. If we instead deprecated just the legacyKey property and not the whole options hash then it could be used for this config too. This feels a bit awkward though, as really these are global options, so having to specify them on every call to storageFor() may not be ideal.

Thoughts?

Best, Richard

fsmanuel commented 5 years ago

@richard-viney Thanks for the feedback. I think a global option is a good idea. I added namespace support (which is not released yet) that uses config/environment.js. See the new configuration section in the readme. So I guess that would be a good place to disable the cross window sync.

I'm happy to accept a PR and if you need more help let me know!

richard-viney commented 5 years ago

Have done an initial PR for this: #299.