Bugfix/Refactor agentflow image handling to tag-and-revert#5924
Bugfix/Refactor agentflow image handling to tag-and-revert#5924HenryHengZJ wants to merge 8 commits intomainfrom
Conversation
…mages in chat messages so that base64 is only used during model invocation - Storage and chat history keep file references only - Added comprehensive test cases to ensure correct handling of base64 image data and file references
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 bug where image data was being mishandled, resulting in base64 encoded images being persisted in the database instead of file references. The core of the solution is a refactoring of how images are processed within agentflow nodes, adopting a 'tag-and-revert' strategy. This approach ensures that images are converted to base64 for model interaction but are consistently stored as file references, streamlining the image lifecycle and improving data integrity. Highlights
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 significantly improves the image handling logic within agentflow nodes by moving to a 'tag-and-revert' mechanism, simplifying the code and preventing base64 data storage. However, it introduces several Path Traversal vulnerabilities due to unsanitized filenames from user uploads or LLM-generated content. Additionally, there are opportunities for code maintainability improvements, type safety enhancements, and a critical correction needed for a default model name. The refactor is strong and includes comprehensive unit tests, and the provided comments aim to address these security concerns, improve code quality, and ensure correct functionality.
|
Tihs commit resolved this error by adding the ref into |
… references to base64 for model invocation, and implement interfaces
There was a problem hiding this comment.
Fail - Cloud test via Postman
{
"question": "what's this?",
"chatId": "22c51311-569e-4c75-9e7f-fecd749e90f0",
"uploads": [
{
"data": "data:image/webp;base64,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",
"type": "file",
"name": "pineapple.webp",
"mime": "image/webp"
}
],
"streaming": true
}|
super strange, works locally but not when deployed, perhaps its the openai sdk version during install? |
|
maybe we'll have to wait #5893 to be merged as this updates the sdk version - experimenting by deploying to dev |
|
Closing as this change will be in #5893 |









Bug
Images are mixed up and base64 data was accidentally saved to database, causing images not able to render correctly:


Expected
Base64 data is only sent for LLM invocation, not saved to database.
Fix
Motivation