Commit Graph

1479 Commits

Author SHA1 Message Date
yyh
799d0c0d0b
feat(skill-editor): auto-focus editor on file creation and improve tree-tab sync
Add editorAutoFocusFileId state to automatically focus the editor when
a new text file is created. Improve tree-tab synchronization by adding
syncSignal/isTreeLoading guards, deduplicating rAF calls, and skipping
redundant select/openParents operations when the node is already active.
2026-02-06 14:21:33 +08:00
yyh
92c3656fe5
fix: vertically center empty search state to match Figma design 2026-02-06 14:21:33 +08:00
yyh
ecbcd5803b
fix(workflow): avoid nested button in skill file tree menu 2026-02-06 14:21:32 +08:00
yyh
30981dfa7c
feat: add empty state for skill template search with no results 2026-02-06 14:21:32 +08:00
Joel
3eba0c561e feat: support show deleted file and folds 2026-02-06 14:20:25 +08:00
Joel
a0984a779f feat: support file and fold not find 2026-02-06 11:13:07 +08:00
yyh
c9c826d0d2
fix: render pdf preview in skill file panel 2026-02-05 18:12:35 +08:00
yyh
7161c3dd80
fix(web): exclude PDF from text-like file detection
PDF files were incorrectly parsed as text because isTextLikeFile
did not exclude PDF after removing it from BINARY_EXTENSIONS.
2026-02-05 17:45:38 +08:00
yyh
94c354e36d
feat(web): add inline PDF preview support for skill file viewer
Enable PDF files to be previewed directly in the file content panel
instead of showing as unsupported files requiring download. Uses the
existing react-pdf-highlighter library with zoom controls and keyboard
shortcuts (up/down arrows).
2026-02-05 17:21:01 +08:00
zhsama
7446779198 perf: Update agent extraction UI styling and labels 2026-02-05 16:57:20 +08:00
zhsama
8235ad9e62 fix: Fix variable availability resolution for child nodes in workflow 2026-02-05 16:57:19 +08:00
yyh
b60f9c7703
refactor(web): use FileAdd and FolderAdd icons in skill menus
Replace RiFileAddLine and RiFolderAddLine with custom FileAdd and
FolderAdd icons for new file/folder menu items in skill sidebar.
2026-02-05 16:56:27 +08:00
yyh
9893bf267e
feat(web): add import skills menu item with tooltip to skill file tree
Add "Import skills(.zip)" option to root-level context menu and sidebar
add menu with a question mark tooltip showing usage hint. Update menu
item labels and icons for consistency with design.
2026-02-05 16:56:27 +08:00
Joel
6913d5b88c chore: fold support preivew 2026-02-05 16:42:18 +08:00
Joel
9e08f5827b fix: can editor in disabled skill editor 2026-02-05 16:26:19 +08:00
Joel
befefb04b4 chore: open in editor tooltip 2026-02-05 16:26:18 +08:00
yyh
3c214f762a
chore: update skills 2026-02-05 16:05:36 +08:00
Joel
ce3d2b581b feat: support open file in new tab 2026-02-05 16:04:06 +08:00
Joel
882ad92c24 feat: can show file preview 2026-02-05 15:44:10 +08:00
yyh
eb87512122
fix: scope Reset All button visibility to current tab's data
Show the button only when the active tab has data, preventing
the empty-list-with-button scenario on the Variables tab when
only artifacts exist.
2026-02-05 11:43:54 +08:00
yyh
aad15a0777
fix: return invalidate promises and parallelize invalidations 2026-02-05 11:42:59 +08:00
yyh
740fafc926
feat: show Reset All button on both variable inspect tabs
- Change Reset All button visibility from Variables-tab-only to both tabs,
  displaying when either variables or artifacts have data
- Invalidate sandbox files cache in deleteAllInspectorVars alongside
  existing conversation/system var invalidations
