Performance: Server-side-like pagination via web worker
Instead of holding all resources in the VueX store, only hold the resources for the current page in a list.
A web worker presents a paginated resource UI to the UI - it fetches all resources of a given type and processes the web socket messages to keep those up to date.
When a list is requested by the UI, the web worker will sort, filter and paginate the resources required and return this back to the UI - which can store if in the VueX store.
When updates come in, the web worker processes those, determines if they affect any active pages, and if so, sends the updates to the UI which then updates the VueX store, resulting in the same reactivity we have now, so the list will auto update.
When a user leaves a page, the lists on it are removed and the web worker stops sending updates through - but keeps processing updates for the resources it holds (We may choose not to keep all resources in memory at a later time).