Skip to content

fix(keycloak-theme): force build to resolve React from package path#2353

Merged
kapetr merged 2 commits intomainfrom
fix/keycloak-react-version-mismatch
Mar 9, 2026
Merged

fix(keycloak-theme): force build to resolve React from package path#2353
kapetr merged 2 commits intomainfrom
fix/keycloak-react-version-mismatch

Conversation

@kapetr
Copy link
Contributor

@kapetr kapetr commented Mar 9, 2026

Summary

Fixes Keycloak login blank page caused by mixed React runtimes in the keycloak-theme build.
The Vite config now dedupes and aliases react, react-dom and JSX runtime imports to the local package path, ensuring a single runtime in bundled assets - this keeps both custom-themed pages and Keycloakify fallback pages working consistently in local and platform deployments.

Linked Issues

Closes #2347

Documentation

  • No Docs Needed:

If this PR adds new feature or changes existing. Make sure documentation is adjusted accordingly. If the docs is not needed, please explain why.

@dosubot dosubot bot added the size:M This PR changes 30-99 lines, ignoring generated files. label Mar 9, 2026
@gemini-code-assist
Copy link
Contributor

Summary of Changes

Hello, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request stabilizes the Keycloak theme's frontend by enforcing a consistent React runtime environment within the build. The changes prevent issues like blank login pages that arise from conflicting React versions or multiple instances of React being loaded, thereby ensuring both custom-themed and Keycloakify fallback pages function correctly across local and platform deployments.

Highlights

  • Keycloak Login Page Fix: Resolved the blank Keycloak login page issue by addressing mixed React runtimes in the keycloak-theme build process.
  • Vite Configuration Update: Modified the Vite configuration to dedupe and alias react, react-dom, and JSX runtime imports, ensuring a single React runtime is used across bundled assets for consistent behavior.

🧠 New Feature in Public Preview: You can now enable Memory to help Gemini Code Assist learn from your team's feedback. This makes future code reviews more consistent and personalized to your project's style. Click here to enable Memory in your admin console.

Changelog
  • apps/keycloak-theme/vite.config.ts
    • Added dedupe configuration for react and react-dom within the resolve options.
    • Introduced explicit alias configurations for react, react-dom, react/jsx-runtime, and react/jsx-dev-runtime to point to their respective node_modules paths.
    • Updated string literals from double quotes to single quotes for consistency.
Activity
  • No specific activity has been recorded for this pull request yet.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for GitHub and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request fixes an issue with mixed React runtimes in the Keycloak theme build by updating the Vite configuration. The changes introduce dedupe and alias properties to ensure a single instance of React is used. The implementation is sound, but I've suggested a couple of improvements to make the path resolution in the Vite config more robust by using require.resolve instead of hardcoding node_modules paths. This will make the build less likely to break with different package manager setups or in a monorepo environment.

@dosubot dosubot bot added the lgtm This PR has been approved by a maintainer label Mar 9, 2026
kapetr added 2 commits March 9, 2026 18:43
Signed-off-by: Petr Kadlec <petr@puradesign.cz>
Signed-off-by: Petr Kadlec <petr@puradesign.cz>
@kapetr kapetr force-pushed the fix/keycloak-react-version-mismatch branch from ec8b1f9 to ede40fb Compare March 9, 2026 18:00
@kapetr kapetr merged commit 0806b4c into main Mar 9, 2026
14 of 15 checks passed
@kapetr kapetr deleted the fix/keycloak-react-version-mismatch branch March 9, 2026 18:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

lgtm This PR has been approved by a maintainer size:M This PR changes 30-99 lines, ignoring generated files.

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

UI - Keycloak theme stopped working

2 participants