User Input node: show whether a field has a default value in the field list
- Dominant language
- TypeScript
- Stars
- 156k
- Forks
- 24.6k
- Avg merge
- 22h 9m
- Merged PRs (30d)
- 610
Description
### Self Checks
- [x] I have read the [Contributing Guide](https://github.com/langgenius/dify/blob/main/CONTRIBUTING.md) and [Language Policy](https://github.com/langgenius/dify/issues/1542).
- [x] I have searched for existing issues [search for existing issues](https://github.com/langgenius/dify/issues), including closed ones.
- [x] I confirm that I am using English to submit this report, otherwise it will be closed.
- [x] Please do not modify this template :) and fill in all the required fields.
### 1. Is this request related to a challenge you're experiencing? Tell me about your story.
When building a workflow, I set default values on several User Input (Start node) fields so the flow can run without every field being filled in each time. But once the defaults are set, there's no way to tell from the field list which fields actually have a default and which don't — the list shows the field name, type, and whether it's required, but nothing about the default. To check a default I have to open each field's edit panel one at a time.
This gets frustrating on a Start node with several fields: I can see at a glance which fields are required, but not which ones will fall back to a default at run time, so I lose track of which inputs are safe to leave empty. The information already exists in the field config — it just isn't surfaced in the list.
To be clear, this is a display gap, not a functional bug: the defaults themselves apply correctly at run time. This is only about making an existing property visible in the field list.
### 2. Additional context or comments
Proposed change: in the User Input field list, show a field's default value beneath the field name when one is set (nothing shown when there's no default), with the value truncated if long and the full value available on hover. "required" stays where it is on the right.
I have a working implementation of this and will open a PR with it. I'm also happy to build whichever shape you'd prefer if you'd rather it look different. The attached screenshot shows what it looks like. The screenshot shows the default on its own line under each field name, a long value truncated with an ellipsis, and the full value revealed on hover.
I considered adding the default values to the User Input nodes itself but didn't do it because it would make user nodes taller, which might interfere with existing users' flow diagrams.
### 3. Can you help us with this feature?
- [x] I am interested in contributing to this feature.
Contributor guide
Research direction
Start by locating the User Input node's field-list implementation and the existing field configuration that stores default values. Update the list so a set default appears beneath the field name, long values are truncated with the full value available on hover, and fields without defaults show nothing; verify the required indicator remains on the right.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- frontend
- Issue type
- Feature
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100