ff71816373
refactor: use query data for selected file download, keep mutation for tree downloads
...
The toolbar download button now uses the already-fetched download URL
from useQuery (zero extra requests), while tree node downloads keep
using useMutation with React Query-managed isPending state instead of
a hand-rolled useState wrapper.
2026-01-29 20:48:58 +08:00
5c91311077
fix: use downloadUrl utility instead of window.open for file downloads
...
Replace window.open with downloadUrl from utils/download to trigger
proper file downloads instead of opening files in a new browser tab.
2026-01-29 17:05:01 +08:00
76484406a2
feat(inspect): add read-only file preview in ArtifactsTab
...
Implement ReadOnlyFilePreview to render sandbox files by type
(code, markdown, image, video, SQLite, unsupported) using existing
skill viewer components with readOnly support. Add
useSandboxFileDownloadUrl and useFetchTextContent hooks for data
fetching, and generalize useFileTypeInfo to accept any file-like
object.
2026-01-29 16:42:22 +08:00
8185d146b6
fix(inspect): extract ArtifactsEmpty component and align split-panel empty state
...
Extract shared empty state card into ArtifactsEmpty component to
deduplicate the no-files and no-selection empty states. Align the
split-panel right-side empty state with the variables tab pattern.
Remove FC type annotations in favor of inline parameter types.
2026-01-29 14:38:08 +08:00
d73a36d6bc
fix(inspect): add aria-hidden to decorative icon and use stable keys for path breadcrumb
...
Mark the empty state SearchLinesSparkle icon as aria-hidden for screen
readers. Replace array-index keys with cumulative path keys (O(n) vs
O(n²)) to satisfy react/no-array-index-key and improve key stability.
2026-01-29 14:20:12 +08:00
3ad05be9ca
fix(inspect): align artifacts empty state with variables empty state design
...
Replace the minimal centered text card in artifacts tab empty state with
a full-height card layout matching the variables tab, including icon
container (SearchLinesSparkle), title, description, and learn more link.
2026-01-29 14:04:30 +08:00
f9f3d33911
fix(variable-inspect): anchor clear button to right side of tab header
...
Position the clear button relative to the right divider instead of
following the tab labels, ensuring consistent positioning across
different language translations. Also fix tab switching jitter by
setting a fixed header height.
2026-01-28 20:34:23 +08:00
20d19fead9
fix(web): align variable inspect tabs in empty state
...
- reserve left column width in empty layout to prevent tab shift
- keep close action aligned with split-panel header
2026-01-28 14:15:55 +08:00
27639600f9
feat(web): add FileDownload01 icon and use it in artifacts tab
...
Replace RiDownloadLine with a file-specific download icon for the
artifacts file list and remove the unused copy-path button.
2026-01-28 14:11:18 +08:00
0b6522df42
refactor(web): extract split layout for variable inspect
...
- add SplitPanel to share left/right shell and narrow menu handling
- reuse InspectHeaderProps for tab header + actions across tabs
- refactor variables/artifacts tabs to plug into shared split layout
- align right-side header/close behavior and consolidate empty/loading flows
2026-01-28 14:06:34 +08:00
ef6f7f2a6c
refactor: extract InspectLayout composition component to eliminate repeated header/close patterns
...
Consolidate duplicated TabHeader + close button layout (8 occurrences) into a single
InspectLayout wrapper. Replace boolean props with children slots for better composition.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-01-28 12:50:04 +08:00
d098e72c13
feat(variable-inspect): add Artifacts tab with sandbox file tree browser
...
Refactor the variable inspect panel into a tabbed layout with Variables
and Artifacts tabs. Extract variable logic into VariablesTab, add new
ArtifactsTab with sandbox file tree selection and preview pane, and
improve accessibility across tree nodes and interactive elements.
2026-01-27 15:05:11 +08:00
54fce5e903
feat: Add @agent icon and implement agent alias variables in workflow
...
inspector
2026-01-27 02:42:37 +08:00
ec5964c419
feat: Add support for array[message](List[promptMessage]) variable type
...
in workflow
2026-01-26 17:50:18 +08:00
3de33f7a4e
fix: check and update doc links ( #30849 )
...
Co-authored-by: Riskey <36894937+RiskeyL@users.noreply.github.com >
2026-01-22 16:13:09 +08:00
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
3cbbb06dc4
chore(web): migrate lodash-es to es-toolkit compat ( #30126 )
2025-12-25 09:44:57 +08:00
403adefc07
chore: lint require and how to import react ( #30041 )
2025-12-23 18:02:10 +08:00
f2842da397
chore(web): new lint setup ( #30020 )
...
Co-authored-by: yyh <yuanyouhuilyz@gmail.com >
2025-12-23 16:58:55 +08:00
a26881cb24
refactor: unified cn utils ( #29916 )
...
Co-authored-by: yyh <yuanyouhuilyz@gmail.com >
Co-authored-by: yyh <92089059+lyzno1@users.noreply.github.com >
2025-12-19 12:08:34 +08:00
abc13ef762
Feat/web workflow improvements ( #27981 )
...
Co-authored-by: crazywoola <100913391+crazywoola@users.noreply.github.com >
Co-authored-by: johnny0120 <johnny0120@users.noreply.github.com >
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Co-authored-by: Wood <tuiskuwood@outlook.com >
2025-11-25 19:54:40 +08:00
b76e17b25d
feat: introduce trigger functionality ( #27644 )
...
Signed-off-by: lyzno1 <yuanyouhuilyz@gmail.com >
Co-authored-by: Stream <Stream_2@qq.com >
Co-authored-by: lyzno1 <92089059+lyzno1@users.noreply.github.com >
Co-authored-by: zhsama <torvalds@linux.do >
Co-authored-by: Harry <xh001x@hotmail.com >
Co-authored-by: lyzno1 <yuanyouhuilyz@gmail.com >
Co-authored-by: yessenia <yessenia.contact@gmail.com >
Co-authored-by: hjlarry <hjlarry@163.com >
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: WTW0313 <twwu@dify.ai >
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-11-12 17:59:37 +08:00
f0e739be43
fix: immer version and ref in code base ( #27130 )
2025-10-20 14:49:26 +09:00
df43c6ab8a
[Chore/Refactor] Implement lazy initialization for useState calls to prevent re-computation ( #26252 )
...
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com >
Co-authored-by: asukaminato0721 <30024051+asukaminato0721@users.noreply.github.com >
2025-09-29 20:35:55 +09:00
85cda47c70
feat: knowledge pipeline ( #25360 )
...
Signed-off-by: -LAN- <laipz8200@outlook.com >
Co-authored-by: twwu <twwu@dify.ai >
Co-authored-by: crazywoola <100913391+crazywoola@users.noreply.github.com >
Co-authored-by: jyong <718720800@qq.com >
Co-authored-by: Wu Tianwei <30284043+WTW0313@users.noreply.github.com >
Co-authored-by: QuantumGhost <obelisk.reg+git@gmail.com >
Co-authored-by: lyzno1 <yuanyouhuilyz@gmail.com >
Co-authored-by: quicksand <quicksandzn@gmail.com >
Co-authored-by: Jyong <76649700+JohnJyong@users.noreply.github.com >
Co-authored-by: lyzno1 <92089059+lyzno1@users.noreply.github.com >
Co-authored-by: zxhlyh <jasonapring2015@outlook.com >
Co-authored-by: Yongtao Huang <yongtaoh2022@gmail.com >
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Joel <iamjoel007@gmail.com >
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
Co-authored-by: nite-knite <nkCoding@gmail.com >
Co-authored-by: Hanqing Zhao <sherry9277@gmail.com >
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Co-authored-by: Harry <xh001x@hotmail.com >
2025-09-18 12:49:10 +08:00
5c50c3aa70
fix: allow empty values in Variable Inspector ( #25644 )
2025-09-14 14:10:12 +08:00
eb52216a9c
Revert "example of remove useEffect" ( #25418 )
2025-09-09 16:23:44 +08:00
a9da8edbde
example of remove useEffect ( #25212 )
2025-09-05 17:35:59 +08:00
208ce4e774
CI: add TS indentation check via esLint ( #24810 )
2025-09-01 15:31:59 +08:00
dac72b078d
feat: support bool type variable frontend ( #24437 )
...
Co-authored-by: QuantumGhost <obelisk.reg+git@gmail.com >
2025-08-26 18:16:05 +08:00
de9c5f10b3
feat: enchance prompt and code ( #23633 )
...
Co-authored-by: stream <stream@dify.ai >
Co-authored-by: Stream <1542763342@qq.com >
Co-authored-by: Stream <Stream_2@qq.com >
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2025-08-18 12:29:12 +08:00
f78b903a49
Chore/variable label ( #23270 )
2025-08-01 15:43:36 +08:00
eb9edf4908
fix: copy inspect variable value get extra quotes ( #21680 )
2025-06-30 22:14:29 +08:00
fd41645f95
feat: Add display control logic for the variable inspection panel ( #21539 )
2025-06-27 10:22:39 +08:00
1610f62a28
fix: var inspect doc link error ( #21515 )
2025-06-25 20:21:51 +08:00
1a1bfd4048
feat: last run frontend ( #21369 )
...
The frontend of feat: Persist Variables for Enhanced Debugging Workflow (#20699 ).
Co-authored-by: jZonG <jzongcode@gmail.com >
2025-06-24 09:10:30 +08:00