-
4d18a0e755
docs(plan): ④ 移除未用 chatChannel(避免 noUnusedLocals,WA 时再加)
浅念
2026-08-08 16:17:53 +08:00
-
18919f3401
docs(plan): CallList ④ 微信语音 单元格可点 实现计划
浅念
2026-08-08 16:15:50 +08:00
-
3a30a41ca1
docs(spec): ④ 收窄至微信语音(WA 未核实云客+列结构不同→后续,遵循浏览器优先)
浅念
2026-08-08 16:14:51 +08:00
-
f4f0855439
docs(spec): CallList 列内可点(④)设计(微信/WA语音单元格→聊天/详情,电话不动)
浅念
2026-08-08 16:12:07 +08:00
-
239f07e7a1
feat(chat): 页内日期选择器(跨会话持久)+ 关键词搜索(已加载页过滤)
浅念
2026-08-08 15:29:19 +08:00
-
8f166a9c18
feat(chat): ChatTimeline 双栏化(左会话列表)+ 路由可选参 + badge 账号级入口
浅念
2026-08-08 15:22:20 +08:00
-
394bfa8a7c
feat(chat): getSessions + ChatSidebar 会话列表组件
浅念
2026-08-08 15:13:30 +08:00
-
a418830a90
feat(api): /api/sessions 账号会话列表(好友+群,今日消息数+最近联系时间,全本地聚合)
浅念
2026-08-08 14:58:23 +08:00
-
4cb6cf50c4
docs(plan): step5 plan 评审修复(删 getMessages import + Task4 显式替换说明)
浅念
2026-08-08 14:53:39 +08:00
-
c6dbda3bec
docs(plan): ChatTimeline 会话列表 step5 实现计划(后端 /api/sessions + 双栏 + 选择器)
浅念
2026-08-08 14:47:49 +08:00
-
73fd9d0975
docs(spec): 修正 today_count 时区(钉死 UTC+8) + 日期选择器持久 ref 澄清
浅念
2026-08-08 14:44:58 +08:00
-
9311607bda
docs(spec): ChatTimeline 会话列表对齐云客(step 5)设计
浅念
2026-08-08 14:37:11 +08:00
-
cdbfe3e5da
fix(chat): 日期窗 start/end 成对透传(避免单边过滤)
浅念
2026-08-08 13:56:14 +08:00
-
765f80dd02
feat(chat): ChatTimeline 支持 start/end query 日期窗过滤(从 stat modal 带窗跳入)
浅念
2026-08-08 13:53:02 +08:00
-
7405ac5fc9
feat(staff): stat modal 列对齐云客(序号/员工信息/员工微信) + 客户微信可点带窗跳聊天
浅念
2026-08-08 13:46:59 +08:00
-
abe86489b9
docs(plan): stat modal Phase B 实现计划(列对齐 + 客户微信带窗跳聊天)
浅念
2026-08-08 13:41:53 +08:00
-
2a33f944ec
docs(spec): 微信员工 stat modal Phase B 设计(列对齐云客 + 客户微信→带窗聊天)
浅念
2026-08-08 13:12:13 +08:00
-
5fd9878c38
fix(staff): on-demand modal 拉取仅在日期窗未变时回写缓存
浅念
2026-08-07 18:58:30 +08:00
-
f51623d652
feat(staff): 微信 5 数字 modal 换本地数据源(metric 过滤 + 合成分页)
浅念
2026-08-07 18:52:07 +08:00
-
cab8ab95dc
fix(staff): loadWechatStats 加载竞态守卫(token)+ 重查时清空旧窗数字
浅念
2026-08-07 18:50:02 +08:00
-
876767cd68
feat(staff): StaffList 微信 5 数字改读本地 summary + 日期选择器(Phase A 接线)
浅念
2026-08-07 18:42:19 +08:00
-
628659b849
refactor(api): staff-chat-stats 确定性排序 + last_is_send=None 分支测试 + 类型标注
浅念
2026-08-07 18:37:26 +08:00
-
d2b2c0f5b3
feat(api): staff-chat-stats 聚合端点(微信员工 5 数字 + 客户明细,全本地 message)
浅念
2026-08-07 18:26:25 +08:00
-
f6c45e983a
docs(plan): 微信员工 5 数字 modal Phase A 实现计划(全本地 message 聚合)
浅念
2026-08-07 18:20:42 +08:00
-
c73d845874
docs(spec): 5 数字 modal spec——§8 索引表述与无 Alembic 对齐
浅念
2026-08-07 17:40:56 +08:00
-
faed2f586d
docs(spec): 5 数字 modal spec 修订——room_id 私聊过滤 + 分页适配 + handler 换源 + 无需 Alembic
浅念
2026-08-07 17:39:37 +08:00
-
78eea7f08f
docs(spec): 微信员工 5 数字 modal (Phase A) 设计——全本地消息聚合
浅念
2026-08-07 17:36:05 +08:00
-
05cc1dfcc4
feat(calls): 前端录音播放本地优先(/api/media/{hash}) + OSS 回退 + drawer
浅念
2026-08-07 16:55:49 +08:00
-
1578db3467
feat(api): PhoneCallOut 暴露 record_media_hash
浅念
2026-08-07 16:52:41 +08:00
-
b59e3cd9fe
chore(sync): Task 3 review fixes——删未用 import + module docstring 诚实化 + repr(exc) 一致 + 批处理 guard
浅念
2026-08-07 16:51:10 +08:00
-
38071e40ba
feat(sync): sync_call_recordings + ENTITY_FUNCS['call_recordings'] 独立下载 pass
浅念
2026-08-07 16:40:06 +08:00
-
1e399ff8c0
feat(scraper): download_call_recordings 下载通话录音到本地 Media + 回写 record_media_hash
浅念
2026-08-07 16:30:29 +08:00
-
8f70ac5220
feat(db): phone_call.record_media_hash 列 + 迁移(录音本地化 FK→Media)
浅念
2026-08-07 16:20:18 +08:00
-
90e614e2d7
docs(plan): 录音本地化 plan 修订——修复下载死循环 + 测试 session + WA v-if
浅念
2026-08-07 16:06:56 +08:00
-
a2f6b023fa
docs(plan): 录音批量本地化实现计划(6 task,TDD,复用 media 管道)
浅念
2026-08-07 15:59:46 +08:00
-
d3fd0a5425
docs(spec): 录音本地化 spec——drawer 播放也切本地 + media URL 约定 + sync 前提
浅念
2026-08-07 15:55:12 +08:00
-
f8a6acd009
docs(spec): 录音本地化 spec 修订——media_type='audio' 新label + store/session 接缝澄清
浅念
2026-08-07 15:22:08 +08:00
-
cd4ac5feb3
docs(spec): 录音批量本地化设计——复用现有 media 管道接线
浅念
2026-08-07 15:13:34 +08:00
-
334adcb712
docs(spec): 4c 设计修订——补 user_real_name API 参数 + 员工姓名筛选语义/播放/scaper 文件定稿
浅念
2026-08-07 14:36:50 +08:00
-
fd33e82d62
docs(spec): Plan 4c 设计——长语音列表(voice_clip)本地化 + 只读展示
浅念
2026-08-07 14:32:23 +08:00
-
81f5a31864
fix(calls): drawer callStatusLabel channel-aware + isRoom 按 是/否 渲染
浅念
2026-08-07 12:02:14 +08:00
-
7a5bb9927e
feat(calls): callStatusLabel channel-aware + callTypeLabel WA + 补 WA/微信语音字段 label
浅念
2026-08-07 11:54:38 +08:00
-
28d8448f62
feat(calls): 电话 tab 保留通用 8 列(按 channel 分离列集)
浅念
2026-08-07 11:09:47 +08:00
-
f8705cb741
feat(calls): WA 语音 tab 对齐云客列(状态/客户/员工/通话时间和录音)
浅念
2026-08-07 11:03:22 +08:00
-
f4dc115129
feat(calls): 微信语音 tab 对齐云客列(通话信息/客户/员工微信/员工信息/录音/时长)
浅念
2026-08-07 10:57:17 +08:00
-
ca3a2a2d3d
feat(calls): CallList 改 el-tabs(微信语音/WA 语音/电话)+ CallChannel 加 wa_voice_call
浅念
2026-08-07 10:50:38 +08:00
-
21c555a7e4
test: orchestrator voice sync skip/passthrough 路径覆盖
浅念
2026-08-07 09:57:34 +08:00
-
79b89bc919
fix(scraper): voice body 加 departmentId/isRoom/时间窗 + sync 解析 root department_id
浅念
2026-08-07 09:49:31 +08:00
-
18620870c6
feat(sync): sync_wa_voice_calls + scheduler ENTITY_FUNCS wa_voice_calls
浅念
2026-08-07 09:36:14 +08:00
-
169a64ee29
feat(scraper): WA 语音通话抓取 scrape_wa_voice_calls(callSource=4)
浅念
2026-08-07 09:26:16 +08:00
-
a66c3be00a
chore: final Minor polish — export filename/test断言, downloadBlob 类型/清理, plan docs
浅念
2026-08-06 18:06:17 +08:00
-
6dfed36c05
feat(groups): 微信群操作列加「导出HTML聊天记录」(补 Plan3 漏的操作)
浅念
2026-08-06 17:57:58 +08:00
-
d1475e8f42
feat(customers): 微信客户操作列加「导出HTML聊天记录」+ 时间选择
浅念
2026-08-06 17:52:15 +08:00
-
b63b71bf68
feat(staff): 微信员工明细 modal 内客户微信 → 聊天记录(二级操作)
浅念
2026-08-06 17:47:02 +08:00
-
6a30bef21b
feat(staff): 微信员工 主badge→聊天 + 员工姓名→drawer(纠正手机号误判)
浅念
2026-08-06 17:43:45 +08:00
-
b9055b5714
feat(staff): 微信员工及时回复 2 数字 → 明细 modal(回复率不可点)
浅念
2026-08-06 17:40:24 +08:00
-
c00522fc07
feat(staff): 微信员工沟通数 3 数字 → 明细 modal(补 Plan1 误判漏做的操作)
浅念
2026-08-06 17:37:08 +08:00
-
1368e3a471
feat(modal): YkStaffDetailModal Col 支持可选 onClick(单元格可点)
浅念
2026-08-06 17:32:05 +08:00
-
ebac26822b
feat(api): add downloadBlob helper for blob attachment download
浅念
2026-08-06 17:27:16 +08:00
-
d85bf64dde
feat(api): GET /api/export/chat-html — 导出 1:1/群聊天为 HTML
浅念
2026-08-06 17:19:46 +08:00
-
bfdb5852bb
feat(groups): align GroupList to 云客 — per-channel tabs, view-chat action
浅念
2026-08-06 11:14:00 +08:00
-
de08bd09c7
docs: Plan 3 — GroupList 对齐云客(采集 + TDD plan)
浅念
2026-08-06 11:11:37 +08:00
-
5d4a0c5901
feat(customers): align CustomerList to 云客 — per-channel tabs, 7 cols each, view-chat action
浅念
2026-08-06 10:19:14 +08:00
-
3507de55fa
feat(customerFields): add fromTypeLabel helper
浅念
2026-08-06 10:13:40 +08:00
-
c31d79f1e2
docs: Plan 2 — CustomerList 对齐云客(采集 + TDD plan)
浅念
2026-08-06 10:12:36 +08:00
-
20b01ab849
fix(staff): review fixes — CSS ellipsis, owner_account_id scoping, viewChat guard
浅念
2026-08-05 19:25:24 +08:00
-
5bf43fc67b
feat(staff): wechat stat-number/nickname → navigation
浅念
2026-08-05 19:15:05 +08:00
-
16149fd499
feat(staff): WhatsApp nickname → chat timeline
浅念
2026-08-05 19:09:24 +08:00
-
dfdd0595d2
feat(staff): action buttons → filtered customer/group list
浅念
2026-08-05 19:06:27 +08:00
-
02a709ba93
fix(staff): format time columns in detail modal
浅念
2026-08-05 18:58:06 +08:00
-
55578cf299
feat(staff): WhatsApp stat-number click → detail modal
浅念
2026-08-05 18:56:27 +08:00
-
8e79f80925
feat(ui): YkStaffDetailModal shared detail-modal component
浅念
2026-08-05 18:51:35 +08:00
-
635e1145b4
feat(api): customer query params user_id/add_time_since/last_chat_since
浅念
2026-08-05 18:50:14 +08:00
-
fef176bd90
feat(api): customer filters user_id / add_time_since / last_chat_since
浅念
2026-08-05 18:48:59 +08:00
-
8d7774b9f5
feat(scripts): backfill Customer.add_time from raw_json
浅念
2026-08-05 18:45:55 +08:00
-
8494d564ef
feat(scraper): map customer add_time from raw_json
浅念
2026-08-05 18:44:04 +08:00
-
b5733f15d2
feat(db): add Customer.add_time column + migration
浅念
2026-08-05 18:39:17 +08:00
-
9499110427
docs(plan): record wechat staff-list probe + adjust Task 8/9
浅念
2026-08-05 18:35:18 +08:00
-
1d815d84b9
docs: UI alignment spec + StaffList interaction plan
浅念
2026-08-05 18:30:12 +08:00
-
5336431025
feat(staff): align StaffList columns to 云客 backend
浅念
2026-08-05 18:30:12 +08:00
-
62dc663294
feat: employee page with channel tabs (WeChat/WhatsApp account lists)
浅念
2026-08-05 14:13:21 +08:00
-
df29dd027a
feat: scheduler + CLI + docker-compose + README
浅念
2026-08-05 12:11:29 +08:00
-
c8311bb496
fix: sanitize lone surrogate chars in stored data + backfill script
浅念
2026-08-05 11:57:12 +08:00
-
a92fa2927c
feat: full-text search (messages + customers)
浅念
2026-08-05 11:46:21 +08:00
-
8fde1d8597
fix: render chat media by URL (images/video/voice) instead of unknown-type placeholder
浅念
2026-08-05 10:23:01 +08:00
-
0d466c4e4a
feat: full-field display for group/call/sms (raw_json + drawers)
浅念
2026-08-05 10:12:49 +08:00
-
fd86adfb63
chore: seed chat messages for listed customers (seed_chats)
浅念
2026-08-05 09:54:40 +08:00
-
4bfaed4693
fix: parse WhatsApp lastUpdate datetime string to ms epoch
浅念
2026-08-01 17:58:00 +08:00
-
a57ed57616
fix: whatsapp businessFriendList needs page+departmentId+type
浅念
2026-08-01 17:53:26 +08:00
-
6ac47a1203
feat: full-field display for message/staff/accounts (raw_json + drawers)
浅念
2026-08-01 17:47:50 +08:00
-
e5af1a2bc2
feat: customer full-field display (raw_json + cloud-matching list + all-fields drawer)
浅念
2026-08-01 17:24:38 +08:00
-
0df53c6b1a
fix: wechat account scrape (form-data+dates) + frontend staff page
浅念
2026-08-01 17:11:17 +08:00
-
4dcfc66741
fix: drop source header (breaks msg/chats) + context-aware talker_id
浅念
2026-08-01 16:52:48 +08:00
-
b822e87d4d
feat: remaining frontend views (groups/calls/sms/sync) + messageout media fields
浅念
2026-08-01 16:38:47 +08:00
-
6c4cd92ae6
feat: vue3 frontend scaffold + org tree + customer list + chat timeline
浅念
2026-08-01 16:27:22 +08:00
-
ff7e9cb1d9
feat: backend read api for all entities (messages/groups/calls/sms/org/sync)
浅念
2026-08-01 16:15:40 +08:00
-
44d64dd237
feat: phone-call + sms scrapers
浅念
2026-08-01 15:59:25 +08:00
-
8a22fd9ff8
feat: whatsapp account/friend/message scrapers
浅念
2026-08-01 15:48:03 +08:00
-
2508b5aec1
fix: live-validation fixes (list-coercion, .env session loading, smoke summary)
浅念
2026-08-01 15:23:43 +08:00
-
46e3880c0b
feat: anti-risk-control stealth layer (browser headers, jittered throttle, backoff, volume cap)
浅念
2026-08-01 14:51:46 +08:00