Novice
5041d96bb1
Merge commit 'fb41b215' into sandboxed-agent-rebase
...
Made-with: Cursor
# Conflicts:
# .devcontainer/post_create_command.sh
# api/commands.py
# api/core/agent/cot_agent_runner.py
# api/core/agent/fc_agent_runner.py
# api/core/app/apps/workflow_app_runner.py
# api/core/app/entities/queue_entities.py
# api/core/app/entities/task_entities.py
# api/core/workflow/workflow_entry.py
# api/dify_graph/enums.py
# api/dify_graph/graph/graph.py
# api/dify_graph/graph_events/node.py
# api/dify_graph/model_runtime/entities/message_entities.py
# api/dify_graph/node_events/node.py
# api/dify_graph/nodes/agent/agent_node.py
# api/dify_graph/nodes/base/__init__.py
# api/dify_graph/nodes/base/entities.py
# api/dify_graph/nodes/base/node.py
# api/dify_graph/nodes/llm/entities.py
# api/dify_graph/nodes/llm/node.py
# api/dify_graph/nodes/tool/tool_node.py
# api/pyproject.toml
# api/uv.lock
# web/app/components/base/avatar/__tests__/index.spec.tsx
# web/app/components/base/avatar/index.tsx
# web/app/components/base/date-and-time-picker/time-picker/__tests__/index.spec.tsx
# web/app/components/base/file-uploader/file-from-link-or-local/index.tsx
# web/app/components/base/prompt-editor/index.tsx
# web/app/components/datasets/metadata/edit-metadata-batch/modal.tsx
# web/app/components/header/account-dropdown/index.spec.tsx
# web/app/components/share/text-generation/index.tsx
# web/app/components/workflow/block-selector/tool/action-item.tsx
# web/app/components/workflow/block-selector/trigger-plugin/action-item.tsx
# web/app/components/workflow/hooks/use-edges-interactions.ts
# web/app/components/workflow/hooks/use-nodes-interactions.ts
# web/app/components/workflow/index.tsx
# web/app/components/workflow/nodes/_base/components/editor/code-editor/index.tsx
# web/app/components/workflow/nodes/http/components/key-value/key-value-edit/index.tsx
# web/app/components/workflow/nodes/human-input/components/delivery-method/recipient/email-item.tsx
# web/app/components/workflow/nodes/loop/use-interactions.ts
# web/contract/router.ts
# web/env.ts
# web/eslint-suppressions.json
# web/package.json
# web/pnpm-lock.yaml
2026-03-23 10:52:06 +08:00
Novice
6b75188ddc
fix: resolve import migrations and test failures after segment 3 merge
...
- Migrate core.model_runtime -> dify_graph.model_runtime across 20+ files
- Migrate core.workflow.file -> dify_graph.file across 15+ files
- Migrate core.workflow.enums -> dify_graph.enums in service files
- Fix SandboxContext phantom import in dify_graph/context/__init__.py
- Fix core.app.workflow.node_factory -> core.workflow.node_factory
- Fix toast import paths (useToastContext from toast/context)
- Fix app-info.tsx import paths for relocated app-operations
- Fix 15 frontend test files for API changes, missing QueryClientProvider,
i18n key renames, and component behavior changes
Made-with: Cursor
2026-03-23 10:31:11 +08:00
Novice
94b01f6821
Merge commit '92bde350' into sandboxed-agent-rebase
...
Made-with: Cursor
# Conflicts:
# api/controllers/console/app/workflow_draft_variable.py
# api/core/agent/cot_agent_runner.py
# api/core/agent/cot_chat_agent_runner.py
# api/core/agent/cot_completion_agent_runner.py
# api/core/agent/fc_agent_runner.py
# api/core/app/apps/advanced_chat/app_generator.py
# api/core/app/apps/advanced_chat/app_runner.py
# api/core/app/apps/agent_chat/app_runner.py
# api/core/app/apps/workflow/app_generator.py
# api/core/app/apps/workflow/app_runner.py
# api/core/app/entities/app_invoke_entities.py
# api/core/app/entities/queue_entities.py
# api/core/llm_generator/output_parser/structured_output.py
# api/core/workflow/workflow_entry.py
# api/dify_graph/context/__init__.py
# api/dify_graph/entities/tool_entities.py
# api/dify_graph/file/file_manager.py
# api/dify_graph/graph_engine/response_coordinator/coordinator.py
# api/dify_graph/graph_events/node.py
# api/dify_graph/node_events/node.py
# api/dify_graph/nodes/agent/agent_node.py
# api/dify_graph/nodes/llm/entities.py
# api/dify_graph/nodes/llm/llm_utils.py
# api/dify_graph/nodes/llm/node.py
# api/dify_graph/nodes/question_classifier/question_classifier_node.py
# api/dify_graph/runtime/graph_runtime_state.py
# api/dify_graph/variables/segments.py
# api/factories/variable_factory.py
# api/services/variable_truncator.py
# api/tests/unit_tests/utils/structured_output_parser/test_structured_output_parser.py
# api/uv.lock
# web/app/components/app-sidebar/app-info.tsx
# web/app/components/app-sidebar/app-sidebar-dropdown.tsx
# web/app/components/app/create-app-modal/index.spec.tsx
# web/app/components/apps/__tests__/list.spec.tsx
# web/app/components/apps/app-card.tsx
# web/app/components/apps/list.tsx
# web/app/components/header/account-dropdown/compliance.tsx
# web/app/components/header/account-dropdown/index.tsx
# web/app/components/header/account-dropdown/support.tsx
# web/app/components/workflow-app/components/workflow-onboarding-modal/index.tsx
# web/app/components/workflow/panel/debug-and-preview/hooks.ts
# web/contract/console/apps.ts
# web/contract/router.ts
# web/eslint-suppressions.json
# web/next.config.ts
# web/pnpm-lock.yaml
2026-03-23 09:39:49 +08:00
Novice
cbdcdcc2b9
fix: resolve test failures after segment 2 merge
...
- Backend: fix deduct_llm_quota import path in llm node
- Backend: update core.variables → core.workflow.variables imports
- Frontend: update UpdateWorkflowNodesMapPayload in tests
- Frontend: fix various test expectations to match merged code
Made-with: Cursor
2026-03-23 09:18:26 +08:00
Novice
cccff6768a
Merge commit '9c339239' into sandboxed-agent-rebase
...
Made-with: Cursor
# Conflicts:
# api/README.md
# api/controllers/console/app/workflow_draft_variable.py
# api/core/agent/cot_agent_runner.py
# api/core/agent/fc_agent_runner.py
# api/core/app/apps/advanced_chat/app_runner.py
# api/core/plugin/backwards_invocation/model.py
# api/core/prompt/advanced_prompt_transform.py
# api/core/workflow/nodes/base/node.py
# api/core/workflow/nodes/llm/llm_utils.py
# api/core/workflow/nodes/llm/node.py
# api/core/workflow/nodes/parameter_extractor/parameter_extractor_node.py
# api/core/workflow/nodes/question_classifier/question_classifier_node.py
# api/core/workflow/runtime/graph_runtime_state.py
# api/extensions/storage/base_storage.py
# api/factories/variable_factory.py
# api/pyproject.toml
# api/services/variable_truncator.py
# api/uv.lock
# web/app/account/oauth/authorize/page.tsx
# web/app/components/app/configuration/config-var/config-modal/field.tsx
# web/app/components/base/alert.tsx
# web/app/components/base/chat/chat/answer/human-input-content/executed-action.tsx
# web/app/components/base/chat/chat/answer/more.tsx
# web/app/components/base/chat/chat/answer/operation.tsx
# web/app/components/base/chat/chat/answer/workflow-process.tsx
# web/app/components/base/chat/chat/citation/index.tsx
# web/app/components/base/chat/chat/citation/popup.tsx
# web/app/components/base/chat/chat/citation/progress-tooltip.tsx
# web/app/components/base/chat/chat/citation/tooltip.tsx
# web/app/components/base/chat/chat/question.tsx
# web/app/components/base/chat/embedded-chatbot/inputs-form/index.tsx
# web/app/components/base/chat/embedded-chatbot/inputs-form/view-form-dropdown.tsx
# web/app/components/base/markdown-blocks/form.tsx
# web/app/components/base/prompt-editor/plugins/hitl-input-block/component-ui.tsx
# web/app/components/base/tag-management/panel.tsx
# web/app/components/base/tag-management/trigger.tsx
# web/app/components/header/account-setting/index.tsx
# web/app/components/header/account-setting/members-page/transfer-ownership-modal/index.tsx
# web/app/components/header/account-setting/model-provider-page/provider-added-card/index.tsx
# web/app/signin/utils/post-login-redirect.ts
# web/eslint-suppressions.json
# web/package.json
# web/pnpm-lock.yaml
2026-03-23 09:00:45 +08:00
Novice
89b76d6c33
Merge commit '657eeb65' into sandboxed-agent-rebase
...
Made-with: Cursor
# Conflicts:
# api/core/agent/cot_chat_agent_runner.py
# api/core/agent/fc_agent_runner.py
# api/core/memory/token_buffer_memory.py
# api/core/variables/segments.py
# api/core/workflow/file/file_manager.py
# api/core/workflow/nodes/agent/agent_node.py
# api/core/workflow/nodes/llm/llm_utils.py
# api/core/workflow/nodes/parameter_extractor/parameter_extractor_node.py
# api/core/workflow/workflow_entry.py
# api/factories/variable_factory.py
# api/pyproject.toml
# api/services/variable_truncator.py
# api/uv.lock
# web/app/components/app/app-publisher/index.tsx
# web/app/components/app/overview/settings/index.tsx
# web/app/components/apps/app-card.tsx
# web/app/components/apps/index.tsx
# web/app/components/apps/list.tsx
# web/app/components/base/chat/chat-with-history/header-in-mobile.tsx
# web/app/components/base/features/new-feature-panel/conversation-opener/modal.tsx
# web/app/components/base/features/new-feature-panel/file-upload/setting-content.tsx
# web/app/components/base/features/new-feature-panel/moderation/moderation-setting-modal.tsx
# web/app/components/base/features/new-feature-panel/text-to-speech/param-config-content.tsx
# web/app/components/base/message-log-modal/index.tsx
# web/app/components/base/switch/index.tsx
# web/app/components/base/tab-slider-plain/index.tsx
# web/app/components/explore/try-app/app-info/index.tsx
# web/app/components/plugins/plugin-detail-panel/tool-selector/components/reasoning-config-form.tsx
# web/app/components/workflow/nodes/llm/components/json-schema-config-modal/visual-editor/edit-card/required-switch.tsx
# web/app/components/workflow/nodes/llm/panel.tsx
# web/contract/router.ts
# web/eslint-suppressions.json
# web/i18n/fa-IR/workflow.json
2026-03-19 17:38:56 +08:00
yyh
c43307dae1
refactor(switch): Base UI migration with loading/skeleton variants ( #33345 )
...
Signed-off-by: yyh <yuanyouhuilyz@gmail.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-03-12 14:40:43 +08:00
yyh
5d0c3d58ac
refactor(avatar): migrate to Base UI primitives with Record size variants ( #33268 )
...
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-03-11 14:26:04 +08:00
yyh
0590b09958
feat(web): add context menu primitive and dropdown link item ( #33125 )
2026-03-09 12:05:38 +08:00
akashseth-ifp
7dcf94f48f
test: remaining header component and increase branch coverage ( #33052 )
...
Co-authored-by: sahil <sahil@infocusp.com>
2026-03-09 09:18:11 +08:00
Nite Knite
09347d5e8b
chore: fix account dropdown test ( #33093 )
2026-03-06 18:19:02 +08:00
Nite Knite
0490756ab2
chore: add support email env ( #33075 )
2026-03-06 14:29:29 +08:00
Stephen Zhou
f487b680f5
refactor: spilt context for better hmr ( #33033 )
2026-03-05 15:54:56 +08:00
Stephen Zhou
a4373d8b7b
chore: i18n hmr support, fix hmr for app context ( #32997 )
2026-03-05 10:45:16 +08:00
yyh
dfc6de69c3
refactor(web): migrate Button to Base UI with focus-visible ( #32941 )
...
Signed-off-by: yyh <yuanyouhuilyz@gmail.com>
2026-03-04 13:55:13 +08:00
yyh
1c1edb4a22
fix: keep account dropdown open when switching theme ( #32918 )
2026-03-04 09:53:36 +08:00
yyh
7f67e1a2fc
feat(web): overlay migration guardrails + Base UI primitives ( #32824 )
...
Signed-off-by: yyh <yuanyouhuilyz@gmail.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-03-03 16:56:13 +08:00
Stephen Zhou
eb66d36ea8
chore: add vinext as dev server ( #32559 )
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: yyh <92089059+lyzno1@users.noreply.github.com>
2026-03-01 09:54:39 +08:00
yyh
35b31d0cdd
ci(web): parallelize web tests with 4-shard Vitest sharding ( #32713 )
2026-02-27 21:33:12 +08:00
-LAN-
f73be8d69e
feat(web): add hover clear button for provider search ( #32707 )
...
Signed-off-by: -LAN- <laipz8200@outlook.com>
Co-authored-by: yyh <yuanyouhuilyz@gmail.com>
Co-authored-by: yyh <92089059+lyzno1@users.noreply.github.com>
2026-02-27 20:42:30 +08:00
yyh
865321abb4
fix: use css icons
2026-02-27 17:39:55 +08:00
yyh
0bdd21bc17
refactor(web): replace query option tunneling with queryOptions factories
...
Extract sandboxFilesTreeOptions and buildTreeFromFlatList from
useSandboxFilesTree so callers that need custom TanStack Query behavior
(e.g. refetchInterval) can compose at the call site instead of tunneling
options through the hook. Remove the thin useGetSandboxProviderList
wrapper in favor of inline oRPC queryOptions in the component.
Also remove redundant .input(type<unknown>()) from three no-input GET
contracts—oc already defaults TInputSchema to Schema<unknown, unknown>.
2026-02-27 11:58:16 +08:00
Poojan
5b45b62994
test: improve coverage for header components ( #32628 )
2026-02-27 10:27:46 +08:00
akashseth-ifp
bcd5dd0f81
test(web): increase coverage for files in folder plugin-page and model-provider-page ( #32377 )
2026-02-24 20:57:47 +08:00
akashseth-ifp
ad3a195734
test(web): increase test coverage for model-provider-page folder ( #32374 )
2026-02-24 18:28:12 +08:00
akashseth-ifp
2162cd1a69
test(web): increase test coverage for components inside header folder ( #32392 )
2026-02-24 12:44:10 +08:00
akashseth-ifp
a0244d1390
test(web): add tests for model-provider-page files in header account-… ( #32360 )
2026-02-23 20:07:19 +08:00
akashseth-ifp
42af9d5438
test(web): add members-page account-setting specs and improve coverage ( #32311 )
2026-02-23 20:06:35 +08:00
mahammadasim
ce8354a42a
test: Add unit tests for Data Source Integrations (Notion, Website) and Modals ( #32313 )
...
Co-authored-by: akashseth-ifp <akash.seth@infocusp.com>
2026-02-23 13:00:02 +08:00
akashseth-ifp
d0bb642fc5
test(web): Added test for model-auth files in header folder ( #32358 )
2026-02-23 12:57:00 +08:00
mahammadasim
e4ddf07194
test: header account about, account setting and account dropdown ( #32283 )
2026-02-23 12:15:57 +08:00
akashseth-ifp
aad980f267
test: tighten user-visible specs and raise coverage for key-validator… ( #32281 )
2026-02-23 12:15:34 +08:00
yyh
ea0e1b52a8
refactor(web): make Switch controlled-only and migrate call sites ( #32399 )
2026-02-18 23:47:07 +08:00
yyh
6415a0b799
refactor(web): remove sandbox provider literals from i18n
2026-02-13 19:04:51 +08:00
yyh
eac9cbdfb9
fix: sandbox provider icon sizing and alignment issues
...
Scale Docker SVG icon proportionally for small containers and fix E2B
PNG icon vertical offset by making its border wrapper a flex container.
2026-02-13 11:23:31 +08:00
zhsama
a71d13523d
feat: Add Command and FileUpload workflow icons, fix SSH provider icon
2026-02-11 21:16:57 +08:00
twwu
26ace0da95
Merge branch 'main' into feat/support-agent-sandbox
2026-02-11 17:50:35 +08:00
NFish
b4fec9b7aa
fix: hide invite button if current user is not workspace manager ( #31744 )
2026-02-11 16:31:12 +08:00
hjlarry
d64d796815
chore: improve download graph log
2026-02-11 10:54:07 +08:00
zxhlyh
439d931e9f
fix: support tool call badge & disable tools in llm when model not support tool call
2026-02-11 10:46:55 +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
Stephen Zhou
f355c8d595
refactor: type safe env, update to zod v4 ( #32035 )
2026-02-10 17:55:11 +08:00
yyh
db0c527ce8
Merge remote-tracking branch 'origin/main' into feat/support-agent-sandbox
2026-02-09 18:43:04 +08:00
Harry
3c0b50ee77
feat(sandbox): add SSH agentbox provider for middleware and docker deployments
2026-02-09 16:38:05 +08:00
yyh
f6b036b121
Merge remote-tracking branch 'origin/main' into feat/support-agent-sandbox
2026-02-09 11:35:42 +08:00
zxhlyh
bdf6739b86
fix: search model provider list ( #32106 )
2026-02-09 10:35:40 +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
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
yyh
e2913d9ee1
Revert "refactor!: replace Zustand global store with TanStack Query for systemFeatures"
...
This reverts commit 806ece9a67 .
2026-02-01 19:06:45 +08:00
yyh
806ece9a67
refactor!: replace Zustand global store with TanStack Query for systemFeatures
...
Follow-up to SSR prefetch migration (2833965 ). Eliminates the Zustand
middleman that was syncing TanStack Query data into a separate store.
- Remove useGlobalPublicStore Zustand store entirely
- Create hooks/use-global-public.ts with useSystemFeatures,
useSystemFeaturesQuery, useIsSystemFeaturesPending, useSetupStatusQuery
- Migrate all 93 consumers to import from @/hooks/use-global-public
- Simplify global-public-context.tsx to a thin provider component
- Update 18 test files to mock the new hook interface
- Fix SetupStatusResponse.setup_at type from Date to string (JSON)
- Fix setup-status.spec.ts mock target to match consoleClient
BREAKING CHANGE: useGlobalPublicStore is removed. Use useSystemFeatures()
from @/hooks/use-global-public instead.
2026-02-01 19:06:08 +08:00