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
Crazywoola
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
hjlarry
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
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
zhsama
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
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
Stephen Zhou
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
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
Joel
3eba0c561e
feat: support show deleted file and folds
2026-02-06 14:20:25 +08:00
WTW0313
d2ef434dec
Merge branch 'main' into feat/hitl
2026-02-06 13:58:24 +08:00
Joel
a0984a779f
feat: support file and fold not find
2026-02-06 11:13:07 +08:00
yyh
c9c826d0d2
fix: render pdf preview in skill file panel
2026-02-05 18:12:35 +08:00
yyh
7161c3dd80
fix(web): exclude PDF from text-like file detection
...
PDF files were incorrectly parsed as text because isTextLikeFile
did not exclude PDF after removing it from BINARY_EXTENSIONS.
2026-02-05 17:45:38 +08:00
Stephen Zhou
7202a24bcf
chore: migrate to eslint-better-tailwind ( #31969 )
2026-02-05 18:36:08 +09:00
yyh
94c354e36d
feat(web): add inline PDF preview support for skill file viewer
...
Enable PDF files to be previewed directly in the file content panel
instead of showing as unsupported files requiring download. Uses the
existing react-pdf-highlighter library with zoom controls and keyboard
shortcuts (up/down arrows).
2026-02-05 17:21:01 +08:00
zhsama
7446779198
perf: Update agent extraction UI styling and labels
2026-02-05 16:57:20 +08:00