I’m developing an ember application that uses synchronized and versioned data from clients. To prevent clients to update instantly their data version every time a new release of the app is made, we decided to support a window of versions (let’s say the current app version and the previous two). We want to handle this version control automatically, so the user will only see that new features have been added when the data version has been updated; otherwise, they keep seeing the same app that they have been using before. To achieve this, we thought of separating the authentication process into a different application so, when a user logs in
app.com, he or she is redirected to
app.com/vX/dashboard, where vX is the version supported for that user’s data.
This approach works and makes easy the deployment process because when a new app version is released, we only need to add a new vX path for the deployed files and this keeps the previous versions still available on their own paths. But having the Auth process separate into a different app makes development and testing harder. The app makes also a heavy use of service workers so this can be challenging to handle when the users change from one version to another.
What’s your opinion about this? Is there a better way to handle this scenario? Am I missing unforeseen consequences of this that will make this solution a terrible choice? I will welcome any feedback you can provide me.