Disentangle components
Our components are too dependent on each other in many places. We are basically breaking the purpose of Vuex as a provider of a single source of truth by passing objects, copying/cloning them in lots of places.
The API Vuex stores implement caching, so we can very well re-fetch things time and time again.
This would help solve problems of stale objects in forms and lists.
Things to change:
- All forms that change stuff should only get a string-id passed to them, then load, clone and save an API object. The notification of a changed item should work through feathers-hooks that broadcast update events.
- A page should always use the URL ID(s) to load its related content. Nothing ever should be passed into them from a surrounding Layout.
This is an ongoing issue, we need to gather all the necessary affected issues and then formulate concrete todos from this.