yyh
e8397ae7a8
fix(web): Zustand testing best practices and state read optimization ( #31163 )
...
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-01-19 10:31:34 +08:00
Stephen Zhou
14f123802d
chore: update vite related version ( #31180 )
2026-01-19 10:28:06 +08:00
hjlarry
1fb6d1286f
fix webtest
2026-01-18 17:27:29 +08:00
hjlarry
511df81201
fix web style
2026-01-18 13:40:12 +08:00
yyh
2f081fa6fa
refactor(skill-editor): adopt 4-generic StateCreator pattern for type-safe cross-slice access
...
Use explicit StateCreator<FullStore, [], [], SliceType> pattern instead of
StateCreator<SliceType> for all skill-editor slices. This enables:
- Type-safe cross-slice state access via get()
- Explicit type contracts instead of relying on spread args behavior
- Better maintainability following Lobe-chat's proven pattern
Extract all type definitions to types.ts to avoid circular dependencies.
2026-01-18 13:24:34 +08:00
yyh
3b27d9e819
refactor(skill-editor): remove type assertions by using spread args pattern
...
Replace explicit parameter destructuring with spread args pattern to
eliminate `as unknown as` type assertions when composing sub-slices.
This aligns with the pattern used in the main workflow store.
2026-01-18 13:11:06 +08:00
hjlarry
682c93f262
Merge remote-tracking branch 'myori/main' into feat/collaboration2
2026-01-18 10:28:50 +08:00
hjlarry
4200ac0da3
fix CI
2026-01-17 22:58:27 +08:00
hjlarry
434f7f3bcb
fix web style
2026-01-17 22:10:10 +08:00
yyh
c0a76220dd
fix(skill-editor): resolve React Compiler memoization warnings
...
Consolidate file type derivations into a single useMemo with stable
dependencies (currentFileNode?.name and currentFileNode?.extension)
to help React Compiler track stability.
Extract originalContent as a separate variable to avoid property access
in useCallback dependencies, which caused Compiler to infer broader
dependencies than specified.
2026-01-17 22:01:33 +08:00
yyh
9d04fb4992
fix(skill-editor): resolve React Compiler memoization warnings
...
Wrap isEditable in useMemo to help React Compiler track its stability
and preserve memoization for callbacks that depend on it. Also replace
Record<string, any> with Record<string, unknown> to satisfy no-explicit-any.
2026-01-17 21:51:25 +08:00
yyh
02fcf33067
fix(skill-editor): remove unnecessary store subscriptions in tool-picker-block
...
Move activeTabId and fileMetadata reads from selector subscriptions to
getState() calls inside the callback. These values were only used in the
insertTools callback, not for rendering, causing unnecessary re-renders
when they changed.
2026-01-17 21:47:31 +08:00
Stephen Zhou
7b66bbc35a
chore: introduce bulk-suppressions and multithread linting ( #31157 )
2026-01-17 19:51:56 +08:00
hjlarry
2d94904241
fix web unittests
2026-01-17 19:43:40 +08:00
yyh
bbf1247f80
fix(skill-editor): compare content with original to determine dirty state
...
Previously, any edit would mark the file as dirty even if the content
was restored to its original state. Now we compare against the original
content and clear the dirty flag when they match.
2026-01-17 17:52:00 +08:00
Pegasus
77366f33a4
feat(web): add loading indicators for infinite scroll pagination ( #31110 )
...
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Co-authored-by: Stephen Zhou <38493346+hyoban@users.noreply.github.com>
2026-01-17 17:36:07 +08:00
yyh
e3b0918dd9
test(web): add global zustand mock for tests ( #31149 )
2026-01-17 17:29:13 +08:00
yyh
b82b73ef94
refactor(skill-editor): split slice into separate files for better organization
...
Split the monolithic skill-editor-slice.ts into a dedicated directory with
individual slice files (tab, file-tree, dirty, metadata, file-operations-menu)
to improve maintainability and code organization.
2026-01-17 17:28:25 +08:00
yyh
15d6f60f25
Merge remote-tracking branch 'origin/main' into feat/support-agent-sandbox
2026-01-17 17:03:32 +08:00
hjlarry
91e6ae2a7d
fix bug
2026-01-17 14:53:33 +08:00
hjlarry
bb3d94f1c5
Merge remote-tracking branch 'myori/main' into feat/collaboration2
2026-01-17 12:24:37 +08:00
hjlarry
c45fbb6491
rm workflow.ts
2026-01-17 10:26:12 +08:00
hjlarry
fc291e4ca2
Merge remote-tracking branch 'myori/main' into feat/collaboration2
2026-01-17 10:22:41 +08:00
yyh
ad8c5f5452
perf: lazy load SkillMain component using next/dynamic
...
Reduce initial bundle size by dynamically importing SkillMain
component. This prevents loading the entire Skill module (including
Monaco and Lexical editors) when users only access the Graph view.
2026-01-16 21:31:56 +08:00
zhsama
0c62c39a1d
Merge branch 'zhsama/assemble-var-input' into feat/pull-a-variable
2026-01-16 18:54:53 +08:00
zhsama
8d643e4b85
feat: add assemble variables icon
2026-01-16 18:45:28 +08:00
Joel
d542a74733
feat: panel ui
2026-01-16 18:39:13 +08:00
Harry
0bd17c6d0f
refactor(sandbox): sandbox provider system default configuration
2026-01-16 18:22:44 +08:00
zhsama
77401e6f5c
feat: optimize variable picker styling and optimize agent nodes
2026-01-16 18:21:43 +08:00
Joel
8b42435f7a
feat: support set default value when choose tool
2026-01-16 18:16:01 +08:00
가은 정
fad6fa141d
chore: improve accessibility for learn more link ( #31120 )
...
Co-authored-by: khmandarrin <jeong-ga-eun@jeong-ga-eun-ui-MacBookAir.local>
2026-01-16 18:12:07 +08:00
Joel
3147e850be
fix: click tool not show current
2026-01-16 17:52:40 +08:00
Joel
0b33381efb
feat: support save settings
2026-01-16 17:44:40 +08:00
yyh
ee7a9a34e0
Merge remote-tracking branch 'origin/main' into feat/support-agent-sandbox
2026-01-16 17:25:19 +08:00
Joel
148f92f92d
fix: allow all fileds and not allow model set to auto
2026-01-16 17:20:11 +08:00
zhsama
40caaaab23
Merge branch 'zhsama/assemble-var-input' into feat/pull-a-variable
2026-01-16 17:04:18 +08:00
zhsama
1bc1c04be5
feat: add assemble variables entry
2026-01-16 17:03:22 +08:00
Joel
f79df6982d
feat: support setting show on click
2026-01-16 16:58:58 +08:00
yyh
6903c31b84
fix(search-input): retain focus after clearing input ( #31107 )
2026-01-16 16:22:14 +08:00
zhsama
e85e31773a
Merge branch 'zhsama/llm-warning-ui' into feat/pull-a-variable
2026-01-16 16:22:07 +08:00
zhsama
e5336a2d75
Use warning token borders for mentions
2026-01-16 15:09:42 +08:00
Joel
649283df09
fix: not popup and use new setting
2026-01-16 15:09:25 +08:00
zhsama
7222a896d8
Align warning styles for agent mentions
2026-01-16 15:01:11 +08:00
zhsama
b5712bf8b0
Merge branch 'zhsama/agent-at-nodes' into feat/pull-a-variable
2026-01-16 14:47:37 +08:00
yyh
06b6625c01
feat(skill): implement file tree search with debounced filtering
...
Add search functionality to skill sidebar using react-arborist's built-in
searchTerm and searchMatch props. Search input is debounced at 300ms and
filters tree nodes by name (case-insensitive). Also add success toast for
rename operations.
2026-01-16 14:44:44 +08:00
Joel
eb4f57fb8b
chore: split tool config
2026-01-16 14:39:33 +08:00
yyh
0f5d3f38da
refactor(skill): use node.parent chain for ancestor traversal
...
Replace getAncestorIds(treeData) with node.parent chain traversal
for more efficient ancestor lookup. This avoids re-traversing the
tree data structure and uses react-arborist's built-in parent refs.
Also rename hook to useSyncTreeWithActiveTab for clarity.
2026-01-16 14:27:21 +08:00
XiaoBa
e9f0e1e839
fix(web): replace Response.json with legacy Response constructor for pre-Chrome 105 compatibility( #31091 ) ( #31095 )
...
Co-authored-by: Xiaoba Yu <xb1823725853@gmail.com>
2026-01-16 14:26:23 +08:00
yyh
76da178cc1
refactor(skill): extract tree node handlers into reusable hooks
...
Extract complex event handling and side effects from file tree components
into dedicated hooks for better separation of concerns and reusability.
2026-01-16 14:15:21 +08:00
yyh
38a2d2fe68
fix(skill): isolate more button click from tree node click handling
...
Use split button pattern to separate main content area from more button.
This prevents click events on the more button from bubbling up to the
parent element's click/double-click handlers, which caused unintended
file opening when clicking the menu button multiple times.
2026-01-16 14:07:07 +08:00
yyh
9397ba5bd2
refactor: move skill store to workflow/store/
2026-01-16 13:51:50 +08:00
yyh
7093962f30
refactor(skill): move skill editor slice to core workflow store
...
Move SkillEditorSlice from injection pattern to core workflow store,
making it available to all workflow contexts (workflow-app, chatflow,
and future rag-pipeline).
- Add createSkillEditorSlice to core createWorkflowStore
- Remove complex type conversion logic from workflow-app/index.tsx
- Remove optional chaining (?.) and non-null assertions (!) from components
- Simplify slice composition with type assertions via unknown
2026-01-16 13:51:50 +08:00
yyh
7022e4b9ca
fix(skill): add key prop to editors to fix content sync on tab switch
...
Lexical editor only uses initialConfig.editorState on mount, ignoring
subsequent value prop changes when the component is reused by React.
Adding key={activeTabId} forces React to remount editors when switching
tabs, ensuring correct content is displayed.
2026-01-16 13:51:50 +08:00
yyh
b8d67a42bd
refactor(skill): migrate skill editor store to workflow store slice injection
...
Refactor the skill editor state management from a standalone Zustand store
with Context provider pattern to a slice injection pattern that integrates
with the existing workflow store. This aligns with how rag-pipeline already
injects its slice.
- Remove SkillEditorProvider and SkillEditorContext
- Export createSkillEditorSlice for injection into workflow store
- Update all components to use useStore/useWorkflowStore from workflow store
- Add SkillEditorSliceShape to SliceFromInjection union type
- Use type-safe slice creator args without any types
2026-01-16 13:51:49 +08:00
yyh
106cb8e373
refactor(skill): unify node menu components with cva variants
...
Merge file-node-menu.tsx and folder-node-menu.tsx into a single
declarative NodeMenu component that uses type prop to determine
menu items. Add cva-based variant support to MenuItem for consistent
destructive styling.
2026-01-16 13:51:49 +08:00
Joel
9492eda5ef
chore: tool format and render problem
2026-01-16 13:50:20 +08:00
pavior
cd497a8c52
fix(web): use portal for variable picker in code editor ( Fixes #31063 ) ( #31066 )
2026-01-16 13:31:57 +08:00
Stephen Zhou
7aab4529e6
chore: lint for state hooks ( #31088 )
2026-01-16 11:58:28 +08:00
E.G
4bff0cd0ab
fix: resolve 'Expand all chunks' button not working ( #31074 )
...
Co-authored-by: GlobalStar117 <GlobalStar117@users.noreply.github.com>
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>
Co-authored-by: crazywoola <427733928@qq.com>
2026-01-16 11:34:42 +08:00
Joel
64ddcc8960
chore: fix choose provder id
2026-01-16 11:31:03 +08:00
yyh
c7bca6a3fb
fix(skill): restore auto-pin on edit behavior (VS Code style)
2026-01-16 11:26:13 +08:00
yyh
f1ce933b33
fix(skill): address code review issues for tab management
...
1. Add confirmation dialog when closing dirty tabs
2. Fix file double-click race condition with useDelayedClick hook
3. Fix previewTabId orphan state in closeTab
4. Remove auto-pin on every keystroke (VS Code behavior)
5. Extract shared MenuItem component to eliminate duplication
6. Make nodeId optional when node is provided (reduce props drilling)
2026-01-16 11:20:49 +08:00
yyh
17990512ce
fix(skill): add throttle to folder toggle and validate pinTab
...
- Use es-toolkit throttle with leading edge to prevent folder toggle
flickering on double-click (3 toggles reduced to 1)
- Add validation in pinTab to check if file exists in openTabIds
2026-01-16 11:20:49 +08:00
yyh
a30fb5909b
feat(skill): implement VS Code-style preview/pinned tab management
...
- Single-click file in tree opens in preview mode (temporary, replaceable)
- Double-click file opens in pinned mode (permanent)
- Preview tabs display with italic filename
- Editing content auto-converts preview tab to pinned
- Double-clicking preview tab header converts to pinned
- Only one preview tab can exist at a time
2026-01-16 11:20:49 +08:00
Joel
3dea5adf5c
fix: change caused problem
2026-01-16 11:00:56 +08:00
yyh
bf1ebcdf8f
Merge remote-tracking branch 'origin/main' into feat/support-agent-sandbox
2026-01-16 10:05:12 +08:00
yyh
3252748345
feat(skill): add oRPC contract and hook for file download URL
...
Add frontend oRPC integration for the existing backend download URL
endpoint to enable file downloads from the asset tree.
2026-01-16 09:55:17 +08:00
byteforge
c98870c3f4
refactor: always preserve marketplace search state in URL ( #31069 )
...
Co-authored-by: Stephen Zhou <38493346+hyoban@users.noreply.github.com>
2026-01-16 08:52:53 +09:00
zhsama
72eb29c01b
fix: fix duplicate agent context warnings in tool node
2026-01-16 00:42:42 +08:00
zhsama
0f3156dfbe
fix: list multiple @mentions
2026-01-16 00:19:28 +08:00
zhsama
b21875eaaf
fix: simplify @llm warning
2026-01-16 00:08:51 +08:00
zhsama
2591615a3c
Merge branch 'zhsama/agent-at-nodes' into feat/pull-a-variable
2026-01-15 23:51:35 +08:00
zhsama
691554ad1c
feat: 展示@agent引用
2026-01-15 23:32:14 +08:00
zhsama
f43fde5797
feat: Enhance context variable handling for Agent and LLM nodes
2026-01-15 23:26:19 +08:00
Stephen Zhou
1a2fce7055
ci: eslint annotation ( #31056 )
2026-01-15 21:49:46 +08:00
yyh
783cdb1357
feat(skill): add inline rename and guide lines to file tree
...
Add TreeEditInput component for inline file/folder renaming with keyboard
support (Enter to submit, Escape to cancel). Add TreeGuideLines component
to render vertical indent lines based on node depth for better visual
hierarchy in the tree view.
Reorganize file tree components into dedicated `file-tree` subdirectory
for better code organization.
2026-01-15 21:30:02 +08:00
yyh
2de17cb1a4
Merge remote-tracking branch 'origin/main' into feat/support-agent-sandbox
2026-01-15 20:47:34 +08:00
yyh
3b6946d3da
refactor(skill): centralize asset tree data fetching with custom hooks
...
Extract repeated appId retrieval and tree data fetching patterns into
dedicated hooks (useSkillAssetTreeData, useSkillAssetNodeMap) to reduce
code duplication across 6 components and leverage TanStack Query's
select option for efficient nodeMap computation.
2026-01-15 19:45:33 +08:00
yyh
b8adc8f498
fix(web): memoize skill sidebar menu offset
2026-01-15 19:45:32 +08:00
yyh
ca7c4d2c86
fix(skill): improve accessibility for file tree and tabs
...
- Convert div with onClick to proper button elements for keyboard access
- Add focus-visible ring styles to all interactive elements
- Add ARIA attributes (role, aria-selected, aria-expanded) to tree nodes
- Add keyboard navigation (Enter/Space) support to tree items
- Mark decorative icons with aria-hidden="true"
- Add missing i18n keys for accessibility labels
- Fix typography: use ellipsis character (…) instead of three dots
2026-01-15 19:45:32 +08:00
yyh
6e66e2591b
feat(skill): disable file tree during mutations
...
- Add useIsMutating hook to track ongoing mutations
- Apply pointer-events-none and opacity-50 when mutating
- Prevents user interaction during file operations
2026-01-15 18:14:10 +08:00
yyh
fd0556909f
fix(skill): default folders to collapsed state on load
...
- Add openByDefault={false} to Tree component
- react-arborist defaults openByDefault to true, causing all folders
to be expanded on page refresh
2026-01-15 18:05:42 +08:00
yyh
ac2120da1e
refactor(skill): separate DropTip from tree container
...
- Move DropTip component outside the tree flex container
- Use Fragment to group tree container, DropTip and context menu
- DropTip is now an independent fixed element at the bottom
2026-01-15 18:05:42 +08:00
yyh
f3904a7e39
fix(skill): use dynamic height for file tree to fix scroll issues
...
- Replace fixed height={1000} with dynamic containerSize.height
- Use useSize hook from ahooks to observe container dimensions
- Fallback to 400px default height for initial render
- Fixes scroll issues when collapsing folders
2026-01-15 18:05:42 +08:00
yyh
b3923ec3ca
fix: translations
2026-01-15 18:05:41 +08:00
Joel
9ffdad6465
fix: click tool inner caused blur
2026-01-15 17:58:38 +08:00
zhsama
f247ebfbe1
feat: Await sub-graph save before syncing workflow draft
2026-01-15 17:53:28 +08:00
lif
2b021e8752
fix: remove hardcoded 48-character limit from text inputs ( #30156 )
...
Signed-off-by: majiayu000 <1835304752@qq.com>
Co-authored-by: crazywoola <100913391+crazywoola@users.noreply.github.com>
2026-01-15 17:43:00 +08:00
yyh
713e040481
Merge remote-tracking branch 'origin/main' into feat/support-agent-sandbox
2026-01-15 17:26:58 +08:00
yyh
f58f36fc8f
feat(skill): add file right-click/more menu and refactor naming
...
- Add right-click context menu and '...' more button for files
- Files now support Rename and Delete operations
- Created file-node-menu.tsx for file-specific menu
- Refactor component naming for consistency
- file-item-menu.tsx -> file-node-menu.tsx (unify 'node' terminology)
- file-operations-menu.tsx -> folder-node-menu.tsx (clarify folder menu)
- file-tree-context-menu.tsx -> tree-context-menu.tsx (simplify)
- file-tree-node.tsx -> tree-node.tsx (simplify)
- files.tsx -> file-tree.tsx (more descriptive)
- Renamed internal components: FileTreeNode -> TreeNode, Files -> FileTree
- Add context menu node highlight
- When right-clicking a node, it now shows hover highlight
- Subscribed to contextMenu.nodeId in TreeNode component
2026-01-15 17:26:12 +08:00
Joel
195cd2c898
chore: show line numbers to skill editor
2026-01-15 17:21:12 +08:00
Joel
d650cde323
feat: skill editor choose tool
2026-01-15 17:16:01 +08:00
zhsama
d641c845dd
feat: Pass workflow draft sync callback to sub-graph
2026-01-15 17:12:30 +08:00
yyh
e651c6cacf
fix: css
2026-01-15 16:45:40 +08:00
zhsama
2e10d67610
perf: Replace topOffset prop with withHeader in Panel component
2026-01-15 16:44:15 +08:00
yyh
eab395f58a
refactor: sync file tree open state
2026-01-15 16:39:22 +08:00
yyh
2f92957e15
fix: css
2026-01-15 16:14:51 +08:00
zhsama
e89d4e14ea
Merge branch 'main' into feat/pull-a-variable
2026-01-15 16:14:15 +08:00
zhsama
5525f63032
refactor: sub-graph panel use shared Panel component
2026-01-15 16:12:39 +08:00
yyh
7bc1390366
feat(skill-editor): enhance + button with full operations and smart target folder
...
- Refactor sidebar-search-add to reuse useFileOperations hook
- Add getTargetFolderIdFromSelection utility for smart folder targeting
- Expand + button menu: New File, New Folder, Upload File, Upload Folder
- Target folder based on selection: file's parent, folder itself, or root
2026-01-15 16:10:01 +08:00
Joel
e91fb94d0e
chore: palceholder
2026-01-15 16:08:26 +08:00
yyh
5c03a2e251
refactor(skill-editor): extract hooks and utils into separate directories
...
- Extract useFileOperations hook to hooks/use-file-operations.ts
- Move tree utilities to utils/tree-utils.ts
- Move file utilities to utils/file-utils.ts (renamed from utils.ts)
- Remove unnecessary JSDoc comments throughout components
- Simplify type.ts to only contain local type definitions
- Clean up store/index.ts by removing verbose comments
2026-01-15 16:00:42 +08:00
yyh
1741fcf84d
feat(skill-editor): add rename and delete operations for folder context menu
...
- Add Rename using react-arborist native inline editing (node.edit())
- Add Delete with Confirm modal and automatic tab cleanup
- Add getAllDescendantFileIds utility for finding files to close on delete
- Add i18n strings for rename/delete operations (en-US, zh-Hans)
2026-01-15 16:00:41 +08:00
yyh
52215e9166
fix(prompt-editor): show border on hover for better scroll boundary visibility
...
Add hover state border to prompt editor so users can see the boundary
while scrolling even when the editor is not focused.
2026-01-15 16:00:41 +08:00
Joel
4cfc135652
feat: prompt editor support line num
2026-01-15 15:56:49 +08:00
zhsama
8ee643e88d
fix: fix variable inspect panel width in subgraphs
2026-01-15 15:55:55 +08:00
Stephen Zhou
ab1c5a2027
refactor: remove manual set query logic ( #31039 )
2026-01-15 15:25:43 +08:00
yyh
ff632bf9b8
feat(workflow): persist view tab state to URL search params
...
Use nuqs to sync graph/skill view selection to URL, enabling
shareable links and browser history navigation. Hoists
SkillEditorProvider to maintain state across view switches.
2026-01-15 15:09:36 +08:00
yyh
ce9ed88b03
refactor(skill-editor): hoist SkillEditorProvider for state persistence
...
Move SkillEditorProvider from SkillMain to WorkflowAppWrapper so that
store state persists across view switches between Graph and Skill views.
Also add URL query state for view type using nuqs.
2026-01-15 15:09:12 +08:00
yyh
e6a4a08120
refactor(skill-editor): simplify code by extracting MenuItem component and removing dead code
...
- Extract reusable MenuItem component for menu buttons in FileOperationsMenu
- Remove unused handleUploadFileClick/handleUploadFolderClick callbacks
- Remove unused handleDropdownClose callback, inline directly
- Remove unused _fileId parameter from revealFile function
- Simplify toOpensObject using Object.fromEntries
2026-01-15 15:05:43 +08:00
yyh
388ee087c0
feat(skill-editor): add folder context menu with file operations
...
Add right-click context menu and "..." dropdown button for folders in
the file tree, enabling file operations within any folder:
- New File: Create empty file via Blob upload
- New Folder: Create subfolder
- Upload File: Upload multiple files to folder
- Upload Folder: Upload entire folder structure preserving hierarchy
Implementation includes:
- FileOperationsMenu: Shared menu component for both triggers
- FileTreeContextMenu: Right-click menu with absolute positioning
- FileTreeNode: Added context menu and dropdown button for folders
- Store slice for context menu state management
- i18n strings for en-US and zh-Hans
2026-01-15 14:56:31 +08:00
Joel
2fb8883918
feat: split different filetypes
2026-01-15 14:53:00 +08:00
yyh
28ccd42a1c
refactor(skill-editor): simplify SkillEditorProvider
...
Remove verbose comments and appId reset logic since parent component
remounts on appId change. Consolidate imports and use function declaration.
2026-01-15 14:10:41 +08:00
yyh
fcd814a2c3
refactor(skill-editor): simplify state management and remove dead code
...
- Replace useRef pattern with useMemo for store creation in context.tsx
- Remove unused extension prop from EditorTabItem
- Fix useMemo dependency warnings in editor-tabs.tsx and skill-doc-editor.tsx
- Add proper OnMount type for Monaco editor instead of any
- Delete unused file-item.tsx and fold-item.tsx components
- Remove unused getExtension and fromOpensObject utilities from type.ts
- Refactor auto-reveal effect in files.tsx for better readability
2026-01-15 14:02:15 +08:00
yyh
fe17cbc1a8
feat(skill-editor): implement file tree, tab management, and dirty state tracking
...
Implement MVP features for skill editor based on design doc:
- Add Zustand store with Tab, FileTree, and Dirty slices
- Rewrite file tree using react-arborist for virtual scrolling
- Implement Tab↔FileTree sync with auto-reveal on tab activation
- Add upload functionality (new folder, upload file)
- Implement Monaco editor with dirty state tracking and Ctrl+S save
- Add i18n translations (en-US and zh-Hans)
2026-01-15 13:53:19 +08:00
hjlarry
b549d669d6
clear logic
2026-01-15 13:17:14 +08:00
hjlarry
802b38eede
fix
2026-01-15 13:16:35 +08:00
hjlarry
4b57e7bd53
fix
2026-01-15 11:42:34 +08:00
-LAN-
0ef8b5a0ca
chore: bump version to 1.11.4 ( #30961 )
2026-01-15 11:36:15 +08:00
Joel
3bd434ddf2
chore: ui enchance
2026-01-15 11:35:48 +08:00
Joel
834a5df580
fix: switch zindex
2026-01-15 11:31:08 +08:00
Joel
e40c2354d5
chore: remove useless props
2026-01-15 11:24:59 +08:00
Joel
b0eca12d88
feat: tabs
2026-01-15 11:22:43 +08:00
yyh
3a86983207
refactor(web): nest sandbox provider contracts
2026-01-15 11:04:43 +08:00
Joel
f461ddeb7e
missing files
2026-01-15 11:04:15 +08:00
Joel
7b534baf15
chore: file type utils
2026-01-15 11:02:07 +08:00
Joel
74d8bdd3a7
chore: search ui
2026-01-15 11:02:07 +08:00
yyh
657739d48b
Merge remote-tracking branch 'origin/main' into feat/support-agent-sandbox
...
# Conflicts:
# api/models/model.py
# web/contract/router.ts
2026-01-15 10:59:45 +08:00
Coding On Star
bdd8d5b470
test: add unit tests for PluginPage and related components ( #30908 )
...
Co-authored-by: CodingOnStar <hanxujiang@dify.ai>
2026-01-15 10:56:02 +08:00
yyh
f8b27dd662
fix(web): accept 2xx status codes in upload function for HTTP semantics
...
The upload helper was hardcoded to only accept HTTP 201, which broke
PUT requests that return 200. This aligns with standard HTTP semantics
where POST returns 201 Created and PUT returns 200 OK.
2026-01-15 10:54:42 +08:00
yyh
3bee2ee067
refactor(contract): restructure console contracts with nested billing module ( #30999 )
2026-01-15 10:41:18 +08:00
Stephen Zhou
328897f81c
build: require node 24.13.0 ( #30945 )
2026-01-15 10:38:55 +08:00
Coding On Star
ab078380a3
feat(web): refactor documents component structure and enhance functionality ( #30854 )
...
Co-authored-by: CodingOnStar <hanxujiang@dify.ai>
2026-01-15 10:33:58 +08:00
Coding On Star
a33ac77a22
feat: implement document creation pipeline with multi-step wizard and datasource management ( #30843 )
...
Co-authored-by: CodingOnStar <hanxujiang@dify.ai>
2026-01-15 10:33:48 +08:00
wangxiaolei
c6999fb5be
fix: fix plugin edit endpoint app disappear ( #30951 )
2026-01-15 10:09:57 +08:00
yyh
18c7f4698a
feat(web): add oRPC contracts and service hooks for app asset API
...
- Add TypeScript types for app asset management (types/app-asset.ts)
- Add oRPC contract definitions with nested router pattern (contract/console/app-asset.ts)
- Add React Query hooks for all asset operations (service/use-app-asset.ts)
- Integrate app asset contracts into console router
Endpoints covered: tree, createFolder, createFile, getFileContent,
updateFileContent, deleteNode, renameNode, moveNode, reorderNode, publish
2026-01-15 09:50:05 +08:00
zhsama
ccb337e8eb
fix: Sync extractor prompt template with tool input text
2026-01-15 04:09:35 +08:00
zhsama
1ff677c300
refactor: Remove unused sub-graph persistence and initialization hooks.
...
Simplified sub-graph store by removing unused state fields and setters.
2026-01-15 04:08:42 +08:00
zhsama
04145b19a1
refactor: refactor prompt template processing logic
2026-01-15 01:14:46 +08:00
zhsama
56e537786f
feat: Update LLM context selector styling
2026-01-14 23:30:12 +08:00
zhsama
810f9eaaad
feat: Enhance sub-graph components with context handling and variable management
2026-01-14 23:23:09 +08:00
yyh
384b99435b
Merge remote-tracking branch 'origin/main' into feat/support-agent-sandbox
...
# Conflicts:
# api/.env.example
# api/uv.lock
2026-01-14 21:14:36 +08:00
Milad Rashidikhah
11f1782df0
fix: correct API Extension documentation link ( #30962 )
2026-01-14 21:21:15 +09:00
wangxiaolei
8cf5d9a6a1
fix: fix Cannot destructure property 'name' of 'value' as it is undef… ( #30991 )
2026-01-14 19:30:47 +08:00
zhsama
4828348532
feat: Add structured output to sub-graph LLM nodes
2026-01-14 17:25:06 +08:00
Stephen Zhou
f33b1a3332
fix: redirect after login ( #30985 )
2026-01-14 17:20:49 +08:00
Joel
be5a4cf5e3
temp fix: tab change caused empty the nodes
2026-01-14 17:20:40 +08:00
yyh
18e051bd66
chore(web): remove unused demo service component ( #30979 )
2026-01-14 17:03:35 +08:00
yyh
d17a92f713
refactor(web): split sandbox provider contracts into separate file
...
Move sandbox provider related contracts from contract/console.ts
to contract/console/sandbox-provider.ts for better organization
2026-01-14 16:46:04 +08:00
Joel
ab531d946e
feat: add main skill struct
2026-01-14 16:28:14 +08:00
Joel
1a8fd08563
chore: add list define and mock data
2026-01-14 16:28:14 +08:00
yyh
c6ddf89980
Merge remote-tracking branch 'origin/main' into feat/support-agent-sandbox
2026-01-14 16:24:47 +08:00
yyh
42f991dbef
chore(web): disable Serwist dev logs ( #30980 )
2026-01-14 16:23:58 +08:00
yyh
71c39ae583
Merge remote-tracking branch 'origin/main' into feat/support-agent-sandbox
2026-01-14 16:23:57 +08:00
yyh
b1b2c9636f
fix(web): preserve HTTP method in ORPC fetchCompat mode ( #30971 )
...
Co-authored-by: Stephen Zhou <38493346+hyoban@users.noreply.github.com>
2026-01-14 16:18:12 +08:00
Joel
6b55e6781f
feat: graph skill main struct
2026-01-14 15:41:02 +08:00
zhsama
c8c048c3a3
perf: Optimize sub-graph store selectors and layout
2026-01-14 15:39:21 +08:00
yyh
4887c9ea6f
refactor(web): simplify MCP tool availability context and hook
...
- Add useMemo to prevent unnecessary re-renders of context value
- Extract ProviderProps type for better readability
- Convert arrow functions to standard function declarations
- Remove unused versionSupported/sandboxEnabled from hook return type
2026-01-14 14:15:07 +08:00
yyh
18170a1de5
feat(web): add sandbox mode check for MCP tool availability
...
Extend MCP tool availability context to include sandbox mode check
alongside version support. MCP tools are now blocked when sandbox
is disabled, with appropriate tooltip messages for each blocking
condition.
2026-01-14 14:01:56 +08:00
yyh
7ce144f493
Merge remote-tracking branch 'origin/main' into feat/support-agent-sandbox
2026-01-14 13:40:39 +08:00
yyh
14b2e5bd0d
refactor(web): MCP tool availability to context-based version gating ( #30955 )
2026-01-14 13:40:16 +08:00
wangxiaolei
d095bd413b
fix: fix LOOP_CHILDREN_Z_INDEX ( #30719 )
2026-01-14 10:22:31 +08:00
yyh
2279b605c6
refactor: import SandboxProvider type from @/types and remove retry:0
...
Move type imports to @/types/sandbox-provider instead of re-exporting
from service file. Remove unnecessary retry:0 options to use React
Query's default retry behavior.
2026-01-14 10:10:04 +08:00
yyh
3b78f9c2a5
refactor: migrate sandbox-provider API to ORPC
...
Replace manual fetch calls in use-sandbox-provider.ts with typed ORPC
contracts and client. Adds type definitions to types/sandbox-provider.ts
and registers contracts in the console router for consistent API handling.
2026-01-14 10:07:27 +08:00
yyh
7c029ce808
Merge remote-tracking branch 'origin/main' into feat/support-agent-sandbox
...
# Conflicts:
# api/services/workflow_service.py
2026-01-14 09:54:07 +08:00
zhsama
b9052bc244
feat: add sub-graph config panel with variable selection and null
...
handling
2026-01-14 03:22:42 +08:00
zhsama
b7025ad9d6
feat: change sub-graph prompt handling to use user role
2026-01-13 23:23:18 +08:00
zhsama
c5482c2503
Merge branch 'main' into feat/pull-a-variable
2026-01-13 22:57:27 +08:00
zhsama
d394adfaf7
feat: Fix prompt template handling for Jinja2 edition type
2026-01-13 22:57:05 +08:00
zhsama
bc771d9c50
feat: Add onSave prop to SubGraph components for draft sync
2026-01-13 22:51:29 +08:00
Stephen Zhou
91da784f84
refactor: init orpc contract ( #30885 )
...
Co-authored-by: yyh <yuanyouhuilyz@gmail.com>
2026-01-13 23:38:28 +09:00
zhsama
96ec176b83
feat: sub-graph to use dynamic node generation
2026-01-13 22:28:30 +08:00
hjlarry
1845938e70
fix type issue
2026-01-13 22:18:54 +08:00
hjlarry
fad81ab85e
fix type issue
2026-01-13 22:11:36 +08:00
hjlarry
d1c64f5c74
add toast when disconnected
2026-01-13 22:08:59 +08:00
hjlarry
7f6c93bdce
reduce CURSOR_THROTTLE_MS
2026-01-13 22:08:07 +08:00
zhsama
f57d2ef31f
refactor: refactor workflow nodes state sync and extractor node
...
lifecycle
2026-01-13 18:37:23 +08:00
zhsama
e80bc78780
fix: clear mock llm node functions
2026-01-13 17:57:02 +08:00
-LAN-
a22cc5bc5e
chore: Bump Dify version to 1.11.3 ( #30903 )
2026-01-13 17:49:13 +08:00
hjlarry
8c9276370c
remove console.log
2026-01-13 17:46:53 +08:00
hjlarry
b91370aff7
fix next config
2026-01-13 17:40:04 +08:00
yyh
c6ba51127f
fix(sandbox-provider): allow admin role to manage sandbox providers
...
Change permission check from isCurrentWorkspaceOwner to
isCurrentWorkspaceManager so both owner and admin roles can
configure sandbox providers.
2026-01-13 17:17:36 +08:00
zhsama
ddbbddbd14
refactor: Update variable syntax to support agent context markers
...
Extend variable pattern matching to support both `#` and `@` markers,
with `@` specifically used for agent context variables. Update regex
patterns, text processing logic, and add sub-graph persistence for agent
variable handling.
2026-01-13 17:13:45 +08:00
yyh
1fbdf6b465
refactor(web): setup status caching ( #30798 )
2026-01-13 16:59:49 +08:00
zxhlyh
1db995be0d
Merge branch 'main' into feat/llm-support-tools
2026-01-13 16:46:03 +08:00
yyh
5675a44ffd
fix(sandbox-provider): use Loading component and add daytona doc link
...
- Replace hardcoded "Loading..." text with Loading component
- Add daytona documentation link to PROVIDER_DOC_LINKS
2026-01-13 16:37:58 +08:00
yyh
48295e5161
refactor(sandbox-provider): extract shared constants and remove redundant cache invalidation
...
- Extract PROVIDER_ICONS and PROVIDER_DESCRIPTION_KEYS to constants.ts
- Create shared ProviderIcon component with size and withBorder props
- Remove manual invalidateList() calls from config-modal and switch-modal
(mutations already invalidate cache in onSuccess)
- Remove unused useInvalidSandboxProviderList hook
2026-01-13 16:18:08 +08:00
hjlarry
0c18d4e058
fix duplicated status
2026-01-13 15:59:59 +08:00
青枕
0e33dfb5c2
fix: In the LLM model in dify, when a message is added, the first cli… ( #29540 )
...
Co-authored-by: 青枕 <qingzhen.ww@alibaba-inc.com>
2026-01-13 15:42:32 +08:00
lif
ea708e7a32
fix(web): add null check for SSE stream bufferObj to prevent TypeError ( #30131 )
...
Signed-off-by: majiayu000 <1835304752@qq.com>
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>
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-13 15:40:43 +08:00
yyh
ffc39b0235
refactor: rename ACCOUNT_SETTING_TAB.PROVIDER to MODEL_PROVIDER
...
Rename the constant for clarity and consistency with the new
sandbox-provider tab naming convention. Update all references
across the codebase to use the new constant name.
2026-01-13 15:07:04 +08:00
yyh
f72f58dbc4
fix: loading state
2026-01-13 14:38:19 +08:00
yyh
9d0f4a2152
fix(sandbox-provider): prevent permission hint flash on page load
...
Use strict equality check to only show no-permission message when
isCurrentWorkspaceOwner is explicitly false, not undefined.
2026-01-13 14:23:52 +08:00
yyh
1ed4ab4299
Merge remote-tracking branch 'origin/main' into feat/support-agent-sandbox
2026-01-13 14:19:04 +08:00
yyh
3f69d348a1
chore: add translations
2026-01-13 14:05:41 +08:00
yyh
63fff151c7
fix: provider card style
2026-01-13 13:50:28 +08:00
yyh
9920e0b89a
fix(sandbox-provider): hide config controls in read-only mode
...
Hide config button, divider, and enable button for non-owner users.
Adjust right padding to 24px in read-only mode for proper alignment.
2026-01-13 13:32:18 +08:00
yyh
3042f29c15
fix(sandbox-provider): update switch modal warning style to match design
...
Replace yellow warning box with red text for destructive emphasis.
Bold the provider name in confirmation text using Trans component.
2026-01-13 13:23:03 +08:00
yyh
99273e1118
style: provider card
2026-01-13 13:18:09 +08:00
Coding On Star
8f43629cd8
fix(amplitude): update sessionReplaySampleRate default value to 0.5 ( #30880 )
...
Co-authored-by: CodingOnStar <hanxujiang@dify.ai>
2026-01-13 12:26:50 +08:00
wangxiaolei
9ee71902c1
fix: fix formatNumber accuracy ( #30877 )
2026-01-13 11:51:15 +08:00
yyh
041dbd482d
fix(sandbox-provider): use i18n for provider card descriptions
...
Use PROVIDER_DESCRIPTION_KEYS mapping to display localized descriptions
instead of raw backend data, ensuring descriptions match Figma design.
2026-01-13 11:43:49 +08:00
yyh
b4aa1de10a
fix(sandbox-provider): update provider descriptions to match Figma design
...
Update E2B, Daytona, and Docker descriptions with unique copy from design:
- E2B: "E2B Gives AI Agents Secure Computers with Real-World Tools."
- Daytona: "Deploy AI code with confidence using Daytona's lightning-fast infrastructure."
- Docker: "The Easiest Way to Build, Run, and Secure Agents."
2026-01-13 11:41:20 +08:00
yyh
c5a9b98cbe
refactor(sandbox-provider): add centralized query keys management
...
Add sandboxProviderQueryKeys object for type-safe and maintainable
query key management, following the pattern used in use-common.ts.
2026-01-13 11:39:01 +08:00
yyh
21f47fbe58
fix(sandbox-provider): fix config modal header spacing and icon style
...
- Use custom header with 8px gap between title and subtitle
- Fix icon overflow-clip for proper border-radius
2026-01-13 11:12:51 +08:00
yyh
49f115dce3
fix(sandbox-provider): fix config modal subtitle icon to fill container
2026-01-13 11:11:03 +08:00
yyh
a81d0327d2
feat(sandbox-provider): update UI to match Figma design
...
- Update settings icon to RiEqualizer2Line
- Add 4px rounded container for provider icons in config modal
- Update section titles to uppercase style
- Change switch modal confirm button to warning variant
- Add i18n keys for setAsActive, readDocLink, securityTip
2026-01-13 11:04:11 +08:00
yyh
a46bfdd0fc
Merge remote-tracking branch 'origin/main' into feat/support-agent-sandbox
2026-01-13 10:15:59 +08:00
hsiong
a012c87445
fix: entrypoint.sh overrides NEXT_PUBLIC_TEXT_GENERATION_TIMEOUT_MS when TEXT_GENERATION_TIMEOUT_MS is unset ( #30864 ) ( #30865 )
2026-01-13 10:12:51 +08:00
zhsama
03e0c4c617
feat: Add VarKindType parameter metion to mixed variable text input
2026-01-12 20:08:41 +08:00
zhsama
47790b49d4
fix: Fix agent context variable insertion to preserve existing text
2026-01-12 18:12:06 +08:00
zhsama
b25b069917
fix: refine agent variable logic
2026-01-12 18:12:06 +08:00
zhsama
d65ae68668
Merge branch 'main' into feat/pull-a-variable
...
# Conflicts:
# .nvmrc
2026-01-12 17:15:56 +08:00
zhsama
f625350439
refactor:Refactor agent variable handling in mixed variable text input
2026-01-12 17:05:00 +08:00
zhsama
f4e8f64bf7
refactor:Change sub-graph output handling from skip to default
2026-01-12 17:04:13 +08:00
Stephen Zhou
00698e41b7
build: limit esbuild, glob, docker base version to avoid cve ( #30848 )
2026-01-12 15:33:20 +08:00
zhsama
d91087492d
Refactor sub-graph components structure
2026-01-12 15:00:41 +08:00
zhsama
cab7cd37b8
feat: Add sub-graph component for workflow
2026-01-12 14:56:53 +08:00
zxhlyh
aa5e37f2db
Merge branch 'main' into feat/llm-support-tools
2026-01-12 13:42:58 +08:00
yyh
9161936f41
refactor(web): extract isServer/isClient utility & upgrade Node.js to 22.12.0 ( #30803 )
...
Co-authored-by: Stephen Zhou <38493346+hyoban@users.noreply.github.com>
2026-01-12 12:57:43 +08:00
Stephen Zhou
220e1df847
docs(web): add corepack recommendation ( #30837 )
...
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-01-12 12:44:30 +08:00
dependabot[bot]
31a8fd810c
chore(deps-dev): bump @storybook/react from 9.1.13 to 9.1.17 in /web ( #30833 )
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-01-12 12:44:11 +08:00
wangxiaolei
0c2729d9b3
fix: fix refresh token deadlock ( #30828 )
2026-01-12 09:35:31 +08:00
Harry
9dd0361d0e
refactor: rename new runtime as sandbox feature
2026-01-12 01:53:39 +08:00
wangxiaolei
a2e03b811e
fix: Broken import in .storybook/preview.tsx ( #30812 )
2026-01-10 19:49:23 +08:00
Stephen Zhou
8b1af36d94
feat(web): migrate PWA to Serwist ( #30808 )
2026-01-10 17:16:18 +09:00
Harry
5c8b80b01a
feat(app): update default runtime mode and adjust runtime selection component styling
2026-01-09 18:12:36 +08:00
Harry
95d62039b1
feat(ui): change runtime selection component
2026-01-09 18:12:36 +08:00
zhsama
f925266c1b
Merge branch 'main' into feat/pull-a-variable
2026-01-09 16:20:55 +08:00
zhsama
07ff8df58d
Merge branch 'main' into feat/support-agent-sandbox
2026-01-09 16:20:33 +08:00
wangxiaolei
0711dd4159
feat: enhance start node object value check ( #30732 )
2026-01-09 16:13:17 +08:00
Harry
d2f41ae9ef
Merge remote-tracking branch 'origin/main' into feat/support-agent-sandbox
2026-01-09 15:37:29 +08:00
Stephen Zhou
d4432ed80f
refactor: marketplace state management ( #30702 )
...
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-09 14:31:24 +08:00
Novice
1557f48740
Merge branch 'feat/agent-node-v2' into feat/support-agent-sandbox
2026-01-09 14:19:27 +08:00
lif
9d9f027246
fix(web): invalidate app list cache after deleting app from detail page ( #30751 )
...
Signed-off-by: majiayu000 <1835304752@qq.com>
2026-01-09 14:08:37 +08:00
wangxiaolei
77f097ce76
fix: fix enhance app mode check ( #30758 )
2026-01-09 14:07:40 +08:00
Coding On Star
98df99b0ca
feat(embedding-process): implement embedding process components and polling logic ( #30622 )
...
Co-authored-by: CodingOnStar <hanxujiang@dify.ai>
2026-01-09 10:21:27 +08:00
Coding On Star
9848823dcd
feat: implement step two of dataset creation with comprehensive UI components and hooks ( #30681 )
...
Co-authored-by: CodingOnStar <hanxujiang@dify.ai>
2026-01-09 10:21:18 +08:00
zhsama
6e2cf23a73
Merge branch 'main' into feat/pull-a-variable
2026-01-09 02:49:47 +08:00
github-actions[bot]
5ad2385799
chore(i18n): sync translations with en-US ( #30750 )
...
Co-authored-by: claude[bot] <41898282+claude[bot]@users.noreply.github.com>
2026-01-08 22:53:04 +08:00
zhsama
8b0bc6937d
feat: enhance component picker and workflow variable block functionality
2026-01-08 18:17:09 +08:00
zhsama
872fd98eda
Merge remote-tracking branch 'origin/feat/pull-a-variable' into feat/pull-a-variable
2026-01-08 18:16:29 +08:00
MkDev11
91d44719f4
fix(web): resolve chat message loading race conditions and infinite loops ( #30695 )
...
Co-authored-by: crazywoola <100913391+crazywoola@users.noreply.github.com>
2026-01-08 18:05:32 +08:00
Novice
5bcd3b6fe6
feat: add mention node executor
2026-01-08 17:36:21 +08:00
xuwei95
b2cbeeae92
fix(web): restrict postMessage targetOrigin from wildcard to specific origins ( #30690 )
...
Co-authored-by: XW <wei.xu1@wiz.ai>
2026-01-08 17:23:27 +08:00
zhsama
1aed585a19
feat: enhance agent integration in prompt editor and mixed-variable text input
2026-01-08 17:02:35 +08:00
zhsama
831eba8b1c
feat: update agent functionality in mixed-variable text input
2026-01-08 16:59:09 +08:00
zxhlyh
4d3d8b35d9
Merge branch 'main' into feat/llm-node-support-tools
2026-01-08 14:28:13 +08:00
zxhlyh
c323028179
feat: llm node support tools
2026-01-08 14:27:37 +08:00
Harry
94dbda503f
refactor(llm-panel): update layout and enhance Max Iterations component
...
- Adjusted padding in the LLM panel for better visual alignment.
- Refactored the Max Iterations component to accept a className prop for flexible styling.
- Maintained the structure of advanced settings while ensuring consistent rendering of fields.
2026-01-08 14:15:58 +08:00
Coding On Star
cd1af04dee
feat: model total credits ( #30727 )
...
Co-authored-by: CodingOnStar <hanxujiang@dify.ai>
Co-authored-by: Stephen Zhou <38493346+hyoban@users.noreply.github.com>
2026-01-08 14:11:44 +08:00
Harry
c2e5081437
feat(llm-panel): collapse panel with advanced settings and max iterations
...
- Introduced a collapsible section for advanced settings in the LLM panel.
- Added Max Iterations component with conditional rendering based on the new hideMaxIterations prop.
- Updated context field and vision configuration to be part of the advanced settings.
- Added new translation key for advanced settings in the workflow localization file.
2026-01-08 12:16:18 +08:00
Harry
15c3d712d3
feat: sandbox provider configuration
2026-01-08 11:04:12 +08:00
NFish
c5b99ebd17
fix: web app login code encrypt ( #30705 )
2026-01-07 18:04:42 -08:00
Rhon Joe
27a803a6f0
fix(web): resolve key-value input box height inconsistency on focus/blur ( #30715 ) ( #30716 )
2026-01-08 09:54:27 +08:00
zhsama
8b8e521c4e
Merge branch 'main' into feat/pull-a-variable
2026-01-07 22:11:05 +08:00
yyh
a422908efd
feat(i18n): Migrate translation workflow to Claude Code GitHub Actions ( #30692 )
...
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
2026-01-07 21:17:50 +08:00
Xiangxuan Qu
d8a0291382
refactor(web): remove unused type alias VoiceLanguageKey ( #30694 )
...
Co-authored-by: fghpdf <fghpdf@users.noreply.github.com>
2026-01-07 21:15:43 +08:00
zxhlyh
70149ea05e
Merge branch 'main' into feat/llm-node-support-tools
2026-01-07 16:29:47 +08:00
zxhlyh
1d93f41fcf
feat: llm node support tools
2026-01-07 16:28:41 +08:00
yyh
160b4d194b
fix: signin page stuck on loading when refresh token valid but access token expired ( #30675 )
...
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-07 14:20:38 +08:00
Stephen Zhou
e335cd0ef4
refactor(web): remove useMixedTranslation, better resource loading ( #30630 )
...
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-07 13:20:09 +08:00
Harry
888be71639
feat: command node output variables
2026-01-07 11:15:52 +08:00
wangxiaolei
ace8ad429f
fix: fix not record access token ( #30654 )
2026-01-07 10:19:14 +08:00
Harry
3902929d9f
feat: new runtime options
2026-01-07 00:01:55 +08:00
zhsama
760a739e91
Merge branch 'main' into feat/grouping-branching
...
# Conflicts:
# web/package.json
2026-01-06 22:00:01 +08:00
Coding On Star
9b128048c4
refactor: restructure DatasetCard component for improved readability and maintainability ( #30617 )
...
Co-authored-by: CodingOnStar <hanxujiang@dify.ai>
2026-01-06 21:57:21 +08:00
yyh
44d7aaaf33
fix: prevent empty state flash and add skeleton loading for app list ( #30616 )
...
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
2026-01-06 20:19:22 +08:00
yyh
7beed12eab
refactor(web): migrate legacy forms to TanStack Form ( #30631 )
2026-01-06 20:18:27 +08:00
Harry
1c7c475c43
feat: add Command node support
...
- Introduced Command node type in workflow with associated UI components and translations.
- Enhanced SandboxLayer to manage sandbox attachment for Command nodes during execution.
- Updated various components and constants to integrate Command node functionality across the workflow.
2026-01-06 19:30:38 +08:00
Coding On Star
64bfcbc4a9
feat: implement dataset creation step one with preview functionality ( #30507 )
...
Co-authored-by: CodingOnStar <hanxujiang@dify.ai>
2026-01-06 18:59:18 +08:00
yyh
5661f821c3
chore: bump pnpm version in packageManager ( #30605 )
2026-01-06 15:24:25 +08:00
Stephen Zhou
b2124a7358
feat: init rsc support for translation ( #30596 )
2026-01-06 13:23:03 +08:00
ga_o
eccf79a710
chore: remove unused link icon type ( #30469 )
2026-01-06 10:10:06 +08:00
yyh
f14c3ce15e
fix: system model selector loading state flash ( #30572 )
2026-01-06 10:07:42 +08:00
zhsama
d92c476388
feat(workflow): enhance group node availability checks
...
- Updated `checkMakeGroupAvailability` to include a check for existing group nodes, preventing group creation if a group node is already selected.
- Modified `useMakeGroupAvailability` and `useNodesInteractions` hooks to incorporate the new group node check, ensuring accurate group creation logic.
- Adjusted UI rendering logic in the workflow panel to conditionally display elements based on node type, specifically for group nodes.
2026-01-06 02:07:13 +08:00
Harry
f3761c26e9
Merge remote-tracking branch 'origin/main' into feat/llm-node-support-tools
2026-01-05 18:17:05 +08:00
zhsama
9012dced6a
feat(workflow): improve group node interaction handling
...
- Enhanced `useNodesInteractions` to better manage group node handlers and connections, ensuring accurate identification of leaf nodes and their branches.
- Updated logic to create handlers based on node connections, differentiating between internal and external connections.
- Refined initial node setup to include target branches for group nodes, improving the overall interaction model for grouped elements.
2026-01-05 17:42:31 +08:00
zhsama
50bed78d7a
feat(workflow): add group node support and translations
...
- Introduced GroupDefault node with metadata and default values for group nodes.
- Enhanced useNodeMetaData hook to handle group node author and description using translations.
- Added translations for group node functionality in English, Japanese, Simplified Chinese, and Traditional Chinese.
2026-01-05 16:29:00 +08:00
Stephen Zhou
a72044aa86
chore: fix lint in i18n ( #30571 )
2026-01-05 16:12:12 +08:00
Stephen Zhou
52149c0d9b
chore(web): add ESLint rules for i18n JSON validation ( #30491 )
2026-01-05 15:49:31 +08:00
zhsama
60250355cb
feat(workflow): enhance group edge management and validation
...
- Introduced `createGroupInboundEdges` function to manage edges for group nodes, ensuring proper connections to head nodes.
- Updated edge creation logic to handle group nodes in both inbound and outbound scenarios, including temporary edges.
- Enhanced validation in `useWorkflow` to check connections for group nodes based on their head nodes.
- Refined edge processing in `preprocessNodesAndEdges` to ensure correct handling of source handles for group edges.
2026-01-05 15:48:26 +08:00
zhsama
75afc2dc0e
chore: update packageManager version in package.json to pnpm@10.27.0
2026-01-05 14:42:48 +08:00
dependabot[bot]
93a85ae98a
chore(deps): bump @amplitude/analytics-browser from 2.31.4 to 2.33.1 in /web ( #30538 )
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-01-05 15:05:04 +09:00
hsiong
693daea474
fix: INDEXING_MAX_SEGMENTATION_TOKENS_LENGTH settings ( #30463 )
2026-01-05 11:10:04 +08:00
Kimi WANG
c158dfa198
fix: support to change NEXT_PUBLIC_BASE_PATH env using --build-arg in docker build ( #29836 )
...
Co-authored-by: root <root@KIMI-DESKTOP-01.mchrcloud.com>
2026-01-05 11:03:12 +08:00
hsiong
4bb08b93d7
chore: update dockerignore ( #30460 )
2026-01-05 10:55:14 +08:00
zhsama
225b13da93
Merge branch 'main' into feat/grouping-branching
2026-01-04 21:56:13 +08:00
zhsama
37c748192d
feat(workflow): implement UI-only group functionality
...
- Added support for UI-only group nodes, including custom-group, custom-group-input, and custom-group-exit-port types.
- Enhanced edge interactions to manage temporary edges connected to groups, ensuring corresponding real edges are deleted when temp edges are removed.
- Updated node interaction hooks to restore hidden edges and remove temp edges efficiently.
- Implemented logic for creating and managing group structures, including entry and exit ports, while maintaining execution graph integrity.
2026-01-04 21:54:15 +08:00
zhsama
b7a2957340
feat(workflow): implement ungroup functionality for group nodes
...
- Added `handleUngroup`, `getCanUngroup`, and `getSelectedGroupId` methods to manage ungrouping of selected group nodes.
- Integrated ungrouping logic into the `useShortcuts` hook for keyboard shortcut support (Ctrl + Shift + G).
- Updated UI to include ungroup option in the panel operator popup for group nodes.
- Added translations for the ungroup action in multiple languages.
2026-01-04 21:40:34 +08:00
zhsama
a6ce6a249b
feat(workflow): refine strokeDasharray logic for temporary edges
2026-01-04 20:59:33 +08:00
zhsama
8834e6e531
feat(workflow): enhance group node functionality with head and leaf node tracking
...
- Added headNodeIds and leafNodeIds to GroupNodeData to track nodes that receive input and send output outside the group.
- Updated useNodesInteractions hook to include headNodeIds in the group node data.
- Modified isValidConnection logic in useWorkflow to validate connections based on leaf node types for group nodes.
- Enhanced preprocessNodesAndEdges to rebuild temporary edges for group nodes, connecting them to external nodes for visual representation.
2026-01-04 20:45:42 +08:00
sszaodian
2b838077e0
fix: when first setup after auto login error ( #30523 )
...
Co-authored-by: maxin <maxin7@xiaomi.com>
Co-authored-by: 非法操作 <hjlarry@163.com>
2026-01-04 20:24:49 +08:00
yyh
f167e87146
refactor(web): align signup mail submit and tests ( #30456 )
2026-01-04 19:59:06 +08:00
Coding On Star
c29cfd18f3
feat: revert model total credits ( #30518 )
2026-01-04 18:29:19 +08:00
Coding On Star
47b8e979e0
test: add unit tests for RagPipeline components ( #30429 )
...
Co-authored-by: CodingOnStar <hanxujiang@dify.ai>
2026-01-04 18:04:49 +08:00
zxhlyh
04f40303fd
Merge branch 'main' into feat/llm-node-support-tools
2026-01-04 18:04:42 +08:00
zxhlyh
ececc5ec2c
feat: llm node support tools
2026-01-04 18:03:47 +08:00
zhsama
39010fd153
Merge branch 'refs/heads/main' into feat/grouping-branching
2026-01-04 17:25:18 +08:00
github-actions[bot]
151101aaf5
chore(i18n): translate i18n files based on en-US changes ( #30508 )
...
Co-authored-by: hyoban <38493346+hyoban@users.noreply.github.com>
2026-01-04 17:11:40 +08:00
zhsama
d4baf078f7
fix(plugins): enhance search to match name, label and description ( #30501 )
2026-01-04 16:07:04 +08:00
Coding On Star
84cbf0526d
feat: model total credits ( #26942 )
...
Co-authored-by: CodingOnStar <hanxujiang@dify.ai>
Co-authored-by: Stephen Zhou <38493346+hyoban@users.noreply.github.com>
2026-01-04 15:26:37 +08:00
yyh
822374eca5
chore: integrate @tanstack/eslint-plugin-query and fix service layer lint errors ( #30444 )
2026-01-04 11:20:06 +08:00
yyh
815ae6c754
chore: remove redundant web/app/page.module.css ( #30482 )
2026-01-04 10:22:36 +08:00
非法操作
c1bb310183
chore: remove icon_large of models ( #30466 )
...
Co-authored-by: zhsama <torvalds@linux.do>
2026-01-03 02:35:17 +09:00
非法操作
8f2aabf7bd
chore: Standardized the OpenAI icon ( #30471 )
2026-01-03 02:34:17 +09:00
zhsama
bd338a9043
Merge branch 'main' into feat/grouping-branching
2026-01-02 01:34:02 +08:00
wangxiaolei
ae43ad5cb6
fix: fix when vision is disabled delete the configs ( #30420 )
2026-01-01 00:40:21 +08:00
lif
e3ef33366d
fix(web): stop thinking timer when user clicks stop button ( #30442 )
2026-01-01 00:36:18 +08:00
Stephen Zhou
ee1d0df927
chore: add jotai store ( #30432 )
...
Signed-off-by: yyh <yuanyouhuilyz@gmail.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: yyh <yuanyouhuilyz@gmail.com>
2025-12-31 17:55:25 +08:00
Stephen Zhou
184077c37c
build: bring back babel-loader, add build check ( #30427 )
2025-12-31 16:41:43 +08:00
Stephen Zhou
2bb1e24fb4
test: unify i18next mocks into centralized helpers ( #30376 )
...
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: yyh <yuanyouhuilyz@gmail.com>
2025-12-31 16:53:33 +09:00
Stephen Zhou
e856287b65
chore: update knip config and include in CI ( #30410 )
2025-12-31 15:38:07 +08:00
Stephen Zhou
27be89c984
chore: lint for react compiler ( #30417 )
2025-12-31 15:31:11 +08:00
yyh
f28a08a696
fix: correct useEducationStatus query cache configuration ( #30416 )
2025-12-31 13:51:05 +08:00
QuantumGhost
8129b04143
fix(web): enable JSON_OBJECT type support in console UI ( #30412 )
...
Co-authored-by: zhsama <torvalds@linux.do>
2025-12-31 13:38:16 +08:00
DevByteAI
1b8e80a722
fix: Ensure chat history refreshes when switching back to conversations ( #30389 )
2025-12-31 13:28:25 +08:00
dependabot[bot]
0421387672
chore(deps): bump qs from 6.14.0 to 6.14.1 in /web ( #30409 )
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-12-31 11:59:39 +08:00
yyh
2aaaa4bd34
feat(web): migrate from es-toolkit/compat to native es-toolkit ( #30244 ) ( #30246 )
2025-12-31 11:13:22 +08:00
quicksand
de53c78125
fix(web): template creation permission for app templates ( #30367 )
...
Co-authored-by: 非法操作 <hjlarry@163.com>
2025-12-31 10:11:25 +08:00
yyh
69589807fd
refactor: Replace direct process.env.NODE_ENV checks with IS_PROD and IS_DEV constants. ( #30383 )
...
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Co-authored-by: Asuka Minato <i@asukaminato.eu.org>
2025-12-31 08:32:55 +08:00
zhsama
39d6383474
Merge branch 'main' into feat/grouping-branching
2025-12-30 22:01:20 +08:00
Coding On Star
6ca44eea28
feat: integrate Google Analytics event tracking and update CSP for script sources ( #30365 )
...
Co-authored-by: CodingOnStar <hanxujiang@dify.ai>
2025-12-30 18:06:47 +08:00
wangxiaolei
bf76f10653
fix: fix markdown escape issue ( #30299 )
2025-12-30 16:40:52 +08:00
Stephen Zhou
1873b5a766
chore: remove useless __esModule ( #30366 )
2025-12-30 15:37:16 +08:00
yyh
9fbc7fa379
fix(i18n): load server namespaces by kebab-case ( #30368 )
2025-12-30 15:36:58 +08:00
Stephen Zhou
2399d00d86
refactor(i18n): about locales ( #30336 )
...
Co-authored-by: yyh <yuanyouhuilyz@gmail.com>
2025-12-30 14:38:23 +08:00
zxhlyh
e83635ee5a
Merge branch 'main' into feat/llm-node-support-tools
2025-12-30 11:47:54 +08:00
zxhlyh
d79372a46d
Merge branch 'main' into feat/llm-node-support-tools
2025-12-30 11:47:26 +08:00
Stephen Zhou
3505516e8e
fix: missing i18n translation for Trans ( #30353 )
2025-12-30 10:46:52 +08:00
zxhlyh
bbd11c9e89
feat: llm node support tools
2025-12-30 10:40:01 +08:00
Stephen Zhou
add8980790
add missing translation
2025-12-30 10:06:49 +08:00
Sangyun Han
faef04cdf7
fix: update Korean translations for various components and improve cl… ( #30347 )
2025-12-30 09:27:53 +08:00
lif
5338cf85b1
fix: restore draft version correctly in version history panel ( #30296 )
...
Signed-off-by: majiayu000 <1835304752@qq.com>
2025-12-30 09:22:00 +08:00
yyh
673209d086
refactor(web): organize devtools components ( #30318 )
2025-12-30 09:21:41 +08:00
Coding On Star
43758ec85d
test: add some tests for marketplace ( #30326 )
...
Co-authored-by: CodingOnStar <hanxujiang@dify.ai>
2025-12-30 09:21:19 +08:00
zhsama
5157e1a96c
Merge branch 'main' into feat/grouping-branching
2025-12-29 23:33:28 +08:00
yyh
20944e7e1a
chore: i18n namespace refactor in package.json and add missing translations ( #30324 )
...
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
2025-12-29 20:59:11 +08:00
Joel
7a5d2728a1
chore: refactor config var and add tests ( #30312 )
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: yyh <yuanyouhuilyz@gmail.com>
2025-12-29 18:07:18 +09:00
Coding On Star
9a6b4147bc
test: add comprehensive tests for plugin authentication components ( #30094 )
...
Co-authored-by: CodingOnStar <hanxujiang@dify.ai>
2025-12-29 16:45:25 +08:00
zxhlyh
d132abcdb4
merge main
2025-12-29 15:55:45 +08:00
zxhlyh
d60348572e
feat: llm node support tools
2025-12-29 14:55:26 +08:00
Stephen Zhou
6d0e36479b
refactor(i18n): use JSON with flattened key and namespace ( #30114 )
...
Co-authored-by: yyh <yuanyouhuilyz@gmail.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2025-12-29 14:52:32 +08:00
yyh
09be869f58
refactor(web): drop swr and migrate share/chat hooks to tanstack query ( #30232 )
...
Co-authored-by: Joel <iamjoel007@gmail.com>
2025-12-29 14:04:01 +08:00
yyh
3ae7788933
refactor(query-state): migrate query param state management to nuqs ( #30184 )
...
Co-authored-by: Stephen Zhou <38493346+hyoban@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-12-29 11:24:54 +08:00
yyh
446df6b50d
fix(web): rollback React Scan dynamic import ( #30294 )
2025-12-29 10:40:56 +08:00
lif
b71a0d3f04
fix(web): handle null/undefined message in log list ( #30253 )
...
Signed-off-by: majiayu000 <1835304752@qq.com>
2025-12-29 10:34:20 +08:00
wangxiaolei
8b38e3f79d
feat: document batch operation tool add re-index operation ( #30275 )
2025-12-29 10:03:15 +08:00
非法操作
44ab8a3376
fix: Workflow Start node optional enum parameter is treated as required ( #30287 )
2025-12-29 10:02:40 +08:00
yyh
1e86535c4a
refactor(web): Migrate to Unified TanStack Devtools ( #30279 )
2025-12-29 09:43:44 +08:00