Conversation
Is 10397 running script
There was a problem hiding this comment.
Pull request overview
This PR contains a significant update that removes the deprecated "encap" authenticator functionality, removes the login-web-app workspace, and adds multiple improvements including:
Changes:
- Removes all "encap" authenticator references (templates, messages, CSS variables, icon mappings)
- Removes login-web-app workspace from the monorepo
- Adds email-as-username support with conditional "forgot-account-id" link display
- Adds automated downloading and verification of UI Kit previewer runtime with SHA256 checks
- Adds GitHub Actions workflow for releasing platform-specific previewer assets
- Improves Windows platform support across build scripts
- Adds Apache 2.0 LICENSE file
- Updates documentation and adds test code information for Self Service Portal
- Fixes CSS typo (mages → images) and styling improvements
- Adds cross-env for cross-platform environment variable handling
Reviewed changes
Copilot reviewed 65 out of 67 changed files in this pull request and generated 8 comments.
Show a summary per file
| File | Description |
|---|---|
| src/identity-server/unzip-libs.mjs | Adds download, verification, and extraction logic for UI Kit previewer runtime |
| src/identity-server/previewer.js | Improves Windows support and file watching with better configuration handling |
| src/identity-server/templates/core/authenticator/html-form/authenticate/get.vm | Adds email-as-username support and conditional forgot-account-id link |
| src/identity-server/templates/core/authenticator/html-form/reset-password/get.vm | Adds conditional email/username field display |
| src/identity-server/templates/core/authenticator/html-form/create-account/get.vm | Adds conditional email/username field display |
| src/identity-server/templates/core/authenticator/html-form/create-account/post.vm | Fixes missing button class |
| src/identity-server/templates/core/authenticator/encap/* | Removes encap authenticator templates |
| src/identity-server/templates/core/authenticator/bankid/enter-personalnumber/index.vm | Removes bankid template |
| src/identity-server/templates/core/fragments/icon-mappings.vm | Removes encap icon mapping |
| src/identity-server/styles/css/login-skin.css | Fixes typo in image path |
| src/identity-server/styles/css/login-well.css | Changes button selector to direct child only |
| src/identity-server/messages/core//authenticator/encap/ | Removes encap message files |
| src/identity-server/messages/core/*/authenticator/html-form/authenticate/messages | Adds email label and updates validation messages |
| src/identity-server/messages/core/*/authenticator/bankid/launch.properties | Updates QR code timeout documentation |
| src/identity-server/package.json | Adds SKIP_PRESTART environment variable support |
| src/identity-server/README.md | Updates documentation with better instructions |
| src/identity-server/debug.vm | Removes encap debug variables |
| src/self-service-portal/app/package.json | Adds SKIP_PRESTART environment variable support |
| src/self-service-portal/app/README.md | Adds test code information |
| src/common/css/lib/src/curity-theme.css | Removes encap authenticator color variable |
| src/common/css/lib/src/base/base-forms.css | Adds catch-all input type selector |
| src/common/css/lib/src/base/base-buttons.css | Adds button styling for links and grey buttons |
| src/common/css/lib/src/base/base-authenticator-buttons.css | Updates dark theme button colors and removes encap button styles |
| src/common/css/lib/readme.md | Updates documentation |
| src/common/css/docs/src/pages/introduction/theming.mdx | Removes encap color variable |
| src/common/css/docs/README.md | Updates documentation |
| src/common/css/README.md | Updates documentation |
| src/common/css/package.json | Adds SKIP_PRESTART environment variable support |
| src/common/component-library/package.json | Adds start script and updates description |
| src/common/component-library/README.md | Updates description |
| package.json | Removes login-web-app workspace, adds cross-env dependency, adds prestart script |
| package-lock.json | Adds cross-env dependency |
| index.html | Updates UI with GitHub link, toast notifications, and various styling improvements |
| README.md | Major documentation update with monorepo structure, setup instructions, and license |
| LICENSE | Adds Apache 2.0 license file |
| .github/workflows/release-previewer.yml | Adds workflow for building and releasing platform-specific previewer assets |
Comments suppressed due to low confidence (1)
src/identity-server/unzip-libs.mjs:38
- The presence check uses 'run-ui-kit-server.sh' which will not exist on Windows systems since Windows uses .cmd files. This will cause the script to always try to download and unzip on Windows even if the runtime is already present. Consider checking for platform-specific presence files or using a platform-independent marker file.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| import crypto from 'node:crypto'; | ||
|
|
||
| async function main() { | ||
| const version = '1.0.0'; |
There was a problem hiding this comment.
The hardcoded version '1.0.0' should be obtained dynamically from the release tag or package version. This makes the script inflexible and requires manual updates when creating new releases. Consider reading the version from package.json or passing it as an environment variable.
| text-decoration: none; | ||
|
|
||
| &:is(.button-grey) { | ||
| color: white |
There was a problem hiding this comment.
Missing semicolon after 'color: white' on line 234. This is a CSS syntax error that will cause the rule to be invalid.
| color: white | |
| color: white; |
| background-color: var(--form-field-background-color-dark); | ||
| border-width: 0; | ||
| color: white; | ||
| color: black; |
There was a problem hiding this comment.
Changing the text color from 'white' to 'black' for dark theme social buttons may create contrast issues if the background is dark. The form-field-background-color-dark is typically a dark color, and black text on a dark background would be difficult to read. Consider using white or a lighter color for better accessibility and contrast.
| color: black; | |
| color: white; |
|
|
||
| See the default [curity-theme.css](./src/curity-theme.css) for details. | ||
|
|
||
| ```css |
There was a problem hiding this comment.
There is an unclosed code block starting with ```css on line 23. This should either be removed or completed with proper CSS code and a closing fence. This creates a malformed markdown document.
| input[type='url'], | ||
| input[type='date'], | ||
| input[type='week'], | ||
| input[type]:not([type='submit']):not([type='reset']), |
There was a problem hiding this comment.
The selector 'input[type]:not([type='submit']):not([type='reset'])' on line 88 is redundant because 'input[type]' already matches all input elements with a type attribute. This selector will match all input types except submit and reset, potentially including types like 'checkbox', 'radio', 'file', 'image', 'button', etc., which may not need text field styling. This could cause unintended styling issues. Consider either removing this catch-all rule or being more specific about which input types should be styled.
| input[type]:not([type='submit']):not([type='reset']), |
| const expectedSha256BySuffix = { | ||
| "linux-arm64": '69be61326f5d305ed5b0d27659bb5a6ecf2fc9fc517a1f7a1ed4a560011591dd', | ||
| "linux-x64": '6050d404473c3fbba707513d8f99d3f10fc953e6fe6cc8a118b2a22c99ea1729', | ||
| "macos-arm64": 'b9c227f429adbb7089b6b88ad1676e546bb57faf5c9abe5f22cdbafe90c61e1e', | ||
| "windows-x64": 'e572cc627d7aee9fd7f3928ba9bd9004da367ce83cb58e54616d2a17872b2c5e', | ||
| }; |
There was a problem hiding this comment.
The 'macos-x64' platform is missing from the expectedSha256BySuffix mapping, but it is supported in the resolveAssetSuffix function and the GitHub workflow. This will cause the script to skip SHA256 verification for macOS x64 builds since expectedSha256 will be undefined. Either add the SHA256 hash for 'macos-x64' or remove it from the supported platforms.
| </svg> | ||
| GitHub</a | ||
| > | ||
| <a href="https://curity.io/" target="_blank" ;>curity.io</a> |
There was a problem hiding this comment.
There is a stray semicolon after 'target="_blank"' that should not be there. This creates invalid HTML syntax. The semicolon should be removed.
| <a href="https://curity.io/" target="_blank" ;>curity.io</a> | |
| <a href="https://curity.io/" target="_blank">curity.io</a> |
| - uses: actions/upload-release-asset@v1 | ||
| env: | ||
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||
| with: | ||
| upload_url: ${{ github.event.release.upload_url }} | ||
| asset_path: curity-ui-kit-previewer-${{ env.VERSION }}-${{ matrix.asset_suffix }}.zip | ||
| asset_name: curity-ui-kit-previewer-${{ env.VERSION }}-${{ matrix.asset_suffix }}.zip | ||
| asset_content_type: application/zip |
There was a problem hiding this comment.
The workflow uses 'actions/upload-release-asset@v1' which is deprecated. GitHub recommends using 'softprops/action-gh-release' or 'actions/upload-artifact' followed by a separate release step. The v1 action may stop working in the future, causing CI/CD failures.
| - uses: actions/upload-release-asset@v1 | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| with: | |
| upload_url: ${{ github.event.release.upload_url }} | |
| asset_path: curity-ui-kit-previewer-${{ env.VERSION }}-${{ matrix.asset_suffix }}.zip | |
| asset_name: curity-ui-kit-previewer-${{ env.VERSION }}-${{ matrix.asset_suffix }}.zip | |
| asset_content_type: application/zip | |
| - uses: softprops/action-gh-release@v2 | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| with: | |
| files: curity-ui-kit-previewer-${{ env.VERSION }}-${{ matrix.asset_suffix }}.zip |
No description provided.