enh: issue-767 UI component update#1041
Conversation
There was a problem hiding this comment.
Summary of Changes
Hello @tedhabeck, 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 significantly enhances the BeeAI UI by implementing w3id authentication. The primary goal is to enable secure user access through OpenID Connect (OIDC), leveraging the next-auth library. This change introduces a new authentication flow, including a dedicated sign-in page, and updates the application's build and deployment configurations to support OIDC providers. The overall impact is a more secure and enterprise-ready user interface.
Highlights
- W3ID Authentication: The UI now supports w3id authentication, enhancing security and access control for the application.
- Next-Auth Integration: The
next-authlibrary has been integrated into the UI, providing a robust and flexible authentication solution. - New Sign-In Page: A dedicated sign-in page has been added to handle user authentication, offering a clear entry point for users.
- Documentation Updates: The
CONTRIBUTING.mddocumentation has been updated with detailed instructions on how to enable and configure OIDC for local development and deployment. - Helm Chart Enhancements: New Helm chart templates and
values.yamlconfigurations have been introduced to manage OIDC providers and secrets for Kubernetes deployments.
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 in your pull request via creating an issue comment (i.e. comment on the pull request page) using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands.
| 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 issue 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
-
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. ↩
|
Warning Gemini encountered an error creating the review. You can try again by commenting |
|
/gemini review |
There was a problem hiding this comment.
Code Review
This pull request introduces w3id authentication to the UI using next-auth, which is a significant enhancement. The changes are extensive, including documentation updates, new dependencies, UI components for sign-in, and Helm chart configurations. My review has identified several issues, including typos in documentation and configuration files, a potential bug in the landing page logic, and a critical lack of error handling for file operations that could crash the application. I've also noted the use of a beta version for next-auth, which might pose a risk in production environments.
Signed-off-by: habeck <habeck@us.ibm.com>
Signed-off-by: habeck <habeck@us.ibm.com>
Signed-off-by: Radek Ježek <radek.jezek@ibm.com> Signed-off-by: habeck <habeck@us.ibm.com>
Signed-off-by: Jan Pokorný <JenomPokorny@gmail.com> Signed-off-by: habeck <habeck@us.ibm.com>
Signed-off-by: Jan Pokorný <JenomPokorny@gmail.com> Signed-off-by: habeck <habeck@us.ibm.com>
Signed-off-by: Jan Pokorný <JenomPokorny@gmail.com> Signed-off-by: habeck <habeck@us.ibm.com>
Signed-off-by: Jan Pokorný <JenomPokorny@gmail.com> Signed-off-by: habeck <habeck@us.ibm.com>
Signed-off-by: Tomas Pilar <thomas7pilar@gmail.com> Signed-off-by: habeck <habeck@us.ibm.com>
Signed-off-by: Radek Ježek <radek.jezek@ibm.com> Signed-off-by: habeck <habeck@us.ibm.com>
Signed-off-by: Radek Ježek <radek.jezek@ibm.com> Signed-off-by: habeck <habeck@us.ibm.com>
Signed-off-by: Jan Pokorný <JenomPokorny@gmail.com> Signed-off-by: habeck <habeck@us.ibm.com>
Signed-off-by: Jan Pokorný <JenomPokorny@gmail.com> Signed-off-by: habeck <habeck@us.ibm.com>
Signed-off-by: Radek Ježek <radek.jezek@ibm.com> Signed-off-by: habeck <habeck@us.ibm.com>
…1040) Signed-off-by: Radek Ježek <radek.jezek@ibm.com> Signed-off-by: habeck <habeck@us.ibm.com>
Signed-off-by: habeck <habeck@us.ibm.com>
Signed-off-by: Radek Ježek <radek.jezek@ibm.com> Signed-off-by: habeck <habeck@us.ibm.com>
Signed-off-by: Petr Kadlec <petr@puradesign.cz> Signed-off-by: habeck <habeck@us.ibm.com>
Signed-off-by: habeck <habeck@us.ibm.com>
Signed-off-by: habeck <habeck@us.ibm.com>
Signed-off-by: habeck <habeck@us.ibm.com>
Signed-off-by: Jan Pokorný <JenomPokorny@gmail.com> Signed-off-by: habeck <habeck@us.ibm.com>
Signed-off-by: Jan Pokorný <JenomPokorny@gmail.com> Signed-off-by: habeck <habeck@us.ibm.com>
Signed-off-by: habeck <habeck@us.ibm.com>
Signed-off-by: habeck <habeck@us.ibm.com>
fd5d3f6 to
4dc2762
Compare
Signed-off-by: habeck <habeck@us.ibm.com>
Signed-off-by: habeck <habeck@us.ibm.com>
Signed-off-by: habeck <habeck@us.ibm.com>
PetrBulanek
left a comment
There was a problem hiding this comment.
When I start the build using mise beeai-platform:start and then go to the UI, which runs by default at http://localhost:8334/, I am redirected to the sign-in page with a login button, but when I open the agent menu from the header, I can easily navigate to another route. Is this the correct behavior? I would expect the sign-in page to have a different layout (the list of agents would not be visible until I log in) and any navigation elsewhere would be blocked with a redirect back to the sign-in page.
There was a problem hiding this comment.
There was a problem hiding this comment.
I'm using visual studio code (latest) and have the stylelint plugin installed. I do not see those CSS warnings. Is there something I need to configure in settings?
There was a problem hiding this comment.
You are right. The stylelint rules were not working properly, the #1068 is fixing that.
kapetr
left a comment
There was a problem hiding this comment.
@tedhabeck Would it be possible to share a configuration so we can test w3id locally?
I assume the visual design of the login page is subject to change and not part of this PR?