2026-02-05 11:30:53 +08:00
hjlarry
b2df9ba9d3 fix: expand status display different icon 2026-02-05 10:10:04 +08:00
zhsama
a2380c4fd3 fix: ensure sub-graph modal syncs immediately when
applying generated code.
2026-02-05 06:07:15 +08:00
zhsama
52b34b1fdb fix: Handle format for context generate outputs 2026-02-05 06:07:13 +08:00
zhsama
0618b2532f feat: Add Enter key handler support to assemble variables generate modal 2026-02-05 01:36:13 +08:00
Stream
15c0011897
feat: implement file structured output 2026-02-05 00:11:39 +08:00
zhsama
10fb482351 perf: Remove deprecated optional props in LLM node tool config 2026-02-04 22:36:19 +08:00
zhsama
9bd714623e feat: Add mutual exclusion between structured output and tools in LLM
node
2026-02-04 22:36:19 +08:00
yyh
8a9e0e3b31
Merge remote-tracking branch 'origin/main' into feat/support-agent-sandbox
# Conflicts:
#	web/eslint-suppressions.json
2026-02-04 18:15:32 +08:00
zhsama
23f98652e1 perf: Add null check for onAssembleVariables callback 2026-02-04 17:52:13 +08:00
zxhlyh
cc5705cb71
fix: auto summary env (#31930) 2026-02-04 17:47:38 +08:00
wangxiaolei
74b027c41a
fix: fix mcp output schema is union type frontend crash (#31779)
Co-authored-by: Stephen Zhou <38493346+hyoban@users.noreply.github.com>
2026-02-04 17:33:41 +08:00
yyh
2df0d540a9
fix: remove unreachable polling from artifacts-section
The Skill view is locked (ViewPicker disabled) while a workflow
is running or chatflow is responding, so ArtifactsSection is never
mounted during runs. Polling there is dead code.
2026-02-04 17:31:44 +08:00
yyh
d0200e90d2
feat: poll sandbox files every 5s during workflow/chatflow runs
Add conditional refetchInterval to Artifacts components so the file
list refreshes automatically while a workflow debug run or chatflow
preview is in progress, stopping once the run completes.
2026-02-04 16:59:09 +08:00
zhsama
b96459b656 fix: Fix sub-graph variable null check logic 2026-02-04 15:22:27 +08:00
yyh
00e9dce3ad
feat: add isPreviewable guard for binary file preview in artifacts
Add a unified isPreviewable flag to useFileTypeInfo that guards against
rendering binary files as text in both skill artifacts and variable
inspect artifacts preview. Upgrade extension arrays to Sets for O(1)
lookups.
2026-02-04 13:32:22 +08:00
hjlarry
36bfb08f34 fix: collaboration user's name display in editor line 1 2026-02-04 10:11:40 +08:00
yyh
f1d099d50d
refactor: extract skill save context, stabilize mutation dependency, and deduplicate cache updates
Split SkillSaveContext and useSkillSaveManager into a separate file to
fix react-refresh/only-export-components lint error. Destructure
mutateAsync from useUpdateAppAssetFileContent for a stable callback
reference, preventing unnecessary useCallback cascade rebuilds. Extract
shared patchFileContentCache helper to unify setQueryData logic between
updateCachedContent and the collaboration event handler.
2026-02-03 21:09:35 +08:00
hjlarry
c9b0d90ca7 Merge branch 'feat/support-agent-sandbox' of github.com:langgenius/dify into feat/support-agent-sandbox 2026-02-03 18:00:44 +08:00
hjlarry
70c887ed5c fix undo/redo 2026-02-03 18:00:06 +08:00
yyh
178421a8ac
fix: pass appId instead of userId to sandbox file API calls
The backend route /apps/{app_id}/sandbox/files expects the actual app ID
as the URL parameter and derives sandbox_id from the logged-in user
internally. The frontend was incorrectly passing userProfile.id (user ID)
as the appId, resulting in wrong storage paths.
2026-02-03 17:59:21 +08:00
yyh
0fcddfe9a5
feat: invalidate sandbox files cache on workflow/chatflow run completion
Add useInvalidateSandboxFiles hook and call it alongside
fetchInspectVars/invalidAllLastRun so the Artifacts tab refreshes
automatically when a chatflow preview or workflow debug run finishes.
2026-02-03 16:47:05 +08:00
yyh
19a5aee38e
fix: hide divider when OnlineUsers component is not rendered
Move the Divider into the OnlineUsers component so it conditionally
renders together with the online users content, preventing an orphaned
divider from appearing next to the preview button.
2026-02-03 15:35:49 +08:00
Novice
31177462e1
fix: clean up mixed variable extractor code 2026-02-03 15:26:15 +08:00
Novice
5441b9c3ad
fix: add computer_use property to mixed variable extractor 2026-02-03 10:33:47 +08:00
yyh
808a32c457
fix: add pending state to export button to prevent duplicate clicks
Use useTransition to disable the export button and show loading state
in the DSL export confirm modal during async export operations.
2026-02-02 15:52:03 +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
yyh
3ca767de47
refactor: migrate localStorage calls to storage utility module
Replace direct localStorage.getItem/setItem/removeItem with the
centralized storage module which provides versioned keys, automatic
JSON serialization, SSR safety, and error handling.
2026-02-01 17:34:37 +08:00