-
Notifications
You must be signed in to change notification settings - Fork 1.4k
Description
Summary
Open MCT uses LocalStorage for various persistence purposes, even when object persistence is on the server. User recent objects, UI customizations and settings, etc. LocalStorage is shared between any applications on the same host and port. This can cause collisions when multiple Open MCT instances are hosted from the same host and port.
There are a couple of potential solutions to this. A simple solution is simply to namespace all of our LocalStorage operations. In this scenario each instance has some unique identifier that is prepended or appended to any storage keys used.
The downside of this is that LocalStorage capacity is extremely limited, so supporting multiple Open MCT instances is challenging from a capacity perspective.
There are alternatives to LocalStorage available, such as IndexedDB. When considering IndexedDB we should also consider using a persistence API such as PouchDB would add value here.
Impact Check List
- Data loss or misrepresented data?
- Regression? Did this used to work or has it always been broken?
- Is there a workaround available?
- Does this impact a critical component?
- Is this just a visual bug with no functional impact?
- Does this block the execution of e2e tests?
- Does this have an impact on Performance?