Open braxtonmckee opened 5 years ago
A couple of things about this:
SessionState
on the server side, we can store this in the browser's localStorage
and, when a page loads/reloads, attempt to use that information to grab the initial state from the server. This is a common practice in frontend land.On Fri, Jun 28, 2019 at 12:35 PM Eric Gade notifications@github.com wrote:
A couple of things about this:
- If there is some unique, persistent id for a given SessionState on the server side, we can store this in the browser's localStorage and, when a page loads/reloads, attempt to use that information to grab the initial state from the server. This is a common practice in frontend land.
- We should think about how we want to differentiate between single-client state (ie, things that matter for just one specific user) and "global" client state (ie where some change or event on the server side updates every client's view). We can and probably should make this a part of the WS lifecycle refactor by introducing "channels" to outbound websocket messages. One channel could be updates on the UI of specific users and another to broadcast to other users.
— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/APrioriInvestments/nativepython/issues/111?email_source=notifications&email_token=AB6OHBBQLDLUOZX6OVW7EQ3P4Y4UXA5CNFSM4H3CSHH2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODY2R7JI#issuecomment-506797989, or mute the thread https://github.com/notifications/unsubscribe-auth/AB6OHBF2MBFVSCBZV6T6GBTP4Y4UXANCNFSM4H3CSHHQ .
Right now we store some session state (chosen tabs, opened treeviews for example) in Slots. If you bounce the browser, you lose this state. Similarly, if you navigate panes. We should be storing all of this in SessionState objects that are appropriately scoped (so that the same piece of UX in the hierarchy always ends up with the same identity) so that we don't lose this state.