fix: truncate conversation variable description to 255 chars in draft prefill#33393
fix: truncate conversation variable description to 255 chars in draft prefill#33393JasonOA888 wants to merge 2 commits intolanggenius:mainfrom
Conversation
Summary of ChangesHello, 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 critical backend issue where excessively long conversation variable descriptions could lead to a database error during the prefill process. By introducing a truncation mechanism, the system now gracefully handles descriptions that exceed the database column's character limit, ensuring data integrity and preventing application crashes. This change acts as a backend safeguard, complementing any future frontend validation. 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. Changelog
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.
Code Review
This pull request addresses a StringDataRightTruncation error by truncating conversation variable descriptions to the varchar(255) limit of the workflow_draft_variables.description column. The change correctly truncates the description before creating a WorkflowDraftVariable, which effectively resolves the described bug. The implementation is sound and I have no further feedback.
… prefill Fixes langgenius#33037 - StringDataRightTruncation error when conversation variable description exceeds varchar(255) ## Problem When a user sets a conversation variable description longer than 255 characters in the workflow editor, saving succeeds (stored in Workflow._conversation_variables as LongText JSON). However, when the variable inspection panel is opened, prefill_conversation_variable_default_values copies the description into workflow_draft_variables.description (varchar(255)), causing a psycopg2.errors.StringDataRightTruncation error. ## Solution Truncate description to 255 characters in prefill_conversation_variable_default_values before passing to WorkflowDraftVariable.new_conversation_variable. This is a backend safeguard. The frontend should also add validation to prevent descriptions longer than 255 characters with a visible character counter, but that can be addressed separately. ## Testing - Manual verification of truncation logic - No database schema changes required Closes langgenius#33037
1735ed8 to
8771555
Compare
Pyrefly DiffNo changes detected. |
Summary
Fixes #33037 - Prevents
StringDataRightTruncationerror when conversation variable description exceeds 255 characters.Problem
When a user sets a conversation variable description longer than 255 characters in the workflow editor, saving succeeds (stored in
Workflow._conversation_variablesas LongText JSON). However, when the variable inspection panel is opened:prefill_conversation_variable_default_valuescopies the descriptionworkflow_draft_variables.description(varchar(255))psycopg2.errors.StringDataRightTruncationSolution
Truncate description to 255 characters in
prefill_conversation_variable_default_valuesbefore passing toWorkflowDraftVariable.new_conversation_variable.Changes
api/services/workflow_draft_variable_service.pyNotes
Testing
Closes #33037