-
-
Notifications
You must be signed in to change notification settings - Fork 54
v6.6.60 #70
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
v6.6.60 #70
Conversation
fix(config): preserve original config structure and avoid default value pollution
Summary of ChangesHello @luispater, 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 primarily focuses on refining the application's configuration management, particularly concerning how YAML files are merged and how default values are handled. It introduces a more robust and explicit mechanism for preventing the persistence of zero-value configuration entries, leading to cleaner and more maintainable settings. Additionally, it streamlines the API for streaming parameters by changing their underlying data types and includes minor cleanup in build-related ignore files and a fix for OpenAI request translation to ensure empty content is properly managed. Highlights
🧠 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. 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 introduces several improvements and cleanups. The .dockerignore and .gitignore files have been updated. A significant refactoring in internal/config/config.go improves how default values are handled when persisting YAML configuration, making the output cleaner. The StreamingConfig in internal/config/sdk_config.go has been simplified by changing pointer types to value types, which reduces complexity and nil checks throughout the codebase. Corresponding handlers and tests have been updated accordingly. A small bug fix in the OpenAI translator prevents adding empty message parts. My review includes a suggestion to make the new zero-value check for numbers more robust.
I am having trouble creating individual review comments. Click here to see my feedback.
internal/config/config.go (939-940)
The current check for zero values for integers and floats is not fully robust as it only checks for specific string representations ("0" and "0.0"). This can miss other valid zero representations like "0.00", "0e0", "+0", or "-0". Using strconv.ParseInt and strconv.ParseFloat would provide a more reliable way to determine if the node's value is numerically zero, handling various formatting possibilities. This would also require handling !!int and !!float tags in separate case statements. Note that this change will require importing the strconv package.
case "!!int":
val, err := strconv.ParseInt(node.Value, 0, 64)
return err == nil && val == 0
case "!!float":
val, err := strconv.ParseFloat(node.Value, 64)
return err == nil && val == 0
No description provided.