Automatically re-join calls after code-push-triggered reload #1324
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
If Meteor triggers a page reload due to out-of-date code, stash the current state of whatever call we're in in sessionStorage, and use that to automatically re-join the call afterwards. We do some shenanigans to ensure that this only happens when Meteor triggers a page reload (as opposed to the user refreshing the page on their own).
Fixes #1314
This doesn't 100% work yet - it doesn't suppress
allowInitialPeerStateNotification
, so if you're muted and the page refreshes for a code push, you'll get the large call popup. It's also somewhat annoying to test in development mode, because hot-module-replacement completely prevents Meteor-drive page reloads. I temporarily ranmeteor remove hot-module-replacement
temporarily in my local copy for testing, although I think that completely stopping and restarting the Meteor server might also trigger a full-page refresh.