Signed-off-by: habeck <habeck@us.ibm.com>
Signed-off-by: habeck <habeck@us.ibm.com>
Signed-off-by: habeck <habeck@us.ibm.com>
Signed-off-by: habeck <habeck@us.ibm.com>
Signed-off-by: habeck <habeck@us.ibm.com>
Good catch!
|
…nt in utils/constants.ts Signed-off-by: habeck <habeck@us.ibm.com>
Signed-off-by: habeck <habeck@us.ibm.com>
Signed-off-by: habeck <habeck@us.ibm.com>
Signed-off-by: habeck <habeck@us.ibm.com>
Signed-off-by: habeck <habeck@us.ibm.com>
Signed-off-by: habeck <habeck@us.ibm.com>
…lows/ Signed-off-by: habeck <habeck@us.ibm.com>
| Output: | ||
| ```bash | ||
| ⚠ Self-signed certificates are currently an experimental feature, use with caution. | ||
| Downloading mkcert package... | ||
| Download response was successful, writing to disk | ||
| Attempting to generate self signed certificate. This may prompt for your password | ||
| Sudo password: | ||
| Sorry, try again. | ||
| Sudo password: | ||
| CA Root certificate created in /Users/habeck/Library/Application Support/mkcert | ||
| Certificates created in /Users/habeck/beeai-istio-helm/beeai-platform/apps/beeai-ui/certificates | ||
| Adding certificates to .gitignore | ||
| ▲ Next.js 15.3.4 | ||
| - Local: https://localhost:3000 | ||
| - Network: https://192.168.1.92:3000 | ||
| - Environments: .env | ||
| - Experiments (use with caution): | ||
| ⨯ cssChunking | ||
|
|
||
| ✓ Starting... | ||
| ✓ Ready in 1705ms | ||
| ⚠ ./src/auth.ts |
There was a problem hiding this comment.
Does it make sense to keep this console output here?
There was a problem hiding this comment.
There's quite a bit of duplicated code. We could move the common parts to the parent layout and only keep the differences between (main) and (signin) layouts here. We can refactor this later.
Petr is out on vacation. The PR has been reviewed by Petr Kadlec

Enable w3id authentication in the UI.