yungle246
a79bc7d074
feat(api): mask secret tokens in api-key list responses (reveal-once)
...
Previously the console api-key list returned every key's full plaintext
token, so anyone with console access could retrieve the secret of an
already-created key (via the copy button or the raw API response). This
is contrary to the reveal-once norm.
- List endpoints (app keys, workspace dataset keys, per-dataset keys) now
return a masked token (prefix + last 4); the full secret is only ever
returned by the create endpoint, at creation time.
- Frontend secret-key modal displays the masked token as-is and drops the
copy affordance for existing keys (copying a masked value is pointless).
Applies to both app and dataset keys since they share the modal and the
ApiKeyItem response model.
2026-06-25 14:21:38 +09:00
yungle246
1edffca717
Merge remote-tracking branch 'upstream/main' into feat/dataset-api-key-scope
...
# Conflicts:
# web/app/components/datasets/extra-info/api-access/__tests__/card.spec.tsx
# web/app/components/datasets/extra-info/api-access/card.tsx
# web/app/components/develop/secret-key/secret-key-modal.tsx
2026-06-20 03:16:09 +09:00
Wu Tianwei
33edf97f81
feat: RBAC ( #37107 )
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: fatelei <fatelei@gmail.com>
Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: 盐粒 Yanli <yanli@dify.ai>
Co-authored-by: Charles Yao <chongbinyao33@gmail.com>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
Co-authored-by: yunlu.wen <yunlu.wen@dify.ai>
Co-authored-by: yyh <92089059+lyzno1@users.noreply.github.com>
Co-authored-by: Jingyi <jingyi.qi@dify.ai>
Co-authored-by: yyh <yuanyouhuilyz@gmail.com>
Co-authored-by: Joel <iamjoel007@gmail.com>
Co-authored-by: hjlarry <hjlarry@163.com>
Co-authored-by: Asuka Minato <i@asukaminato.eu.org>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Xiyuan Chen <52963600+GareArc@users.noreply.github.com>
Co-authored-by: gigglewang <gigglewang@dify.ai>
Co-authored-by: chariri <w@chariri.moe>
Co-authored-by: Evan <2869018789@qq.com>
Co-authored-by: zyssyz123 <916125788@qq.com>
2026-06-18 16:35:29 +00:00
yungle246
8391cf7d05
fix(web): keep API key table header and rows aligned on scroll
...
The secret-key modal rendered the header and the rows in separate
containers with fixed pixel column widths. Adding the Scope column pushed
the total width past the modal, so the body scrolled horizontally on its
own and desynced from the fixed header.
Switch to proportional flex columns (header and rows share the same
weights) with min-w-0 + truncate, and constrain the body to vertical
scroll only. Columns now always fit the modal width, so the header and
values stay aligned. The scope cell gains a title tooltip for the full
label when truncated.
2026-06-18 17:59:54 +09:00
yungle246
be6612f454
feat: allow knowledge base API keys to be scoped to a single dataset
...
Reintroduce the nullable api_tokens.dataset_id column (dropped in 2e9819ca5b28)
so dataset API keys can opt into per-knowledge-base scoping:
- NULL dataset_id keeps today's workspace-wide behavior, so every existing key
and the existing /datasets/api-keys create route are unchanged.
- validate_dataset_token rejects a bound key for any other dataset, and for
endpoints that carry no dataset id (e.g. list-all), with 403.
- CachedApiToken carries dataset_id with a None default so cache entries
written before deploy keep deserializing.
- The per-dataset console routes in apikey.py (previously dead code that 500ed
on a missing ApiToken.dataset_id) now create bound keys; their list returns
bound keys plus workspace keys so the dataset page shows the full access
picture.
- Frontend: the knowledge base API access popover gains an API keys entry; the
secret key modal accepts datasetId, shows a scope column, and offers a
workspace / this-knowledge-base scope choice on create. New strings are
localized for all 23 locales.
2026-06-11 11:41:47 +09:00
Rohit Gahlawat
366e58bbbb
refactor(web): replace useContext with use() in remaining components ( #25193 ) ( #37254 )
2026-06-10 06:52:41 +00:00
Blackoutta
c8abb11bf0
feat: support custom trace session id for Phoenix tracing ( #37056 )
...
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-06-04 08:42:03 +00:00
Stephen Zhou
2b2a5824c1
refactor: migrate to tailwind v4 style ( #36417 )
2026-05-20 03:39:44 +00:00
yyh
e134c1e0d5
feat(web): improve a11y and remove data-testid ( #35999 )
2026-05-11 03:53:03 +00:00
Coding On Star
8581a68174
refactor(web): drop headless-ui, migrate overlay to dify-ui ( #35963 )
...
Co-authored-by: CodingOnStar <hanxujiang@dify.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: yyh <yuanyouhuilyz@gmail.com>
Co-authored-by: yyh <92089059+lyzno1@users.noreply.github.com>
2026-05-09 10:33:25 +00:00
yyh
861f73267c
feat(dify-ui): add Tabs/ToggleGroup ( #35965 )
...
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-05-09 08:23:50 +00:00
yyh
818a71d637
refactor(web): migrate simple overlay tooltips ( #35588 )
...
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-04-27 05:03:38 +00:00
非法操作
be4c828214
feat: add service api of HITL ( #32826 )
...
Co-authored-by: Blackoutta <hyytez@gmail.com>
Co-authored-by: QuantumGhost <QuantumGhost@users.noreply.github.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: QuantumGhost <obelisk.reg+git@gmail.com>
Co-authored-by: Yunlu Wen <yunlu.wen@dify.ai>
2026-04-24 06:37:10 +00:00
yyh
dfcc0f8863
refactor(dify-ui): finish primitive migration from web/base/ui to @langgenius/dify-ui ( #35349 )
...
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-04-17 08:46:11 +00:00
Stephen Zhou
6ca066983d
chore: auto fix for tailwind rules ( #35332 )
...
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-04-16 17:11:06 +00:00
Stephen Zhou
abb84f1c38
chore: enable noUncheckedIndexedAccess ( #35178 )
2026-04-16 13:01:35 +00:00
非法操作
53a22aa41b
feat: collaboration ( #30781 )
...
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>
Co-authored-by: yyh <yuanyouhuilyz@gmail.com>
Co-authored-by: yyh <92089059+lyzno1@users.noreply.github.com>
2026-04-16 02:21:04 +00:00
yyh
af7d5e60b4
feat(ui): scaffold @langgenius/dify-ui and migrate design tokens ( #35256 )
...
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-04-15 13:11:20 +00:00
yyh
50a55513d4
refactor(ui): decouple CSS dependencies and improve test quality ( #35242 )
...
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-04-15 07:03:40 +00:00
Coding On Star
2c58b424a1
refactor(web): migrate confirm dialogs to base/ui/alert-dialog ( #35127 )
...
Co-authored-by: CodingOnStar <hanxujiang@dify.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: yyh <yuanyouhuilyz@gmail.com>
2026-04-14 14:46:26 +00:00
yyh
e1bbe57f9c
refactor(web): re-design button api ( #35166 )
...
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-04-14 13:22:23 +00:00
Coding On Star
1ce6e279f0
test: add unit tests for AppPublisher, Sidebar, Chat, FileUploader, Form Demo, Notion Page Selector, Prompt Editor, and Header Navigation components ( #34802 )
...
Co-authored-by: CodingOnStar <hanxujiang@dify.com>
2026-04-09 07:30:51 +00:00
Stephen Zhou
894826771a
chore: clean up useless tailwind reference ( #34478 )
2026-04-02 11:45:19 +00:00
Stephen Zhou
1873b22e96
refactor: update to tailwind v4 ( #34415 )
...
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: yyh <yuanyouhuilyz@gmail.com>
2026-04-02 07:06:11 +00:00
Stephen Zhou
07f4950cb3
test: use happy dom ( #34154 )
2026-03-27 01:46:19 +00:00
hizhujianfeng
2a468da440
fix: copy to clipboard failed in non-secure (HTTP) contexts ( #32287 )
2026-03-10 15:46:17 +08:00
Stephen Zhou
eb66d36ea8
chore: add vinext as dev server ( #32559 )
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: yyh <92089059+lyzno1@users.noreply.github.com>
2026-03-01 09:54:39 +08:00
Coding On Star
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
Coding On Star
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
Coding On Star
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
Coding On Star
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
盐粒 Yanli
5b06203ef5
feat: Service API - add end-user lookup endpoint ( #32015 )
...
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-02-09 14:01:22 +08:00
Coding On Star
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
Stephen Zhou
2399d00d86
refactor(i18n): about locales ( #30336 )
...
Co-authored-by: yyh <yuanyouhuilyz@gmail.com>
2025-12-30 14:38:23 +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
Stephen Zhou
403adefc07
chore: lint require and how to import react ( #30041 )
2025-12-23 18:02:10 +08:00
Stephen Zhou
f2842da397
chore(web): new lint setup ( #30020 )
...
Co-authored-by: yyh <yuanyouhuilyz@gmail.com>
2025-12-23 16:58:55 +08:00
Stephen Zhou
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
yyh
18601d8b38
Refactor datasets service toward TanStack Query ( #29008 )
...
Co-authored-by: Wu Tianwei <30284043+WTW0313@users.noreply.github.com>
2025-12-09 13:48:23 +08:00
yyh
f8b10c2272
Refactor apps service toward TanStack Query ( #29004 )
2025-12-02 15:18:33 +08:00
Yeuoly
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
OneZero-Y
87a80d7613
docs: clarify how to obtain workflow_id for version execution ( #28007 )
...
Signed-off-by: OneZero-Y <aukovyps@163.com>
2025-11-09 21:38:06 +08:00
Eric Guo
e45d5700ec
Fix vs code and using min version after bump @remixicon/react and @monaco-editor/loader ( #27008 )
2025-10-21 11:41:44 +08:00
Yusuke Yamada
1b537f904a
fix: replace CodeGroup's POST /meta with GET /site ( #26886 )
2025-10-15 09:43:10 +08:00
GuanMu
9e39be0770
fix: correct indentation in JSON payloads ( #26871 )
2025-10-14 19:41:01 +08:00
lyzno1
b80d55b764
fix: add missing key prop to TabPanel and initialize useRef with null ( #26517 )
2025-10-02 18:08:57 +08:00
Copilot
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
Asuka Minato
9a7245e1df
rm assigned but unused ( #25639 )
2025-09-27 10:54:25 +08:00
lyzno1
b623224d07
fix: remove workflow file preview docs ( #25318 )
2025-09-07 21:31:05 +08:00
crazywoola
7c340695d6
fix: unclosing tag ( #24733 )
2025-08-28 23:59:04 +08:00