moonming opened a new pull request, #3419:
URL: https://github.com/apache/apisix-dashboard/pull/3419

   ## What
   
   Fixes #3412.
   
   Opening the Plugin Metadata page on any deployment that hasn't configured 
metadata for all ~24 metadata-capable plugins produced a red `Key not found` 
toast per unconfigured plugin. The page probes `GET /plugin_metadata/{name}` 
per plugin; the Admin API's documented answer for never-configured metadata is 
**404**, but the per-request interceptor skip list said `'500'` — the wrong 
status code.
   
   ## How
   
   - `src/components/page-slice/plugin_metadata/hooks.ts`: skip list `['500']` 
→ `['404']`. Unconfigured plugins stay quiet; real failures (5xx, network) now 
surface via the interceptor toast instead of being silently swallowed.
   - Same hook, second defect: any failed metadata GET used to be classified as 
"not configured" and offered as an empty editable `{}` — for a plugin whose 
fetch failed with a 500/network error, saving that would overwrite existing 
metadata. Non-404 failures are now excluded from the plugin map until the fetch 
succeeds.
   
   ## Verification
   
   - new regression e2e 
`e2e/tests/regression/plugin-metadata.no-false-404-toasts.spec.ts`: waits for 
the probe storm to settle, asserts **zero** `role=alert` toasts, and confirms 
the select-plugins drawer still offers plugins (404 = unconfigured still works)
   - existing `plugin_metadata.list.spec.ts` + 
`plugin_metadata.crud-required-fields.spec.ts` pass locally against a real 
APISIX
   - `pnpm lint` clean, `tsc -b` clean


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to