From 4c8414488f34d90dc23da0cb84b4e7ce14801b73 Mon Sep 17 00:00:00 2001
From: DragonnZhang <731557579@qq.com>
Date: Fri, 23 Jan 2026 18:35:05 +0800
Subject: [PATCH] refactor: reorder feedback options and improve dialog
feedback timestamp handling
---
packages/cli/src/ui/FeedbackDialog.tsx | 22 +++++++++----------
.../cli/src/ui/hooks/useFeedbackDialog.ts | 18 +++++++--------
2 files changed, 20 insertions(+), 20 deletions(-)
diff --git a/packages/cli/src/ui/FeedbackDialog.tsx b/packages/cli/src/ui/FeedbackDialog.tsx
index ec2bf3c40..6482e1592 100644
--- a/packages/cli/src/ui/FeedbackDialog.tsx
+++ b/packages/cli/src/ui/FeedbackDialog.tsx
@@ -6,16 +6,16 @@ import { useUIState } from './contexts/UIStateContext.js';
import { useKeypress } from './hooks/useKeypress.js';
export const FEEDBACK_OPTIONS = {
- BAD: 1,
- FINE: 2,
- GOOD: 3,
+ GOOD: 1,
+ BAD: 2,
+ FINE: 3,
DISMISS: 0,
} as const;
const FEEDBACK_OPTION_KEYS = {
- [FEEDBACK_OPTIONS.BAD]: '1',
- [FEEDBACK_OPTIONS.FINE]: '2',
- [FEEDBACK_OPTIONS.GOOD]: '3',
+ [FEEDBACK_OPTIONS.GOOD]: '1',
+ [FEEDBACK_OPTIONS.BAD]: '2',
+ [FEEDBACK_OPTIONS.FINE]: '3',
[FEEDBACK_OPTIONS.DISMISS]: '0',
} as const;
@@ -51,6 +51,11 @@ export const FeedbackDialog: React.FC = () => {
{t('How is Qwen doing this session? (optional)')}
+
+ {FEEDBACK_OPTION_KEYS[FEEDBACK_OPTIONS.GOOD]}:{' '}
+
+ {t('Good')}
+
{FEEDBACK_OPTION_KEYS[FEEDBACK_OPTIONS.BAD]}:
{t('Bad')}
@@ -59,11 +64,6 @@ export const FeedbackDialog: React.FC = () => {
{t('Fine')}
-
- {FEEDBACK_OPTION_KEYS[FEEDBACK_OPTIONS.GOOD]}:{' '}
-
- {t('Good')}
-
{FEEDBACK_OPTION_KEYS[FEEDBACK_OPTIONS.DISMISS]}:{' '}
diff --git a/packages/cli/src/ui/hooks/useFeedbackDialog.ts b/packages/cli/src/ui/hooks/useFeedbackDialog.ts
index 432d6d15a..281d57ea2 100644
--- a/packages/cli/src/ui/hooks/useFeedbackDialog.ts
+++ b/packages/cli/src/ui/hooks/useFeedbackDialog.ts
@@ -116,9 +116,9 @@ export const useFeedbackDialog = ({
const submitFeedback = useCallback(
(rating: number) => {
- // Only create and log feedback event for ratings 1-3 (BAD, FINE, GOOD)
+ // Only create and log feedback event for ratings 1-3 (GOOD, BAD, FINE)
// Rating 0 (DISMISS) should not trigger any telemetry
- if (rating >= FEEDBACK_OPTIONS.BAD && rating <= FEEDBACK_OPTIONS.GOOD) {
+ if (rating >= FEEDBACK_OPTIONS.GOOD && rating <= FEEDBACK_OPTIONS.FINE) {
const feedbackEvent = new UserFeedbackEvent(
sessionStats.sessionId,
rating as UserFeedbackRating,
@@ -127,15 +127,15 @@ export const useFeedbackDialog = ({
);
logUserFeedback(config, feedbackEvent);
-
- // Record the timestamp when feedback dialog is submitted
- settings.setValue(
- SettingScope.User,
- 'ui.feedbackLastShownTimestamp',
- Date.now(),
- );
}
+ // Record the timestamp when feedback dialog is submitted
+ settings.setValue(
+ SettingScope.User,
+ 'ui.feedbackLastShownTimestamp',
+ Date.now(),
+ );
+
closeFeedbackDialog();
},
[closeFeedbackDialog, sessionStats.sessionId, config, settings],