8000 fix(eval): delete current eval cases independently of tab mounting by Aaravkhanal · Pull Request #563 · google/adk-web · GitHub
[go: up one dir, main page]

Skip to content

fix(eval): delete current eval cases independently of tab mounting - #563

Open
Aaravkhanal wants to merge 1 commit into
google:mainfrom
Aaravkhanal:codex/fix-eval-case-deletion
Open

Aaravkhanal wants to merge 1 commit into
google:mainfrom
Aaravkhanal:codex/fix-eval-case-deletion

Conversation

@Aaravkhanal
@Aaravkhanal Aaravkhanal commented Nov 6, 2026 •
Copy link
Copy Markdown
Contributor

Fixes #547.

Deleting the current eval case could show “Eval case deleted” without making a DELETE request: ChatComponent queried EvalTabComponent directly, but the tab is owned and dynamically created by SidePanelComponent.

The detail-view action now calls EvalService with the app, eval set, and case captured when confirmation opens. It shows success only after the DELETE succeeds, and reports failure while preserving the case when the request fails. After success, it clears the deleted detail view and asks the side panel to refresh its matching eval tab. The refresh uses the existing post-fetch table update and next-case selection logic; the redundant pre-fetch detectChanges call is removed. A different selected case or eval set is preserved.

Validation:

  • Before the fix, the request/success-timing and failure-feedback regression tests fail (137 existing/cancellation tests pass).
  • All 180 tests across ChatComponent, SidePanelComponent, and EvalTabComponent pass in ChromeHeadless.
  • Regression coverage includes confirmation cancellation, delayed success, failure, changing the selected case while waiting, dynamically created/missing tabs, eval-set mismatch, and asynchronously refreshed table data.
  • npm run build passes with existing dependency/bundle warnings.
  • git diff --check passes.

No live backend/browser end-to-end test was run. PR #390 changes snackbar styling but retains the original optional deletion call; this PR fixes the request and success timing. I also saw the issue reporter’s comment about a prepared fix; I found no published competing PR when checking and am happy to coordinate if one is already in progress.

Live verification finding

Started this branch with a local google-adk 2.14.0 backend and a disposable eval set. The eval set and detail view load, but the current ChatComponent template has no binding to deleteEvalCase(). The visible eval-list delete action calls EvalTabComponent instead. Consequently this PR's chat-handler fix is unit-tested but has not been exercised through a user-accessible detail-view delete button. This is a material validation gap: the missing detail action/wiring needs resolving before claiming the reported workflow is fixed end-to-end.

< 92B4 circle cx="8" cy="8" r="7" stroke="currentColor" stroke-opacity="0.25" stroke-width="2" vector-effect="non-scaling-stroke" fill="none">

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Bug] Delete Eval Case shows "Eval case deleted" snackbar but HTTP DELETE is never called when evalTab() signal is null

1 participant

0