# Proposal: Fix Chat UX Issues ## Status: DRAFT ## Why 使用者回報三個影響使用體驗的問題: 1. **聊天室無法辨識發文者**:訊息只顯示 email (sender_id),無法快速識別是誰發的,不像 LINE 等通訊軟體會顯示使用者名稱。 2. **時間顯示錯誤**:系統使用 UTC 時間,但使用者期望看到 GMT+8 (台灣時間)。目前前端依賴瀏覽器 locale,可能導致不同使用者看到不同時區的時間。 3. **AI 報告生成卡住**:點擊生成報告後一直停在「準備中」狀態,沒有進一步的回應或錯誤訊息。 ## What Changes ### 1. 發文者顯示名稱 - 後端 API 在回傳訊息時加入 `sender_display_name` 欄位 - 從 `tr_users` 表格 JOIN 取得 display_name - 前端顯示 display_name 而非 sender_id ### 2. 統一時區為 GMT+8 - 前端建立時間格式化工具函數,統一轉換為 GMT+8 - 所有時間顯示使用該工具函數 - 後端維持 UTC 儲存(國際標準做法) ### 3. AI 報告生成問題修復 - 新增 DIFY API 連線測試端點 - 啟動時檢查 DIFY_API_KEY 是否設定 - 改善錯誤訊息顯示 - 前端新增輪詢機制確保狀態更新 ## Impact - **低風險**:不影響現有資料結構,僅新增欄位和修改顯示邏輯 - **向後相容**:sender_display_name 為選填欄位,舊訊息會 fallback 顯示 sender_id - **效能影響極小**:只增加一個 LEFT JOIN 查詢