d00367c7c9
fix(web): prevent false 404 during installed app refetch
...
- keep loading state when installed app list is refetching without a matched id
- align installed-app tests with TanStack Query isPending semantics
- add refetch regression assertions to avoid early 404 fallback
2026-02-14 14:14:51 +08:00
d32e23f877
refactor(web): remove ExploreContext and migrate to derived state with oRPC contracts
...
Replace ExploreContext with derived permission checks using useAppContext
and useMembers, eliminating redundant state synchronization. Add oRPC
contract for explore endpoints, extract TryAppSelection type, and migrate
app-publisher icons from @remixicon/react components to CSS icon classes.
Update all related tests to reflect the new context-free architecture.
2026-02-14 13:24:10 +08:00
063f6562cb
refactor(web): remove React Query state sync anti-pattern from ExploreContext
...
Eliminate useEffect-based synchronization of React Query server state
into React Context, which caused extra renders, state drift, and
incorrect loading/empty states on the /explore/apps page.
- Remove installedApps, isFetchingInstalledApps, and
controlUpdateInstalledApps from ExploreContext (dead code + anti-pattern)
- Sidebar and InstalledApp now consume useGetInstalledApps() directly
- Use isLoading (not isPending) for conditionally-enabled queries to
avoid permanent loading state when query is disabled
- Derive hasEditPermission during render instead of via useEffect
- Replace FC type annotations with const arrow functions
- Add return type to fetchInstalledAppList
- Update all related unit and integration tests
2026-02-14 13:02:10 +08:00
210710e76d
refactor(web): extract custom hooks from complex components and add comprehensive tests ( #32301 )
...
Co-authored-by: CodingOnStar <hanxujiang@dify.com >
2026-02-13 17:21:34 +08:00
a4e03d6284
test: add integration tests for app card operations, list browsing, and create app flows ( #32298 )
...
Co-authored-by: CodingOnStar <hanxujiang@dify.com >
2026-02-13 13:21:09 +08:00
3fd1eea4d7
feat(tests): add integration tests for explore app list, installed apps, and sidebar lifecycle flows ( #32248 )
...
Co-authored-by: CodingOnStar <hanxujiang@dify.com >
2026-02-12 10:29:03 +08:00
b65678bd4c
test: add comprehensive unit and integration tests for RAG Pipeline components ( #32237 )
...
Co-authored-by: CodingOnStar <hanxujiang@dify.com >
2026-02-12 10:28:55 +08:00
bfdc39510b
test: add unit and integration tests for share, develop, and goto-anything modules ( #32246 )
...
Co-authored-by: CodingOnStar <hanxujiang@dify.com >
2026-02-12 10:05:43 +08:00
80e6312807
test: add comprehensive unit and integration tests for billing components ( #32227 )
...
Co-authored-by: CodingOnStar <hanxujiang@dify.com >
2026-02-12 10:05:06 +08:00
d6b025e91e
test(web): add comprehensive unit and integration tests for plugins and tools modules ( #32220 )
...
Co-authored-by: CodingOnStar <hanxujiang@dify.com >
2026-02-12 10:04:56 +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
1fbdf6b465
refactor(web): setup status caching ( #30798 )
2026-01-13 16:59:49 +08:00
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
1873b5a766
chore: remove useless __esModule ( #30366 )
2025-12-30 15:37:16 +08:00
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
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
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
eabdc5f0eb
refactor(web): migrate to Vitest and esm ( #29974 )
...
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com >
Co-authored-by: yyh <yuanyouhuilyz@gmail.com >
2025-12-22 16:35:22 +08:00
eeb5129a17
refactor: create shared react-i18next mock to reduce duplication ( #29711 )
2025-12-16 12:45:17 +08:00
dbecba710b
frontend auto testing rules ( #28679 )
...
Co-authored-by: CodingOnStar <hanxujiang@dify.ai >
Co-authored-by: 姜涵煦 <hanxujiang@jianghanxudeMacBook-Pro.local >
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2025-11-26 15:18:07 +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
e9738b891f
test: adding some web tests ( #27792 )
2025-11-04 21:06:44 +08:00
29afc0657d
Fix/27468 in dify 192 the iframe embed cannot pass the user id in system variable ( #27524 )
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-10-28 09:19:54 +08:00
9dd3dcff2b
Fix type error 5 ( #27139 )
...
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
2025-10-20 15:35:13 +08:00
0173496a77
fix: happy-dom version ( #26764 )
...
Co-authored-by: lyzno1 <yuanyouhuilyz@gmail.com >
Co-authored-by: lyzno1 <92089059+lyzno1@users.noreply.github.com >
2025-10-11 18:59:31 +08:00
a8746bff30
fix oxlint warnings ( #26634 )
2025-10-09 09:23:34 +08:00
beb1448441
[Chore/Refactor] Add missing 'type' attribute on 'button' components ( #26249 )
...
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-28 13:43:43 +08:00
36ab9974d2
fix: Multiple UX improvements for GotoAnything command palette ( #25637 )
2025-09-13 21:03:42 +08:00
208ce4e774
CI: add TS indentation check via esLint ( #24810 )
2025-09-01 15:31:59 +08:00
e5e42bc483
fix: XSS vulnerability in block-input and support-var-input components ( #24835 )
2025-08-31 17:01:10 +08:00
e0fe0e1a3e
fix: goto-anything command filter should only match shortcut ( #23862 )
2025-08-13 13:55:25 +08:00
2944a4fd43
feat: add filtering support for @ command selector in goto-anything ( #23763 )
2025-08-11 22:21:37 +08:00
0c5e66bccb
fix: unified error handling for GotoAnything search actions ( #23715 )
2025-08-11 11:57:06 +08:00
2edd32fdea
fix: resolve AppCard description overlap with tag area ( #23585 )
...
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2025-08-08 09:05:55 +08:00
d8584dc03a
feat: enhance document list navigation and sorting functionality ( #23383 )
2025-08-05 10:19:47 +08:00
54c8bd29ee
security: Fix XSS vulnerability in authentication check-code pages ( #23295 )
2025-08-04 12:48:38 +08:00
0c925bd088
feat(ui): unify tag editing in app sidebar and add management entry to TagFilter ( #23325 )
2025-08-03 18:30:47 +08:00
f9b3cd1b68
i18n: enhance check-i18n script with precise filtering and multiline support ( #23298 )
2025-08-02 12:52:12 +08:00
1b2046da3f
fix: prevent client-side crashes from null/undefined plugin data in workflow ( #23154 ) ( #23182 )
2025-07-31 10:03:33 +08:00
6914c1c85e
fix(web): make iteration panel respect MAX_PARALLEL_LIMIT environment variable ( #23083 ) ( #23104 )
2025-07-29 21:39:40 +08:00
f4d4a32af2
Feat/enhance i18n scripts ( #23114 )
2025-07-29 18:24:57 +08:00
572a2bbe53
fix(i18n): Complete missing translations and clean up legacy keys in app-debug across all locales ( #23062 ) ( #23065 )
2025-07-28 19:46:27 +08:00
3328addb58
fix: eliminate dark mode flicker by moving ThemeProvider to root level ( #22996 )
2025-07-26 18:28:28 +08:00