Commit Graph

4322 Commits

Author SHA1 Message Date
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
940686b731 fix: resolve CI failures after merging main
- Migration: rebase dataset_id migration onto current head (d2f1a4b8c3e0)
  instead of 7bad07dc267d, which had become a second head after upstream
  merged 0b2f2c8a9d1e; restores a single Alembic head.
- Integration test: capture dataset ids into locals before the commit that
  expires the instances, fixing a DetachedInstanceError in
  test_list_excludes_keys_bound_to_other_datasets.
- Web test: add the new useDatasetScopedApiKeys export to the use-dataset mock
  in api-key-management-flow.test.tsx (SecretKeyModal now calls it).
2026-06-18 14:20:18 +09:00
YungLe
d2d4e54b11 Merge remote-tracking branch 'upstream/main' into feat/dataset-api-key-scope 2026-06-17 16:45:13 +09:00
Jingyi
e189ceb397
fix: align app and knowledge detail shell styles (#37555) 2026-06-17 01:25:05 +00:00
KVOJJJin
1427b0b098
feat: refine snippet layout (#37517)
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-06-16 09:47:38 +00:00
Jingyi
30506f7221
fix(workflow): clamp file list upload limit (#37474) 2026-06-16 05:50:16 +00:00
Jingyi
598ecc02c6
fix(workflow): refine tool picker copy (#37477) 2026-06-16 05:33:34 +00:00
Jingyi
7bed801b0d
fix(workflow): reset block selector tab on reopen (#37469) 2026-06-16 00:22:54 +00:00
Jingyi
9b74df21d0
feat(web): refine onboarding UI (#37433)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: yyh <yuanyouhuilyz@gmail.com>
Co-authored-by: Joel <iamjoel007@gmail.com>
Co-authored-by: hjlarry <hjlarry@163.com>
Co-authored-by: fatelei <fatelei@gmail.com>
Co-authored-by: Asuka Minato <i@asukaminato.eu.org>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
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: Yunlu Wen <yunlu.wen@dify.ai>
Co-authored-by: chariri <w@chariri.moe>
Co-authored-by: Evan <2869018789@qq.com>
Co-authored-by: yyh <92089059+lyzno1@users.noreply.github.com>
2026-06-15 08:47:15 +00:00
wangxiaolei
3eaa534e99
fix: fix human input form logo replace (#37452) 2026-06-15 07:27:25 +00:00
wangxiaolei
a685eba549
fix: fix remove logo not work (#37435) 2026-06-15 03:32:10 +00:00
Stephen Zhou
cd3008e159
chore: update deps (#37427) 2026-06-15 02:44:28 +00:00
yyh
8eb6a19784
refactor: normalize search input and dify-ui focus states (#37413) 2026-06-15 01:03:31 +00:00
Jingyi
09b6f25fb9
fix: render marketplace template icons with AppIcon (#37401) 2026-06-13 02:50:53 +00:00
yyh
ad96501e09
fix(ui): keep loading buttons focusable (#37383) 2026-06-12 10:31:33 +00:00
yyh
800bfc988e
fix(web): tighten start block preview card spacing (#37379) 2026-06-12 08:55:57 +00:00
yyh
514fddb60c
fix(ui): align infotip popover focus styles (#37377) 2026-06-12 08:14:29 +00:00
KVOJJJin
c5ab38b2ad
chore(web): support separate public API target for dev proxy (#37363) 2026-06-12 06:19:23 +00:00
Jingyi
c69abf16ae
feat(workflow): update start node UI (#37348) 2026-06-12 04:42:43 +00:00
KVOJJJin
72faca2592
fix(web): preserve form state during config refetch (#37357) 2026-06-12 03:21:33 +00:00
Crazywoola
09bb87d089
feat: harden /create and /refine workflow generation for edge cases (#37336)
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-06-12 02:41:17 +00:00
yyh
f9911ab3ef
chore: add eslint rules for a11y (#37353) 2026-06-12 02:31:35 +00:00
github-actions[bot]
342c85d865
chore(i18n): sync translations with en-US (#37351)
Co-authored-by: claude[bot] <41898282+claude[bot]@users.noreply.github.com>
2026-06-12 02:19:13 +00:00
Charles Yao
aff8f82bc0
fix(web): correct MCP forward-identity header copy; guard toggle hydration (#37176)
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-12 01:45:51 +00:00
lmlm
7ec295fd66
refactor(web): use React use for context helper (#37289) 2026-06-11 11:44:00 +00:00
KVOJJJin
632df88228
fix(web): correct icon of tag (#37326) 2026-06-11 07:01:46 +00:00
KVOJJJin
e26214c02d
fix(web): typo of creator filter (#37321) 2026-06-11 06:26:41 +00:00
Jingyi
49c97a3f61
fix(web): show plugin auth permission hint (#37310) 2026-06-11 03:24:39 +00: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
Stephen Zhou
5ed663e7fd
refactor: use foxact package for copied hooks (#37308) 2026-06-11 01:05:08 +00:00
Rohit Gahlawat
08f1bf20ab
refactor(web): mark Props of app/annotation components as read-only (#25219) (#37299) 2026-06-11 00:19:51 +00:00
Rohit Gahlawat
86ffa119ff
refactor(web): mark Props of workflow/ components as read-only (#25219) (#37304) 2026-06-11 00:18:51 +00:00
Rohit Gahlawat
e07c50c83f
refactor(web): mark Props of plugins/ components as read-only (#25219) (#37303) 2026-06-11 00:18:00 +00:00
Rohit Gahlawat
ffeccfff0c
refactor(web): mark Props of base/ components as read-only (#25219) (#37302) 2026-06-11 00:17:17 +00:00
Rohit Gahlawat
56b82449fc
refactor(web): mark Props of datasets/ components as read-only (#25219) (#37300) 2026-06-11 00:16:21 +00:00
Rohit Gahlawat
9c6577804c
refactor(web): mark Props of app/ components as read-only (#25219) (#37301)
Co-authored-by: Asuka Minato <i@asukaminato.eu.org>
2026-06-11 00:15:31 +00:00
Rohit Gahlawat
b4205af9b9
refactor(web): mark Props of explore/ components as read-only (#25219) (#37290) 2026-06-10 18:21:00 +00:00
Rohit Gahlawat
162c478368
refactor(web): mark Props of (commonLayout) components as read-only (#25219) (#37291) 2026-06-10 18:20:30 +00:00
Rohit Gahlawat
be2034f681
refactor(web): mark Props of share/ components as read-only (#25219) (#37292) 2026-06-10 18:19:37 +00:00
Rohit Gahlawat
beec13ed61
refactor(web): mark Props of header/account-setting components as read-only (#25219) (#37293) 2026-06-10 18:18:43 +00:00
Rohit Gahlawat
62a1476a95
refactor(web): mark Props of misc components as read-only (#25219) (#37294) 2026-06-10 18:18:02 +00:00
yyh
a83118c0f4
refactor(web): compose tab header with dify-ui tabs (#37280) 2026-06-10 10:45:22 +00:00
yyh
0d8f7c41de
feat: add dify-ui collapsible primitive and refactor workflow collapse usage (#37276)
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-06-10 08:59:33 +00:00
github-actions[bot]
fb70ebb8f8
chore(i18n): sync translations with en-US (#37269)
Co-authored-by: claude[bot] <41898282+claude[bot]@users.noreply.github.com>
Co-authored-by: yyh <92089059+lyzno1@users.noreply.github.com>
2026-06-10 08:44:14 +00:00
呆萌闷油瓶
9ac71329a4
fix(plugin): align plugin list endpoint counts with live endpoint state (#37179)
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-06-10 08:11:11 +00:00
Novice
4fb3210f9a
fix: validate conversation variable description length to prevent varchar(255) truncation error (#33038)
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: 非法操作 <hjlarry@163.com>
Co-authored-by: -LAN- <laipz8200@outlook.com>
2026-06-10 07:28:12 +00:00
Hanqing Zhao
09bfbf386e
feat: enter the app name that need to be deleted by one click (#37263)
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
2026-06-10 07:15:59 +00:00
Rohit Gahlawat
4c347f198e
refactor(web): replace useContext with use() in workflow components (#25193) (#37253) 2026-06-10 06:53:04 +00:00
Rohit Gahlawat
366e58bbbb
refactor(web): replace useContext with use() in remaining components (#25193) (#37254) 2026-06-10 06:52:41 +00:00
yyh
8430255931
fix(web): unify workflow node single-run actions (#37262) 2026-06-10 06:34:18 +00:00