You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Probably need a broader strategy around state management, since we are using the snapshotting feature which may well end up causing performance issues.
There are five or so reducers at the moment, that all get combined by redux.
There is also the SessionState module utilized in the top-level AppView to restore the state after app restarts. I guess this does all the whole state. Does this mean that the whole state gets re-written whenever any item in any reducer gets updated? i.e. every second at a minimum. Perhaps we shouldn't keep seconds in redux but as a local state element?
In general, it would be nice to split the snapshotting out somewhat since parts of the state are read-only for all intents and purposes. Things like the board, set and programs sections of the session reducer. Certainly the history state will be largely static. We don't want to be constantly re-writing this data...
Now that we have moved to redux-persist instead of the homegrown solution included in the older pepperoni-app-kit there is a way forward maybe? We are using redux-persist-immutable, which is a drop-in replacement of redux-persist with immutable.js support and there are, as of this writing, some concerns that need resolution.
More broadly, the entire redux-persist ecosystem seems to be undergoing breaking changes in moving from v4 (which we currently use) to v5. We should maybe table this discussion until that situation settles out.
I've commented in the appropriate redux-persist-immutable issue.
So when we change, we can default new values/upgrade old values, etc.
The text was updated successfully, but these errors were encountered: