-
Notifications
You must be signed in to change notification settings - Fork 9.2k
fix: wrap OAuth login URL to prevent truncation in narrow terminals #12805
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
Problem: The authorization URL displayed during OAuth login was truncating on narrow terminals that don't break long tokens. Solution: This fix uses the existing wrap-ansi dependency to properly wrap the URL to the current terminal width, ensuring the full authorization link is displayed. Both the NO_BROWSER user-code flow and the web login flow now display wrapped URLs that fit within the terminal width while maintaining readability. Issue: google-gemini#12137
|
Thanks for your pull request! It looks like this may be your first contribution to a Google open source project. Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA). View this failed invocation of the CLA check for more information. For the most up to date status, view the checks section at the bottom of the pull request. |
Summary of ChangesHello @georgehulme, 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 addresses a display bug where lengthy OAuth authorization URLs were not properly formatted in terminal output, leading to truncation. By integrating text wrapping functionality using an existing library, the change ensures that these critical URLs are always fully visible and readable, adapting to various terminal widths and enhancing the user's authentication experience. Highlights
Using Gemini Code AssistThe 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
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 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
|
There was a problem hiding this 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 where long OAuth login URLs could be truncated in narrow terminals. The solution uses the wrap-ansi package to wrap the URL to the terminal width, which has been correctly applied to both the web login and user-code authentication flows. My review includes one suggestion to improve code consistency and maintainability by refactoring the duplicated logic for determining terminal width.
Summary
The authorization URL displayed during OAuth login was truncating on narrow terminals that don't break long tokens.
Details
This fix uses the existing wrap-ansi dependency to properly wrap the URL to the current terminal width, ensuring the full authorization link is displayed.
Both the NO_BROWSER user-code flow and the web login flow now display wrapped URLs that fit within the terminal width while maintaining readability.
Related Issues
Issue: #12137
How to Validate
Pre-Merge Checklist