yml2213
|
52dcb18c96
|
perf(chat): 分页客服会话并拆分统计查询
|
2026-08-25 19:21:38 +08:00 |
|
yml2213
|
8f6356a3d7
|
fix(chat): 优化后台限流与 SSE 日志
|
2026-08-25 16:20:58 +08:00 |
|
yml2213
|
c91423a19b
|
修复冻结用户强制下线
|
2026-08-18 20:02:21 +08:00 |
|
 yml2213andClaude Opus 4.8
|
e75a39b03a
|
新增消息已读状态
复用 chat_participants.last_read_at 推导已读,无需新表/迁移。
- 后端:MessageDTO 增加 is_read,toMessageDTOs 按「全部已读」语义计算
(所有其他参与者均已读才算已读,1对1 即对方已读);MarkRead 成功后
推送 conversation_read 事件(含 reader 与 read_at),NotifyConversation
与 NotifyAllAdmins 双通道通知,使发送方/客服实时刷新已读
- 前端:ChatMessage 增加 is_read,ChatView/AdminChatsView/MobileChatView
在自己的消息下渲染「已读/未读」;收到 conversation_read 且本端仍有
未获回执的自己消息时才重载,避免无谓请求
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-06-16 22:22:05 +08:00 |
|
 yml2213andClaude Opus 4.8
|
cc1c0d33de
|
修复客服后台聊天无实时刷新
后台 token 仅存 httpOnly cookie,localStorage 无 access token,
useChatSSE 在空 token 时提前 return,导致后台 SSE 从未建立连接,
只有手动刷新才出消息。
- 前端:后台 SSE 不再因空 token 返回,去掉 query token,
改用 withCredentials 依赖 cookie 鉴权
- 后端:新增 Hub.NotifyAllAdmins,新消息与新会话广播给所有在线客服,
使「未分配 / 全部」视图实时刷新(参与者客服重复收到由前端按 id 去重)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
2026-06-16 19:57:58 +08:00 |
|
yml2213
|
a002987784
|
SSE 推送替代轮训
|
2026-05-27 06:18:55 +08:00 |
|