Commit Graph

3793 Commits

Author SHA1 Message Date
wangxiaolei
abc5a61e98
feat: support nl-NL language (#32216) 2026-02-11 10:42:13 +08:00
hjlarry
5157a33aff fix: two tabs refresh cause empty graph 2026-02-11 10:32:17 +08:00
Wu Tianwei
16b8733886
fix: Fix the display of state icon of base node (#32208) 2026-02-10 22:45:56 +08:00
Harry
2da770cdbd feat: add File Upload node functionality and related components
- Implemented File Upload node with support for uploading files to the sandbox.
- Added necessary UI components including node panel and default configurations.
- Enhanced workflow constants and enums to include File Upload.
- Updated error handling for file upload operations.
- Integrated File Upload into existing workflow structure, ensuring compatibility with variable handling and output management.
- Added translations for new File Upload features in workflow.json.
2026-02-10 20:51:31 +08:00
zhsama
d876fddab0 Revert "feat(workflow): refine variable validation and scoping for workflow nodes, remove redundant End block checks"
This reverts commit 32fcbcdc62.
2026-02-10 20:00:11 +08:00
zhsama
8d0e646912 fix: Fix sub graph code node step error 2026-02-10 19:45:46 +08:00
yyh
cbcb5a71c3
fix test 2026-02-10 18:18:27 +08:00
yyh
2ab0b334a8
Merge remote-tracking branch 'origin/main' into feat/support-agent-sandbox
# Conflicts:
#	web/app/components/rag-pipeline/components/update-dsl-modal.tsx
#	web/app/components/workflow-app/hooks/use-nodes-sync-draft.ts
#	web/app/components/workflow/variable-inspect/utils.tsx
#	web/app/layout.tsx
#	web/context/event-emitter.tsx
#	web/eslint-suppressions.json
#	web/next.config.ts
#	web/package.json
#	web/pnpm-lock.yaml
#	web/types/feature.ts
2026-02-10 18:12:41 +08:00
非法操作
5077879886
chore: allow draft run single node without connect to other node (#31977) 2026-02-10 18:03:52 +08:00
Stephen Zhou
f355c8d595
refactor: type safe env, update to zod v4 (#32035) 2026-02-10 17:55:11 +08:00
Coding On Star
4058e9ae23
refactor: extract sub-components and custom hooks from UpdateDSLModal and Metadata components (#32045)
Co-authored-by: CodingOnStar <hanxujiang@dify.com>
Co-authored-by: Stephen Zhou <38493346+hyoban@users.noreply.github.com>
2026-02-10 17:26:08 +08:00
yyh
ce8c484ab8
fix(workflow): show clear all button when any inspect tab has data
Previously the button visibility was tab-dependent, hiding it when
switching to an empty tab even if the other tab had data.
2026-02-10 17:14:12 +08:00
Joel
c980f1b2ac feat: support enable agent mode show tip in prompt editor 2026-02-10 17:02:12 +08:00
Wu Tianwei
de33561a52
test: add comprehensive tests for Human Input Node functionality (#32191) 2026-02-10 17:00:46 +08:00
Varun Chawla
6d9665578b
fix: replace sendBeacon with fetch keepalive for autosave on page close (#32088)
Signed-off-by: Varun Chawla <varun_6april@hotmail.com>
2026-02-10 16:59:02 +08:00
weiguang li
18f14c04dc
fix(web): fill workflow tool output descriptions from schema (#32117) 2026-02-10 16:51:28 +08:00
zhsama
32fcbcdc62 feat(workflow): refine variable validation and scoping for workflow nodes, remove redundant End block checks 2026-02-10 16:39:04 +08:00
Stephen Zhou
a1cd9316bb refactor: import component css in globals.css (#32180)
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-02-10 15:36:40 +08:00
yyh
ee2df33e73
revert: remove dark mode flash fix and restore ThemeProvider position
Revert commits adf450c and fb679962 that attempted to fix dark mode
flash by adding an inline theme script and moving ThemeProvider.
2026-02-10 15:31:26 +08:00
yyh
fb679962a3
try 2026-02-10 15:23:48 +08:00
yyh
adf450c712
fix: try to fix flash in dark mode 2026-02-10 15:15:13 +08:00
yyh
ae59074c59
refactor(web): preserve all OAuth query params and remove legacy storage fallback
- Use searchParams.toString() to forward all query params instead of
  manually encoding only client_id and redirect_uri
- Remove legacy localStorage fallback since storage utility is now
  the sole persistence layer
- Add tests for OAuth authorize page, home page, and post-login redirect
2026-02-10 14:39:05 +08:00
yyh
868423a138
refactor(web): migrate OAuth redirect storage to utility and preserve query params
- Use storage utility instead of raw localStorage for OAuth pending
  redirect with legacy fallback for backward compatibility
- Forward search params from root page to /apps so query strings
  (e.g. redirect_url) are not lost during server-side redirect
2026-02-10 14:23:47 +08:00
Joel
b906188cf9 fix: tool item not align to center 2026-02-10 13:58:35 +08:00
Stephen Zhou
1819bd72ef
refactor: import component css in globals.css (#32180)
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-02-10 13:55:42 +08:00
yyh
4d439028e5
refactor(web): simplify home page redirect and replace dayjs with native Date API
Move OAuth pending redirect check out of page.tsx since AppInitializer
already handles it globally. Simplify home page to a server-side redirect
and remove dayjs dependency in favor of native Date.now().
2026-02-10 13:53:46 +08:00
Joel
34bff10782 chore: tool group to plugin explore 2026-02-10 13:51:14 +08:00
Joel
1af4e5dda2 feat: tool group handle missing 2026-02-10 13:49:44 +08:00
Joel
1502121125 chore: enchance missting link to explore tab 2026-02-10 13:35:33 +08:00
Junyan Chin
93734d2c9a
fix(web): redirect to OAuth authorize page after login instead of /apps (#32177)
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-10 12:32:39 +08:00
Joel
b820c7d1cb feat: plugin not found show 2026-02-10 11:46:12 +08:00
zhsama
f6b0fda9f7 Merge branch 'zhsama/remove-reasoning-ui' into feat/support-agent-sandbox 2026-02-10 00:59:08 +08:00
zhsama
f359bbc5de Merge branch 'zhsama/structured-var-search' into feat/support-agent-sandbox 2026-02-10 00:56:14 +08:00
zhsama
d47bc3abc4 feat: Thread nodeOutputVars through HITL and workflow variable components 2026-02-10 00:55:06 +08:00
zhsama
fff2c11d9c refactor(web): remove LLM reasoning format config and clean up locale strings 2026-02-09 23:57:27 +08:00
zhsama
001950d9f8 feat(workflow): support nested variable path search in variable reference picker 2026-02-09 23:50:08 +08:00
zhsama
41b218f427 feat: LLM node to only show generation output var when computer use is
enabled, matching the actual output structure.
2026-02-09 23:40:42 +08:00
zhsama
a71f336ee0 chore: Add chat history display name mapping for workflow variables 2026-02-09 23:24:53 +08:00
zhsama
cce7970f77 chore: Rename context variable to Chat History in UI 2026-02-09 23:24:53 +08:00
yyh
9e10b73b54
refactor(skill): replace @remixicon/react imports with CSS icon classes
Migrate all Remixicon component imports in workflow/skill to Tailwind CSS
icon utility classes (i-ri-*), reducing JS bundle size. Update MenuItem
to accept string icon classes alongside React components. Adjust test
selectors that relied on SVG element queries.
2026-02-09 19:51:05 +08:00
yyh
db0c527ce8
Merge remote-tracking branch 'origin/main' into feat/support-agent-sandbox 2026-02-09 18:43:04 +08:00
Stephen Zhou
898e09264b
chore: detect utilities in css (#32143) 2026-02-09 18:20:09 +08:00
Joel
64e338ece5 fix: db popup selector not show 2026-02-09 18:12:50 +08:00
Joel
91649c9bfd fix: skill preview error 2026-02-09 17:12:01 +08:00
Stephen Zhou
ff7b62f2de
chore: fix type for useTranslation in #i18n (#32134)
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-02-09 16:47:23 +08:00
yyh
363802aa66
chore(web): comprehensive unit tests 2026-02-09 16:47:23 +08:00
Joel
3a1eefa477 feat: in editor preview support change the same to file preview 2026-02-09 16:45:29 +08:00
Stephen Zhou
4e0a7a7f9e
chore: fix type for useTranslation in #i18n (#32134)
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-02-09 16:42:53 +08:00
Harry
3c0b50ee77 feat(sandbox): add SSH agentbox provider for middleware and docker deployments 2026-02-09 16:38:05 +08:00
Joel
b014e91740 chore: refact tool and filepreveiw context to zustand to reduce rerender 2026-02-09 16:06:23 +08:00
GuanMu
63d965bc44
fix: pass user timezone from app context to the date picker component. (#31831)
Co-authored-by: yyh <92089059+lyzno1@users.noreply.github.com>
2026-02-09 15:39:24 +08:00
盐粒 Yanli
a303560b98
feat: Service API - add end-user lookup endpoint (#32015)
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-02-09 15:39:16 +08:00
Stephen Zhou
6f50915d2b
test: stable test (#32108) 2026-02-09 15:39:08 +08:00
Yessenia-d
bc9ca4e0dd
style: update banner item styles and enhance dark/light theme variables (#32111)
Co-authored-by: Crazywoola <100913391+crazywoola@users.noreply.github.com>
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
2026-02-09 15:34:31 +08:00
yyh
ca243d7efc
chore(web): pre-align HITL frontend from build/feat/hitl 2026-02-09 15:34:15 +08:00
Yessenia-d
e4ab6e0919
style: update banner item styles and enhance dark/light theme variables (#32111)
Co-authored-by: Crazywoola <100913391+crazywoola@users.noreply.github.com>
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
2026-02-09 15:32:40 +08:00
Joel
b289e6a2b6 fix: basic app crash by llm editor use the workflow context 2026-02-09 15:19:52 +08:00
QuantumGhost
a1fc280102
feat: Human Input Node (#32060)
The frontend and backend implementation for the human input node.

Co-authored-by: twwu <twwu@dify.ai>
Co-authored-by: JzoNg <jzongcode@gmail.com>
Co-authored-by: yyh <92089059+lyzno1@users.noreply.github.com>
Co-authored-by: zhsama <torvalds@linux.do>
2026-02-09 14:57:23 +08:00
Joel
2d6b30f3b8 fix: stop but tracing is still loaing and not show current tracing res 2026-02-09 14:39:06 +08:00
GuanMu
6c63c6a221
fix: pass user timezone from app context to the date picker component. (#31831)
Co-authored-by: yyh <92089059+lyzno1@users.noreply.github.com>
2026-02-09 14:10:24 +08:00
盐粒 Yanli
5b06203ef5
feat: Service API - add end-user lookup endpoint (#32015)
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-02-09 14:01:22 +08:00
Stephen Zhou
0428ac5f3a
test: stable test (#32108) 2026-02-09 13:36:37 +08:00
yyh
f6b036b121
Merge remote-tracking branch 'origin/main' into feat/support-agent-sandbox 2026-02-09 11:35:42 +08:00
Joel
0868f941f6 chore: item hover padding 2026-02-09 11:30:14 +08:00
Joel
9fba10036e chore: remove not support shortcut icon 2026-02-09 10:50:24 +08:00
zxhlyh
bdf6739b86
fix: search model provider list (#32106) 2026-02-09 10:35:40 +08:00
yyh
404ac3aeab
feat(skill-editor): hide tab dividers when only Start tab is visible
Remove border-right on Start tab and border-bottom on tab bar when no
file tabs are open, making the tab area blend seamlessly with the
content area below.
2026-02-08 13:56:31 +08:00
zhsama
68f7f2f19b feat: Unify sandbox detection and apply Agent icon override 2026-02-08 02:59:58 +08:00
zhsama
e528112394 fix: Hide Agent node in sandboxed apps and relabel LLM 2026-02-08 02:59:58 +08:00
yyh
e9bff0b7b7
feat(sandbox): use official brand assets for provider icons
Replace placeholder sandbox provider icons with official brand assets:
- Docker: white whale SVG on brand blue (#1D63ED) background
- E2B: official PNG logo via CSS module
- Local: Dify-branded SVG icon (SandboxLocal)
2026-02-08 02:04:20 +08:00
yyh
d23a94982d
Merge remote-tracking branch 'origin/main' into feat/support-agent-sandbox 2026-02-08 01:30:21 +08:00
yyh
724700acc4
test(workflow): add regression coverage for artifacts download query reset
Add a component-level regression test for variable inspect artifacts tab:\n- verifies selected file path is used before reset\n- verifies stale selected path is dropped after files are cleared\n- verifies download url query call keeps retry disabled in this component
2026-02-07 22:50:47 +08:00
yyh
2b848d7e93
fix(workflow): prevent redundant sandbox download refetch after reset
Problem:\n- In variable inspect artifacts view, clicking Reset All invalidates sandbox download query keys.\n- If a previously selected file has been removed, the download-url query may still refetch with stale path and return 400.\n- Default query retry amplifies this into repeated failed requests in this scenario.\n\nSolution:\n- Extend sandbox file invalidation with an option to skip download query refetch.\n- Use that option in Reset All flow so download-url queries are marked stale without immediate refetch.\n- Derive selected file path from latest sandbox flat data and disable download-url query when file no longer exists.\n- Disable retry only for artifacts-tab download-url query to avoid repeated 400 retries in this path.\n- Align tree selectedPath with derived selectedFilePath and add hook tests for invalidation behavior.\n\nValidation:\n- pnpm vitest --run service/use-sandbox-file.spec.tsx
2026-02-07 22:43:13 +08:00
yyh
a761ab5cee
test(skill): add comprehensive unit tests for file-tree domain 2026-02-07 16:53:58 +08:00
yyh
11d5efc13e
refactor(skill): regroup skill body, file tree, and tree hooks 2026-02-07 14:20:01 +08:00
Crazywoola
c185a51bad
fix: remove unexpected scrollbar in KB Retrieval settings (#32082) 2026-02-07 13:23:01 +08:00
hjlarry
e10996c368 chore: log 20 recent crdt import changes 2026-02-07 10:12:47 +08:00
Joel
c5439a3739 fix: tool icon hover 2026-02-06 18:35:01 +08:00
Joel
776fb04bf0 chore: use more good availableNodes 2026-02-06 18:10:32 +08:00
Joel
dae2e3b6fb feat: support choose var in tool config in sandbox prompt editor 2026-02-06 17:52:35 +08:00
yyh
3bc574234f
feat(web): use terminal-square icon for bash tool calls 2026-02-06 17:34:29 +08:00
Joel
81715426d2 chore: plugin in sandbox auto set to true 2026-02-06 17:23:30 +08:00
Joel
fef42a05ee chore: max interatons default to 100 2026-02-06 16:13:22 +08:00
yyh
287c1bbc35
fix(skill): use nuqs query state for fileId param 2026-02-06 16:03:32 +08:00
yyh
d3b32645f4
feat(skill-editor): add opacity style to dragged node's original position
Apply the same opacity-50 visual feedback used for cut nodes to nodes
being dragged, so the source position is visually dimmed during drag.
2026-02-06 15:50:04 +08:00
yyh
3bfa495795
refactor(skill-editor): add single/double click and optimize re-renders in search results
Extract SearchResultRow component with useDelayedClick to match file
tree behavior (single-click preview, double-click pin). Subscribe to
derived boolean instead of raw activeTabId to avoid unnecessary
re-renders across all rows.
2026-02-06 15:39:00 +08:00
yyh
dc213ca76c
refactor(skill)!: add file node view-state flow and mode-based file data hook
- introduce resolving/ready/missing node view-state to avoid unsupported flicker

- switch useSkillFileData to explicit mode: none/content/download

- add hook tests for view-state transitions and mode query gating

BREAKING CHANGE: useSkillFileData signature changed from (appId, nodeId, isEditable) to (appId, nodeId, mode).
2026-02-06 15:39:00 +08:00
yyh
f1100b82f9
feat(skill-editor): render flat search result list in file tree
Replace the tree-filtered search with a flat list that shows icon + name
on the left and parent path on the right, matching the Figma design.
Clicking a file opens its tab; clicking a folder clears the search and
reveals the folder in the tree.
2026-02-06 15:39:00 +08:00
Joel
ad3a5ad473 fix: placehoder pos 2026-02-06 14:59:23 +08:00
Joel
c5d1b2a02e fix: fold not exist not same with file 2026-02-06 14:52:03 +08:00
Joel
768bfa8a7e chore: hover show tool icon 2026-02-06 14:42:51 +08:00
yyh
871ec3b0ca
Merge remote-tracking branch 'origin/main' into feat/support-agent-sandbox
# Conflicts:
#	api/controllers/console/app/app.py
#	web/eslint-suppressions.json
#	web/eslint.config.mjs
2026-02-06 14:40:44 +08:00
wangxiaolei
a297b06aac
fix: fix tool type is miss (#32042) 2026-02-06 14:38:15 +08:00
yyh
44fd58853c
fix(skill-editor): remove redundant focus ring and suppress row outline
Remove isFocused ring style from TreeNode since focus-visible already
handles keyboard focus indication. Add rowClassName="outline-none" to
suppress the default browser outline on react-arborist row containers.
2026-02-06 14:31:56 +08:00
yyh
4d1d83b509
test(skill-editor): add tests for TreeEditInput filename stem selection 2026-02-06 14:31:38 +08:00
yyh
f0ba739e44
fix(skill-editor): select only filename stem when renaming files
Use setSelectionRange to exclude the file extension from the initial
selection, matching the behavior of VS Code and Finder.
2026-02-06 14:27:52 +08:00
yyh
799d0c0d0b
feat(skill-editor): auto-focus editor on file creation and improve tree-tab sync
Add editorAutoFocusFileId state to automatically focus the editor when
a new text file is created. Improve tree-tab synchronization by adding
syncSignal/isTreeLoading guards, deduplicating rAF calls, and skipping
redundant select/openParents operations when the node is already active.
2026-02-06 14:21:33 +08:00
yyh
92c3656fe5
fix: vertically center empty search state to match Figma design 2026-02-06 14:21:33 +08:00
yyh
ecbcd5803b
fix(workflow): avoid nested button in skill file tree menu 2026-02-06 14:21:32 +08:00
yyh
30981dfa7c
feat: add empty state for skill template search with no results 2026-02-06 14:21:32 +08:00