Skip to content

Conversation

@Xiu-Lan
Copy link
Contributor

@Xiu-Lan Xiu-Lan commented Nov 7, 2025

Issues Index

# Commit Type Title Status Priority Before After Issue
1 e30c5fab3 Feature Default value support for user input variables ✅ Implemented Medium - - FIX #27965
2 96ff6eb11 Feature Add related_id field for file operations ✅ Implemented Medium no-oprations no-oprations-fix FIX #27963
3 ba47ee089 Bug Variable inspect component behavior issues ✅ Fixed Medium - - FIX #27971
4 9ab6258fb Bug Duplicate command item values in goto-anything ✅ Fixed Medium goto-anything-bug goto-anything-bug-fix FIX #27974
5 33e8b771e Feature Visual drag handle for question classifier ✅ Implemented Low question-class-drag-sign question-class-drag-sign-fix -
6 7b00459e4 Refactor Simplify node status icon rendering ✅ Refactored Low node-status-bug node-status-bug-fix FIX #27972
7 ca4e14b52 Bug Hidden prompt variables not filtered in run-once ✅ Fixed Medium param-hide-bug param-hide-bug-fix FIX #27973
8 b22981308 Bug App icon logic incorrect for image type ✅ Fixed Medium bot-avatar-export-bug bot-avatar-export-bug-fix FIX #27976
9 a65d592bf Feature Sync document rename to upload file ✅ Implemented Medium - - -
10 280cc8e08 Bug Invalid variable keys not filtered in conversation opener ✅ Fixed Medium var-name-bug var-name-bug-fix FIX #27975
11 15ed9e2a8 Feature Multiple sources support in media players ✅ Implemented Medium source-bug source-bug-fix FIX #27970
12 7697f34e8 Bug Missing null safety check for currentNodeVar.var ✅ Fixed High - - FIX #27971
13 a7b3260ad Bug HTML entities displayed in chat placeholder ✅ Fixed Medium bot-name-bug bot-name-bug-fix FIX #27962

Issue Categories

Bugs Fixed (7)

  • Variable inspect component behavior
  • Duplicate command values in goto-anything
  • Hidden variable filtering in run-once
  • App icon logic for image type
  • Invalid variable key filtering in conversation opener
  • Null safety check for currentNodeVar.var
  • HTML entity display in chat placeholder

Features Implemented (5)

  • Default values for user inputs
  • Related ID field support for file operations
  • Visual drag handles for question classifier
  • Multiple media sources in audio/video players
  • Document rename synchronization to upload file

Refactorings (1)

  • Node status icon rendering simplification

Statistics

  • Total Commits: 13
  • Bugs Fixed: 7 (54%)
  • Features Added: 5 (38%)
  • Refactorings: 1 (8%)

Affected Components

Frontend (Web)

  • User input configuration
  • Workflow editor
  • Variable inspect panel
  • Media players (audio/video)
  • Command palette (goto-anything)
  • Conversation opener modal
  • Chat input placeholder

Backend (API)

  • App icon handling
  • Document management
  • File upload synchronization
  • File operations with related_id tracking

Workflow System

  • Question classifier UX
  • Node status icon rendering
  • Variable system (hidden/prompt variables)
  • Run-once component

crazywoola and others added 15 commits November 5, 2025 10:19
…anggenius#27802)

Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
- Add `default` field to VariableEntity model to support default values
- Pass default value in WorkflowToolProviderController parameter mapping
- Clear default value when corresponding option is removed from select
- Fix state cleanup issue when deleting select options
- Initialize inputs with default values in debug chat and prompt panel
- Only apply defaults when input fields are empty or undefined
- Add related_id extraction in list operator file handler
- Support related_id in file filtering conditions
- Enable related_id in file ordering operations
- Add comparison operators for related_id in if-else node
- Add key prop to ValueContent to force re-render on variable change
- Prevent clear action in read-only mode for variable inspect trigger
Use type-id combination instead of title as Command.Item value to
ensure uniqueness and avoid conflicts when different items share
the same title.
…lasses

