10c1c96ea5
Merge remote-tracking branch 'origin/main' into feat/support-agent-sandbox
2026-03-25 16:07:02 +08:00
a8e1ff85db
feat(web): base-ui slider ( #34064 )
...
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-03-25 16:03:49 +08:00
720c950f9e
refactor(web): remove tooltip-plus and migrate to ui tooltip
2026-03-25 13:35:43 +08:00
27f32ce383
Merge remote-tracking branch 'origin/main' into feat/support-agent-sandbox
2026-03-24 19:30:56 +08:00
67d5c9d148
feat: configurable model parameters with variable reference support in LLM, Question Classifier and Variable Extractor nodes ( #33082 )
...
Co-authored-by: -LAN- <laipz8200@outlook.com >
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-03-24 17:41:51 +08:00
6756745062
Merge branch 'main' into feat/support-agent-sandbox
2026-03-24 17:12:13 +08:00
d594365a45
feat: enhance configuration and environment setup for SSH sandbox and Creators Platform; update local excludes and improve component logic in the web app
2026-03-24 17:05:56 +08:00
0c3d11f920
refactor: lazy load large modules ( #33888 )
2026-03-24 15:29:42 +08:00
8775003732
Merge branch 'main' into sandboxed-agent-rebase
...
Made-with: Cursor
# Conflicts:
# api/tests/unit_tests/controllers/console/app/test_message.py
# api/tests/unit_tests/controllers/console/app/test_statistic.py
# api/tests/unit_tests/controllers/console/app/test_workflow_draft_variable.py
# api/tests/unit_tests/controllers/console/auth/test_data_source_bearer_auth.py
# api/tests/unit_tests/controllers/console/auth/test_data_source_oauth.py
# api/tests/unit_tests/controllers/console/auth/test_oauth_server.py
# web/app/components/header/account-setting/data-source-page/data-source-notion/operate/index.tsx
# web/app/components/header/account-setting/data-source-page/data-source-website/config-firecrawl-modal.tsx
# web/app/components/header/account-setting/data-source-page/data-source-website/config-jina-reader-modal.tsx
# web/app/components/header/account-setting/data-source-page/data-source-website/config-watercrawl-modal.tsx
# web/app/components/header/account-setting/data-source-page/panel/config-item.tsx
# web/app/components/header/account-setting/data-source-page/panel/index.tsx
# web/app/components/workflow/nodes/knowledge-retrieval/node.tsx
# web/package.json
# web/pnpm-lock.yaml
2026-03-24 11:19:50 +08:00
499d237b7e
fix: pass all CI quality checks - ESLint, TypeScript, basedpyright, pyrefly, lint-imports
...
Frontend:
- Migrate deprecated imports: modal→dialog, toast→ui/toast, tooltip→tooltip-plus,
portal-to-follow-elem→portal-to-follow-elem-plus, select→ui/select, confirm→alert-dialog
- Replace next/* with @/next/* wrapper modules
- Convert TypeScript enums to const objects (erasable-syntax-only)
- Replace all `any` types with `unknown` or specific types in workflow types
- Fix unused vars, react-hooks-extra, react-refresh/only-export-components
- Extract InteractionMode to separate module, tool-block commands to commands.ts
Backend:
- Fix pyrefly errors: type narrowing, null guards, getattr patterns
- Remove unused TYPE_CHECKING imports in LLM node
- Add ignore_imports entries to .importlinter for dify_graph boundary violations
Made-with: Cursor
2026-03-24 10:54:58 +08:00
075b8bf1ae
fix(web): update account settings header ( #33965 )
2026-03-24 10:04:08 +08:00
ed1bd338f1
refactor: update model attribute references from 'model' to 'model_name' across multiple files and introduce new fetch_model_config function in llm_utils.py
2026-03-23 21:17:43 +08:00
fdc880bc67
test(workflow): add unit tests for workflow components ( #33910 )
...
Co-authored-by: CodingOnStar <hanxujiang@dify.com >
2026-03-23 16:37:03 +08:00
dc1a68661c
refactor(web): migrate members invite overlays to base ui ( #33922 )
...
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-03-23 16:31:41 +08:00
25a83065d2
refactor(web): remove legacy data-source settings ( #33905 )
...
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-03-23 15:19:20 +08:00
fd124e6d32
Merge main HEAD (segment 5) into sandboxed-agent-rebase
...
Resolve 83 conflicts: 10 backend, 62 frontend, 11 config/lock files.
Preserve sandbox/agent/collaboration features while adopting main's
UI refactorings (Dialog/AlertDialog/Popover), model provider updates,
and enterprise features.
Made-with: Cursor
2026-03-23 14:20:06 +08:00
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
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
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
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
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
27ed40225d
refactor(web): update frontend toast call sites to use the new shortcut API ( #33808 )
...
Signed-off-by: yyh <yuanyouhuilyz@gmail.com >
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-03-20 16:02:22 +08:00
8bebec57c1
fix: remove legacy z-index overrides on model config popup ( #33769 )
...
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-20 10:40:30 +08:00
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
4254392221
fix: leaked set timeout ( #33692 )
2026-03-18 23:46:22 +08:00
93f9546353
refactor(web): migrate core toast call sites to base ui toast ( #33643 )
2026-03-18 16:53:55 +08:00
296b7044af
refactor: route next/navigation through compat re-export ( #33636 )
2026-03-18 12:57:03 +08:00
69d1ccb7a7
refactor: route next/link through compat re-export ( #33632 )
2026-03-18 12:14:59 +08:00
6100acb780
refactor(web): move component tests into sibling __tests__ directories ( #33623 )
...
Co-authored-by: CodingOnStar <hanxujiang@dify.com >
2026-03-18 10:49:30 +08:00
bbe975c6bc
feat: enhance model plugin workflow checks and model provider management UX ( #33289 )
...
Signed-off-by: yyh <yuanyouhuilyz@gmail.com >
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: CodingOnStar <hanxujiang@dify.com >
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Coding On Star <447357187@qq.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: -LAN- <laipz8200@outlook.com >
Co-authored-by: statxc <tyleradams93226@gmail.com >
2026-03-18 10:16:15 +08:00
6da802eb2a
refactor(custom): reorganize web app brand module and raise coverage threshold ( #33531 )
...
Co-authored-by: CodingOnStar <hanxujiang@dify.com >
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-03-16 18:17:21 +08:00
4822d550b6
chore: remove next img ( #33517 )
2026-03-16 16:48:22 +08:00
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
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
0590b09958
feat(web): add context menu primitive and dropdown link item ( #33125 )
2026-03-09 12:05:38 +08:00
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
09347d5e8b
chore: fix account dropdown test ( #33093 )
2026-03-06 18:19:02 +08:00
0490756ab2
chore: add support email env ( #33075 )
2026-03-06 14:29:29 +08:00
f487b680f5
refactor: spilt context for better hmr ( #33033 )
2026-03-05 15:54:56 +08:00
a4373d8b7b
chore: i18n hmr support, fix hmr for app context ( #32997 )
2026-03-05 10:45:16 +08:00
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
1c1edb4a22
fix: keep account dropdown open when switching theme ( #32918 )
2026-03-04 09:53:36 +08:00
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
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
35b31d0cdd
ci(web): parallelize web tests with 4-shard Vitest sharding ( #32713 )
2026-02-27 21:33:12 +08:00
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
865321abb4
fix: use css icons
2026-02-27 17:39:55 +08:00
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
5b45b62994
test: improve coverage for header components ( #32628 )
2026-02-27 10:27:46 +08:00
bcd5dd0f81
test(web): increase coverage for files in folder plugin-page and model-provider-page ( #32377 )
2026-02-24 20:57:47 +08:00