From ecc9f26f443fc90399a32229cbb4e93b51984e2d Mon Sep 17 00:00:00 2001 From: rayhpeng Date: Thu, 23 Jul 2026 15:46:01 +0800 Subject: [PATCH] fix(frontend): sync feedback test assertion and format dialog buildVisibleHistoryMessages now carries feedback onto each flattened message (c9e6aa83). Update the superseded-runs test to expect the new feedback: null field, and apply Prettier line wrapping to feedback-dialog.tsx so the format check passes. Co-Authored-By: Claude Opus 4.8 --- .../src/components/workspace/messages/feedback-dialog.tsx | 8 ++++++-- frontend/tests/unit/core/threads/message-merge.test.ts | 7 ++++--- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/frontend/src/components/workspace/messages/feedback-dialog.tsx b/frontend/src/components/workspace/messages/feedback-dialog.tsx index 4ca8a740c..a5605fbe0 100644 --- a/frontend/src/components/workspace/messages/feedback-dialog.tsx +++ b/frontend/src/components/workspace/messages/feedback-dialog.tsx @@ -17,7 +17,10 @@ import { import { Textarea } from "../../ui/textarea"; /** Maps language-neutral tag slugs to their i18n label keys. */ -const TAG_LABEL_KEYS: Record = { +const TAG_LABEL_KEYS: Record< + FeedbackTagSlug, + "incorrect" | "notAsExpected" | "slow" | "styleTone" | "safetyLegal" | "other" +> = { incorrect: "incorrect", not_as_expected: "notAsExpected", slow: "slow", @@ -58,7 +61,8 @@ export function FeedbackDialog({ }); }; - const canSubmit = (selected.size > 0 || comment.trim().length > 0) && !isSubmitting; + const canSubmit = + (selected.size > 0 || comment.trim().length > 0) && !isSubmitting; const handleSubmit = async () => { if (!canSubmit) return; diff --git a/frontend/tests/unit/core/threads/message-merge.test.ts b/frontend/tests/unit/core/threads/message-merge.test.ts index 470aa2c42..29a4f11ac 100644 --- a/frontend/tests/unit/core/threads/message-merge.test.ts +++ b/frontend/tests/unit/core/threads/message-merge.test.ts @@ -611,10 +611,11 @@ test("buildVisibleHistoryMessages filters superseded runs but keeps regenerated ]; // run_id is carried onto each content message (#3779) so historical subtask - // cards can fetch their persisted step history on expand. + // cards can fetch their persisted step history on expand. feedback is carried + // the same way so thumb state survives the RunMessage->Message flatten. expect(buildVisibleHistoryMessages(rows, new Set(["run-old"]))).toEqual([ - { ...newHuman, run_id: "run-new" }, - { ...newAi, run_id: "run-new" }, + { ...newHuman, run_id: "run-new", feedback: null }, + { ...newAi, run_id: "run-new", feedback: null }, ]); });