Move install check to uirouter state#8810
Merged
jniles merged 2 commits intoJul 3, 2026
Merged
Conversation
This commit moves the installation check to the router, removing vestigial code from the login controller and ensuring that we never hit the login controller if we are not in an installed state. It also moves the language selection to the installation code base so that users can switch languages during the installation phase. Closes third-culture-software#5260.
Contributor
There was a problem hiding this comment.
Pull request overview
Moves the “is server installed” gate out of the login controller/template and into ui-router transition logic to prevent reaching the login state when the server is not installed, while also shifting language selection to the install wizard.
Changes:
- Removes installation-status checks and related UI from the login controller/view.
- Adds a transition-time install check that redirects unauthenticated users away from
logintoinstallwhen needed. - Adds language selection controls to the install wizard (controller + template), and updates npm metadata/lockfile.
Reviewed changes
Copilot reviewed 6 out of 7 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| package.json | Adds an allowScripts entry for Puppeteer. |
| package-lock.json | Updates lockfile dependency graph/versions (large churn). |
| client/src/modules/login/login.js | Removes InstallService usage and simplifies async handlers. |
| client/src/modules/login/login.html | Removes pre-install UI and install-check loading indicator from login page. |
| client/src/modules/install/install.js | Loads languages in install controller and exposes language service to the view. |
| client/src/modules/install/install.html | Adds language dropdown to install wizard. |
| client/src/js/app.js | Adds install-status guard for routing to the login state in $transitions.onBefore(). |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Comment on lines
+20
to
+31
| vm.settings = { language : Languages.key }; | ||
| vm.languageService = Languages; | ||
|
|
||
| // expose methods to the view | ||
| vm.submit = submit; | ||
|
|
||
| // bind the language service for use in the view | ||
| Languages.read() | ||
| .then(languages => { | ||
| vm.languages = languages; | ||
| }) | ||
| .catch(Notify.handleError); |
Comment on lines
+105
to
+109
| // NEW: don't let anyone reach the login page unless the application | ||
| // has actually been installed - send them to the install wizard instead. | ||
| } if (!isAuthenticated && isLoginState) { | ||
|
|
||
| return InstallService.checkBasicInstallExist() |
Merged
via the queue into
third-culture-software:master
with commit Jul 3, 2026
af17ac6
2 checks passed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Moves the "is server installed" check into the ui-router state transitions and out of the login controller. This both cleans up the login control, prevents accidental routing to the login controller and opens the door for better installation handling in the future.
Closes #5260.