- Import RiDraggable icon from remixicon
- Add draggable icon that appears on hover for better UX
- Adjust padding when hovering to accommodate the drag handle
- Improve visual feedback during drag interactions
- Replace multiple conditional blocks with nested ternary operators
- Improve code readability and reduce lines of code
- Maintain the same rendering priority: loading > failed > exception > success
- No functional changes to the component behavior
- Add filter to exclude variables with hide=true from rendering
- Prevent hidden configuration variables from being displayed in the form
- Improve user experience by showing only relevant input fields
- Use actual icon when icon_type is "image"
- Use robot emoji fallback only for non-image icon types
- Fix reversed condition in icon assignment
- Update upload file name when document is renamed
- Maintain consistency between document and upload file names
- Only update when data_source_info contains upload_file_id
- Import checkKeys utility to validate variable names
- Filter out invalid keys before checking prompt variables
- Improve variable validation logic to prevent invalid variable references
- Add srcs array parameter to AudioPlayer and VideoPlayer components
- Maintain backward compatibility with existing src prop
- Refactor gallery components to use single player with multiple sources
- Fix progress bar click handling in VideoPlayer (distinguish click from drag)
- Improve layout with proper spacing instead of <br/> tags
- Add null/empty source filtering for robustness
- Render <source> elements for better browser compatibility
- Use optional chaining to safely access currentNodeVar.var property
- Prevent runtime errors when currentNodeVar exists but var is undefined
- Improve defensive programming in variable inspect component
- Fix three conditional checks to validate var property existence
- Add html-entities package to decode HTML entities in placeholder text
- Use decode() function to properly display special characters
- Prevent display of raw HTML entities like &lt;, &gt;, &quot; in placeholder
- Fix user experience when bot name contains special characters
@dosubot dosubot bot added size:L This PR changes 100-499 lines, ignoring generated files. 💪 enhancement New feature or request labels Nov 7, 2025
@gemini-code-assist
Copy link
Contributor

Summary of Changes

Hello @Xiu-Lan, 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 delivers a comprehensive set of improvements to the web workflow, focusing on enhancing user experience, fixing critical bugs, and refining backend functionalities. The changes span across various modules, from input variable handling and media playback to plugin management and workflow editor UI, ensuring a more robust and intuitive application.

Highlights

  • User Input Variables with Default Values: Implemented support for default values in user input variables, allowing them to be pre-filled in chat and prompt panels. This includes backend API changes to store defaults and frontend logic to apply them when inputs are empty, along with ensuring default values are cleared if associated options become invalid.
  • Enhanced File Operations with Related ID: Added a 'related_id' field to file operations, enabling filtering, ordering, and extraction of files based on this new identifier within workflow nodes.
  • Multiple Source Support for Media Players: Upgraded both audio and video players to support multiple source URLs, improving flexibility and robustness for media content display.
  • Improved Plugin Installation and Management: Resolved issues related to missing installation IDs and empty unique identifiers during plugin installation from the marketplace, ensuring a more reliable process. Also, refactored plugin detail headers to use a consistent 'id' for uninstallation.
  • HTML Entity Decoding in Chat Placeholder: Fixed a bug where HTML entities were displayed raw in the chat input placeholder by implementing proper decoding.
  • Unique Command Items in 'Go-to-Anything': Addressed an issue causing duplicate command item values in the 'go-to-anything' feature by ensuring each item has a unique identifier.
  • Filtering of Hidden Prompt Variables: Ensured that hidden prompt variables are no longer displayed in the 'run-once' interface, improving UI clarity and user experience.
  • Corrected App Icon Logic: Fixed an error in the app icon logic where the icon and background were incorrectly applied when the icon type was an image.
  • Document Rename Synchronization: Implemented a feature to automatically synchronize the renaming of a document with its corresponding uploaded file, maintaining data consistency.
  • Enhanced Variable Key Validation in Conversation Opener: Improved the conversation opener modal by adding validation to filter out invalid variable keys, preventing potential errors.
  • Variable Inspect Panel Fixes: Addressed several behavior issues in the variable inspect component, including adding null safety checks for current variables and preventing clearing variables when nodes are read-only.
  • Visual Drag Handle for Question Classifier: Introduced a visual drag handle for question classifier items, enhancing the user experience for reordering.
  • Simplified Node Status Icon Rendering: Refactored the logic for rendering node status icons in the workflow editor, making the code cleaner and more maintainable.
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 by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

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 pull request 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

  1. 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.

Copy link
Contributor

@gemini-code-assist gemini-code-assist bot left a 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 web workflow improvements, including bug fixes and new features. Key changes involve adding default value support for user input variables, implementing a related_id field for file operations, and fixing issues related to app icon logic, duplicate command items, hidden prompt variables, and null safety checks. The changes also enhance media players to support multiple sources and add a visual drag handle for question classifiers. Overall, the changes improve the robustness, functionality, and user experience of the web application.

