Commit Graph

4604 Commits

Author SHA1 Message Date
yyh
e68910c5c2 Merge remote-tracking branch 'origin/feat/support-agent-sandbox' into pre-align-hitl-frontend 2026-02-08 14:03:29 +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
yyh
a0b9354e78 Merge remote-tracking branch 'origin/feat/support-agent-sandbox' into pre-align-hitl-frontend 2026-02-08 13:27:24 +08:00
68f7f2f19b feat: Unify sandbox detection and apply Agent icon override 2026-02-08 02:59:58 +08:00
e528112394 fix: Hide Agent node in sandboxed apps and relabel LLM 2026-02-08 02:59:58 +08:00
yyh
d3bad68c80 Merge remote-tracking branch 'origin/feat/support-agent-sandbox' into pre-align-hitl-frontend 2026-02-08 02:04:52 +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
e7fe274bda Merge remote-tracking branch 'origin/feat/support-agent-sandbox' into pre-align-hitl-frontend 2026-02-08 01:31: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
e28f42076f Merge remote-tracking branch 'origin/feat/support-agent-sandbox' into pre-align-hitl-frontend 2026-02-07 21:44:39 +08:00
yyh
ad8491184b Merge remote-tracking branch 'origin/main' into pre-align-hitl-frontend 2026-02-07 21:44:27 +08:00
yyh
a761ab5cee test(skill): add comprehensive unit tests for file-tree domain 2026-02-07 16:53:58 +08:00
yyh
f5a29b69a8 chore: prune expressions 2026-02-07 14:23:31 +08:00
yyh
11d5efc13e refactor(skill): regroup skill body, file tree, and tree hooks 2026-02-07 14:20:01 +08:00
c185a51bad fix: remove unexpected scrollbar in KB Retrieval settings (#32082) 2026-02-07 13:23:01 +08:00
yyh
4c61b36233 Merge remote-tracking branch 'origin/feat/support-agent-sandbox' into pre-align-hitl-frontend 2026-02-07 12:45:03 +08:00
yyh
ccbbf9161c Merge remote-tracking branch 'origin/main' into pre-align-hitl-frontend 2026-02-07 12:44:44 +08:00
e10996c368 chore: log 20 recent crdt import changes 2026-02-07 10:12:47 +08:00
yyh
39146f7b20 Merge remote-tracking branch 'origin/feat/support-agent-sandbox' into pre-align-hitl-frontend 2026-02-06 19:15:13 +08:00
yyh
30b9295156 Merge remote-tracking branch 'origin/build/feat/hitl' into wip/hitl-merge-web-conflicts-20260206-175434
# Conflicts:
#	api/.env.example
#	api/core/app/apps/advanced_chat/app_generator.py
#	api/core/app/apps/advanced_chat/app_runner.py
#	api/core/app/apps/advanced_chat/generate_task_pipeline.py
#	api/core/app/apps/workflow/app_generator.py
#	api/core/app/apps/workflow/app_runner.py
#	api/core/app/entities/queue_entities.py
#	api/core/workflow/node_events/__init__.py
#	api/core/workflow/runtime/graph_runtime_state.py
#	api/fields/message_fields.py
#	api/services/workflow_service.py
#	web/app/components/app/app-publisher/index.tsx
#	web/app/components/base/chat/chat/answer/index.tsx
#	web/app/components/base/chat/chat/hooks.ts
#	web/app/components/base/chat/chat/type.ts
#	web/app/components/base/prompt-editor/index.tsx
#	web/app/components/rag-pipeline/hooks/use-available-nodes-meta-data.ts
#	web/app/components/share/text-generation/result/header.tsx
#	web/app/components/workflow-app/components/workflow-header/features-trigger.tsx
#	web/app/components/workflow-app/hooks/use-workflow-run.ts
#	web/app/components/workflow/hooks/use-checklist.ts
#	web/app/components/workflow/hooks/use-fetch-workflow-inspect-vars.ts
#	web/app/components/workflow/hooks/use-workflow.ts
#	web/app/components/workflow/nodes/_base/components/variable/var-reference-picker.tsx
#	web/app/components/workflow/nodes/_base/components/variable/var-reference-vars.tsx
#	web/app/components/workflow/nodes/_base/node.tsx
#	web/app/components/workflow/nodes/tool/components/mixed-variable-text-input/components/placeholder.tsx
#	web/app/components/workflow/panel/debug-and-preview/hooks.ts
#	web/app/components/workflow/panel/workflow-preview.tsx
#	web/app/components/workflow/store/workflow/workflow-slice.ts
#	web/eslint-suppressions.json
#	web/i18n/en-US/common.json
#	web/i18n/zh-Hans/common.json
#	web/i18n/zh-Hant/common.json
#	web/service/workflow.ts
2026-02-06 19:13:51 +08:00
c5439a3739 fix: tool icon hover 2026-02-06 18:35:01 +08:00
776fb04bf0 chore: use more good availableNodes 2026-02-06 18:10:32 +08:00
dae2e3b6fb feat: support choose var in tool config in sandbox prompt editor 2026-02-06 17:52:35 +08:00
971bfa4758 chore: Add ENABLE_SOURCE_MAP env var with priority over legacy var 2026-02-06 17:37:16 +08:00
yyh
3bc574234f feat(web): use terminal-square icon for bash tool calls 2026-02-06 17:34:29 +08:00
81715426d2 chore: plugin in sandbox auto set to true 2026-02-06 17:23:30 +08:00
fef42a05ee chore: max interatons default to 100 2026-02-06 16:13:22 +08:00
d5b9a7b2f8 test: only remove text coverage in CI (#32043) 2026-02-06 16:12:28 +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
ad3a5ad473 fix: placehoder pos 2026-02-06 14:59:23 +08:00
c5d1b2a02e fix: fold not exist not same with file 2026-02-06 14:52:03 +08:00
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
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
3eba0c561e feat: support show deleted file and folds 2026-02-06 14:20:25 +08:00
d2ef434dec Merge branch 'main' into feat/hitl 2026-02-06 13:58:24 +08:00
a0984a779f feat: support file and fold not find 2026-02-06 11:13:07 +08:00