dify/web/app
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
..
(commonLayout) refactor(web): consolidate deployment state atoms (#37783) 2026-06-23 07:26:55 +00:00
(humanInputLayout)/form/[token] fix: fix human input form logo replace (#37452) 2026-06-15 07:27:25 +00:00
(shareLayout) refactor(web): migrate shared localStorage to createLocalStorageState (#37408) 2026-06-19 13:51:45 +00:00
account refactor(web): migrate shared localStorage to createLocalStorageState (#37408) 2026-06-19 13:51:45 +00:00
activate feat(web): create system-features vertical (#36894) 2026-06-01 10:15:25 +00:00
auth/refresh feat(web): refine onboarding UI (#37433) 2026-06-15 08:47:15 +00:00
components feat(api): mask secret tokens in api-key list responses (reveal-once) 2026-06-25 14:21:38 +09:00
device feat(web): create system-features vertical (#36894) 2026-06-01 10:15:25 +00:00
education-apply refactor(web): migrate shared localStorage to createLocalStorageState (#37408) 2026-06-19 13:51:45 +00:00
forgot-password feat(web): create system-features vertical (#36894) 2026-06-01 10:15:25 +00:00
init refactor(dify-ui): finish primitive migration from web/base/ui to @langgenius/dify-ui (#35349) 2026-04-17 08:46:11 +00:00
install fix(ui): keep loading buttons focusable (#37383) 2026-06-12 10:31:33 +00:00
oauth-callback feat: the frontend part of mcp (#22131) 2025-07-10 14:14:02 +08:00
reset-password refactor(web): migrate shared localStorage to createLocalStorageState (#37408) 2026-06-19 13:51:45 +00:00
signin refactor(web): migrate shared localStorage to createLocalStorageState (#37408) 2026-06-19 13:51:45 +00:00
signup fix(web): attach Amplitude user ID before firing registration event (#37091) 2026-06-05 06:31:27 +00:00
styles fix(web): align viewport and overlay accessibility (#37142) 2026-06-08 01:45:39 +00:00
error.tsx fix(web): prefetch workspace and guard routes with contract query (#36870) 2026-05-31 14:02:00 +00:00
layout.tsx fix(web): align viewport and overlay accessibility (#37142) 2026-06-08 01:45:39 +00:00
routePrefixHandle.tsx refactor: route next/navigation through compat re-export (#33636) 2026-03-18 12:57:03 +08:00