@autofix-ci
Copy link
Contributor

autofix-ci bot commented Nov 7, 2025

Hi! I'm autofix logoautofix.ci, a bot that automatically fixes trivial issues such as code formatting in pull requests.

I would like to apply some automated changes to this pull request, but it looks like I don't have the necessary permissions to do so. To get this pull request into a mergeable state, please do one of the following two things:

  1. Allow edits by maintainers for your pull request, and then re-trigger CI (for example by pushing a new commit).
  2. Manually fix the issues identified for your pull request (see the GitHub Actions output for details on what I would like to change).

@crazywoola crazywoola requested a review from laipz8200 November 9, 2025 13:34
@crazywoola
Copy link
Member

Please fix the CI as well.

@dosubot dosubot bot added size:XXL This PR changes 1000+ lines, ignoring generated files. and removed size:L This PR changes 100-499 lines, ignoring generated files. labels Nov 13, 2025
@Xiu-Lan Xiu-Lan force-pushed the feat/web-workflow-improvements branch from 4e000c7 to 7d4432f Compare November 13, 2025 10:53
@dosubot dosubot bot added size:L This PR changes 100-499 lines, ignoring generated files. and removed size:XXL This PR changes 1000+ lines, ignoring generated files. labels Nov 13, 2025
Simplify the dictionary formatting in UploadFile name update operation
by condensing the multi-line update dictionary into a single line.

- Change: Convert 3-line update dict to 1-line format
- Impact: Code readability improvement, no functional change
@asukaminato0721
Copy link
Contributor

/gemini review

Copy link
Contributor

@gemini-code-assist gemini-code-assist bot left a 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 a variety of features and bug fixes across the web application and API, significantly improving the web workflow experience. Key features include support for default values in user input variables, the ability to handle multiple media sources in audio/video players, and synchronization of document renames with uploaded files. Numerous bugs have also been addressed, such as fixing duplicate values in the 'goto-anything' command palette, preventing hidden variables from appearing where they shouldn't, and resolving UI behavior issues in the variable inspection panel.

The code changes are generally well-implemented and contribute to a more robust and user-friendly platform. I have one major point of feedback regarding a potential performance issue in two of the new frontend components, which could lead to infinite render loops. Addressing this will ensure the stability of the new features.

Xiu-Lan and others added 2 commits November 18, 2025 22:00
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
@asukaminato0721
Copy link
Contributor

/gemini review

Copy link
Contributor

@gemini-code-assist gemini-code-assist bot left a 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 a substantial set of improvements and bug fixes across the web and API components. Key features include support for default values in user input variables, multiple sources for media players, and synchronization of document renames. The bug fixes address issues with UI components, variable handling, and data logic, enhancing the overall stability and user experience. The code changes are generally well-implemented. My review includes one suggestion to refactor duplicated logic into a custom hook to improve code maintainability.

@crazywoola crazywoola closed this Nov 20, 2025
@crazywoola crazywoola reopened this Nov 20, 2025
- Remove duplicate `default` field definition in VariableEntity class
- Change `default` type from restricted Union to Any to support all variable types (bool, dict, list, etc.)
- Enhance CHECKBOX validation to support flexible value conversions:
  * String values: "true"/"false", "1"/"0", "yes"/"no", "on"/"off"
  * Numeric values: 1 → True, 0 → False
- Fix test failure in test_validate_inputs_with_default_value
- Ensure Pydantic doesn't coerce bool to int during validation

This resolves the issue where bool default values were being converted to int
(True → 1, False → 0) due to overly restrictive type annotation.
@dosubot dosubot bot added the lgtm This PR has been approved by a maintainer label Nov 25, 2025
@crazywoola crazywoola merged commit abc13ef into langgenius:main Nov 25, 2025
11 checks passed
55Kamiryo pushed a commit to 55Kamiryo/dify that referenced this pull request Nov 26, 2025
Co-authored-by: crazywoola <[email protected]>
Co-authored-by: johnny0120 <[email protected]>
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Co-authored-by: Wood <[email protected]>
LawrenceZHLee pushed a commit to LawrenceZHLee/dify that referenced this pull request Nov 28, 2025
Co-authored-by: crazywoola <[email protected]>
Co-authored-by: johnny0120 <[email protected]>
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Co-authored-by: Wood <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment