tju-yxq opened a new pull request, #5405:
URL: https://github.com/apache/rocketmq-dashboard/pull/5405
### Which Issue(s) This PR Fixes
- Fixes #5404
### Brief Description
Replaces the certificate page's single `deletingId` slot with a per-id Set
behind a synchronous ref guard — the repository's row-action idiom (mirroring
`AlertRuleAssetList`'s `exportingNames`): concurrent deletes of different
certificates keep independent spinners, and a repeated confirmation for a row
whose delete is already pending is a no-op. The old slot let a second delete
steal the first row's spinner (re-enabling its button mid-request) and let the
first handler's `finally` clear the second row's spinner.
### How Did You Test This Change?
```
cd web && npm test -- K8sCertsPage.test.tsx --run
Test Files 1 passed (1)
Tests 11 passed (11)
```
One new test holds both deletes pending (deferred promises) and asserts,
with the second delete started mid-flight: both rows render `ant-btn-loading`
simultaneously — the exact state the single slot broke — and resolving both
removes both rows. The ten existing tests (single delete flow, create modal,
list rendering and error surfaces) pass unchanged.
```
cd web && npm run lint
✖ 10 problems (0 errors, 10 warnings) # the trunk baseline
```
```
cd web && npx tsc -b --force
(no output — exit 0)
```
### Checklist
- [x] One coherent change; unrelated modifications are not bundled in
- [x] Commit subject follows Conventional Commits
- [x] Tests added or updated for non-trivial changes, test methods named
`...Test`
- [x] New UI text has both Chinese and English entries under `web/src/i18n/`
(no new UI text)
- [x] Architecture constraints stay green (`mvn test` runs the ArchUnit
checks) (no Java changes)
- [x] New source files carry the ASF license header (no new source files)
- [ ] Documentation touched where behaviour changed (guard only)
--
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]