Problem:
When you deploy a new version of your SPA, users with a tab open will keep using the old SPA code.
Solution:
1. Specify the app version in each HTTP call from the UI via a x-app-version header.
2. Validate the x-app-version header on the API server. If x-app-version doesn't match the server's version, return an HTTP 400.
3. When the UI receives a 400 status code, tell the user to reload.