Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Re-join call after code push causes a reload #1314

Closed
ebroder opened this issue Jan 10, 2023 · 0 comments · Fixed by #1329
Closed

Re-join call after code push causes a reload #1314

ebroder opened this issue Jan 10, 2023 · 0 comments · Fixed by #1329

Comments

@ebroder
Copy link
Member

ebroder commented Jan 10, 2023

Today, if we push out code to Jolly Roger, everyone's client will refresh and anyone currently on a call will get disconnected.

My intuition is that if we were previously in a call, we should re-join the call after the page is refreshed. There are a few tools we could use to make that happen. One is Meteor's reload package, which specifically allows you to thread through data across a reload. Another option would be to use use-persisted-state along with sessionStorage, which is local to the tab and doesn't persist. (sessionStorage might make it tricky to tell if the we refreshed the page due to code updates, or if the user refreshed the page on their own, in which case we plausibly would not want to rejoin the call)

@zarvox proposed an alternative on #594:

As another point in design space for avoiding data loss during Meteor reload: Sandstorm had a scheme where if you had any grains open at the time, it'd inhibit reload from refreshing until you closed all of them or clicked on the "update available -- click here to reload" banner: https://github.com/sandstorm-io/sandstorm/blob/master/shell/imports/sandstorm-ui-topbar/topbar.js#L27-L55 . That approach makes it a bit more likely there are still old clients running around in the wild, though.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
1 participant