de62812134
refactor(web): centralize role-based route guards and fix anti-patterns
...
Problems:
- Identical useEffect + router.replace guard for dataset_operator role
duplicated across 4 leaf components (tools/page, appDetail/layout,
explore/index, apps/list), violating DRY and risking permission gaps
when new routes are added
- datasets/list had a redundant role guard already covered by
datasets/layout
- datasets/layout used useEffect for redirect, causing content flash
- useEffect-based guards render unauthorized content before redirect
- explore/index used useState + useEffect to derive hasEditPermission,
an unnecessary render cycle (rerender-derived-state-no-effect)
- apps/list imported 6 @remixicon/react components instead of using
Tailwind CSS icon classes, inflating JS bundle
- apps/list contained unused validTabs Set (dead code)
Solutions:
- Create RoleRouteGuard component at (commonLayout)/layout.tsx level
that synchronously checks role during render and returns null before
children mount, preventing content flash
- Remove all 5 duplicated useEffect guards from leaf components
- Replace datasets/layout useEffect guard with synchronous render check
- Derive hasEditPermission directly during render in explore/index
- Replace @remixicon/react imports with i-ri-* CSS icon classes
- Remove dead code (validTabs)
2026-02-13 14:58:21 +08:00
b6d506828b
test(web): add and enhance frontend automated tests across multiple modules ( #32268 )
...
Co-authored-by: CodingOnStar <hanxujiang@dify.com >
2026-02-13 10:27:48 +08:00
f233e2036f
fix: metadata batch edit silently fails due to split transactions and swallowed exceptions ( #32041 )
2026-02-12 12:59:59 +08:00
10f85074e8
test: add comprehensive unit and integration tests for dataset module ( #32187 )
...
Co-authored-by: CodingOnStar <hanxujiang@dify.com >
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-02-12 10:00:32 +08:00
f355c8d595
refactor: type safe env, update to zod v4 ( #32035 )
2026-02-10 17:55:11 +08:00
4058e9ae23
refactor: extract sub-components and custom hooks from UpdateDSLModal and Metadata components ( #32045 )
...
Co-authored-by: CodingOnStar <hanxujiang@dify.com >
Co-authored-by: Stephen Zhou <38493346+hyoban@users.noreply.github.com >
2026-02-10 17:26:08 +08:00
6c63c6a221
fix: pass user timezone from app context to the date picker component. ( #31831 )
...
Co-authored-by: yyh <92089059+lyzno1@users.noreply.github.com >
2026-02-09 14:10:24 +08:00
7202a24bcf
chore: migrate to eslint-better-tailwind ( #31969 )
2026-02-05 18:36:08 +09:00
1e344f773b
refactor(web): extract complex components into modular structure with comprehensive tests ( #31729 )
...
Co-authored-by: CodingOnStar <hanxujiang@dify.com >
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com >
2026-02-04 18:35:31 +08:00
297dd832aa
refactor(datasets): extract hooks and components with comprehensive tests ( #31707 )
...
Co-authored-by: CodingOnStar <hanxujiang@dify.com >
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com >
2026-02-04 18:12:17 +08:00
cc5705cb71
fix: auto summary env ( #31930 )
2026-02-04 17:47:38 +08:00
45daec7541
refactor: replace line-clamp package with native CSS ( #31877 )
...
Co-authored-by: OSS Contributor <oss-contributor@example.com >
Co-authored-by: Claude (claude-opus-4-5) <noreply@anthropic.com >
Co-authored-by: niveshdandyan <niveshdandyan@users.noreply.github.com >
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-02-03 22:14:18 +08:00
7d1ad7e03a
refactor: unified shortcut keys display using component ( #31713 )
2026-01-29 17:57:46 +08:00
b9ac7af9c5
refactor(web): consolidate download helpers ( #31664 )
2026-01-29 16:02:49 +08:00
8f414af34e
test: add comprehensive tests ( #31649 )
...
Co-authored-by: CodingOnStar <hanxujiang@dify.com >
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com >
2026-01-29 11:16:26 +08:00
6fff46bc29
feat: summary index ( #31523 )
2026-01-28 11:09:34 +08:00
11259617fa
test: add comprehensive tests for chat-user-input component ( #31595 )
...
Co-authored-by: CodingOnStar <hanxujiang@dify.ai >
Co-authored-by: CodingOnStar <hanxujiang@dify.com >
2026-01-27 20:02:49 +08:00
c8abe1c306
test: add tests for dataset document detail ( #31274 )
...
Co-authored-by: CodingOnStar <hanxujiang@dify.ai >
Co-authored-by: CodingOnStar <hanxujiang@dify.com >
2026-01-27 15:43:27 +08:00
e48419937b
feat: chatflow support multimodal ( #31293 )
...
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-01-27 00:24:48 +08:00
a43d2ec4f0
refactor: restructure Completed component ( #31435 )
...
Co-authored-by: CodingOnStar <hanxujiang@dify.ai >
2026-01-26 14:03:51 +08:00
e2d7fe9c72
fix(web): use Array.from() for FileList to fix tsc type errors ( #31398 )
2026-01-22 19:51:24 +08:00
136618b567
fix: more doc link fix ( #31395 )
...
Co-authored-by: Riskey <36894937+RiskeyL@users.noreply.github.com >
2026-01-22 15:18:42 +08:00
524ce14a68
test: enhance HitTestingPage tests with additional coverage for rende… ( #31355 )
2026-01-21 19:07:20 +08:00
1813b65acb
chore: revert jsdom update ( #31353 )
2026-01-21 18:30:04 +08:00
aa68966b55
test: fix test in #30849 ( #31350 )
2026-01-21 16:46:42 +08:00
061feebd87
fix: check and update doc links ( #30849 )
...
Co-authored-by: Riskey <36894937+RiskeyL@users.noreply.github.com >
2026-01-21 16:31:48 +08:00
a8764694ed
test: enhance HitTestingPage tests with additional coverage for rendering and state updates ( #31321 )
...
Co-authored-by: CodingOnStar <hanxujiang@dify.ai >
2026-01-21 11:35:29 +08:00
8056768106
fix: enforce no-leaked-conditional-rendering as error and fix violations ( #31262 )
...
Co-authored-by: Stephen Zhou <38493346+hyoban@users.noreply.github.com >
2026-01-20 23:08:59 +08:00
54921844bb
fix(web): disable HTML escaping for form field validation messages ( #31292 )
2026-01-20 18:43:01 +08:00
76b64dda52
test: add tests for dataset list ( #31231 )
...
Co-authored-by: CodingOnStar <hanxujiang@dify.ai >
Co-authored-by: yyh <92089059+lyzno1@users.noreply.github.com >
2026-01-20 13:07:00 +08:00
62ac02a568
feat: Download the uploaded files ( #31068 )
...
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Cursor Agent <cursoragent@cursor.com >
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2026-01-19 16:48:13 +08:00
2d4289a925
chore: relocate datasets api form ( #31224 )
2026-01-19 16:15:51 +08:00
92dbc94f2f
test: add unit tests for plugin detail panel components including action lists, strategy lists, and endpoint management ( #31053 )
...
Co-authored-by: CodingOnStar <hanxujiang@dify.ai >
2026-01-19 14:40:32 +08:00
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
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
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
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
8cf5d9a6a1
fix: fix Cannot destructure property 'name' of 'value' as it is undef… ( #30991 )
2026-01-14 19:30:47 +08:00
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
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
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
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
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
2aaaa4bd34
feat(web): migrate from es-toolkit/compat to native es-toolkit ( #30244 ) ( #30246 )
2025-12-31 11:13:22 +08:00
1873b5a766
chore: remove useless __esModule ( #30366 )
2025-12-30 15:37:16 +08:00
2399d00d86
refactor(i18n): about locales ( #30336 )
...
Co-authored-by: yyh <yuanyouhuilyz@gmail.com >
2025-12-30 14:38:23 +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
8b38e3f79d
feat: document batch operation tool add re-index operation ( #30275 )
2025-12-29 10:03:15 +08:00
b85564cae5
fix: remove unused CSS styles and fix HitTestingPage layout ( #30235 )
2025-12-28 03:00:30 +09:00
3cbbb06dc4
chore(web): migrate lodash-es to es-toolkit compat ( #30126 )
2025-12-25 09:44:57 +08:00