Rogee and rogee
49559d6ce1
HH-606: cover soft-deleted inbox assistants ( #162 )
...
* test(HH-606): cover soft-deleted inbox assistants
* test(HH-606): bind soft-deleted inbox to persisted assistant
---------
Co-authored-by: Rogee <rogee@ipao.vip >
2026-08-24 14:00:17 +08:00
Rogee and rogee
a30eff4f3b
test(HH-605): lock widget viewport layout ( #161 )
...
Co-authored-by: Rogee <rogee@ipao.vip >
2026-08-24 13:24:44 +08:00
Rogee and rogee
a7e96afef4
HH-598: hide unavailable AI takeover ( #155 )
...
* fix(HH-598): hide unavailable AI takeover
* fix: isolate inbox assistant availability
---------
Co-authored-by: Rogee <rogee@ipao.vip >
2026-08-24 12:49:46 +08:00
Rogee and rogee
907d8ea4e1
fix(widget): constrain conversation scroll viewport ( #160 )
...
Co-authored-by: Rogee <rogee@ipao.vip >
2026-08-24 12:35:35 +08:00
Rogee and rogee
92ace6b041
test(HH-592): cover realtime timestamp boundaries ( #153 )
...
Co-authored-by: Rogee <rogee@ipao.vip >
2026-08-24 11:13:53 +08:00
Rogee and rogee
2c6bee2b37
fix(HH-581): keep widget websocket on visitor auth ( #152 )
...
Co-authored-by: Rogee <rogee@ipao.vip >
2026-08-24 10:54:38 +08:00
Rogee and rogee
c4ac664deb
fix(HH-590): define realtime timestamp range ( #151 )
...
Co-authored-by: Rogee <rogee@ipao.vip >
2026-08-24 10:44:23 +08:00
Rogee and rogee
b981cc6811
fix(HH-576): normalize realtime message timestamps ( #148 )
...
Co-authored-by: Rogee <rogee@ipao.vip >
2026-08-24 10:16:22 +08:00
Rogee and rogee
eda4889d85
HH-549: serve the default favicon ( #147 )
...
* chore(agent): baseline — uncommitted work from the local directory
* HH-549: serve the default favicon
* Revert "chore(agent): baseline — uncommitted work from the local directory"
This reverts commit 4a3fabe624bfdc52bf935b62cb9871b7de9b3083.
---------
Co-authored-by: Rogee <rogee@ipao.vip >
2026-08-24 10:09:24 +08:00
Rogee and rogee
84a1e35294
HH-569: guard replayed frontend realtime messages ( #144 )
...
* fix(HH-569): guard replayed realtime messages
* fix(HH-569): gate dashboard message side effects
---------
Co-authored-by: Rogee <rogee@ipao.vip >
2026-08-24 00:42:05 +08:00
Rogee and rogee
88ac30d0b8
test(HH-558): complete WebChannel sender display regression matrix ( #141 )
...
* chore(agent): baseline — uncommitted work from the local directory
* test(HH-558): cover widget sender display matrix
---------
Co-authored-by: Rogee <rogee@ipao.vip >
2026-08-24 00:16:38 +08:00
Rogee and rogee
cb0b554e94
HH-555: remove advanced assignment commercial gate ( #138 )
...
* fix(HH-555): remove advanced assignment paywall
* fix(HH-555): gate assignment entries with assignment v2
---------
Co-authored-by: Rogee <rogee@ipao.vip >
2026-08-23 23:19:51 +08:00
Rogee and rogee
35727be51a
HH-560: localize upstream activity messages ( #137 )
...
* fix(HH-560): localize upstream activity messages
* fix(HH-560): preserve unknown activity content
---------
Co-authored-by: Rogee <rogee@ipao.vip >
2026-08-23 22:11:00 +08:00
Rogee and rogee
1b5ea7c227
HH-551: localize activity messages ( #132 )
...
* fix(HH-551): localize activity messages
* fix(HH-551): handle null activity content
---------
Co-authored-by: Rogee <rogee@ipao.vip >
2026-08-23 21:21:44 +08:00
Rogee and rogee
e41d40feb8
HH-546: flatten conversation AI actions ( #128 )
...
* fix(HH-546): flatten conversation AI actions
* fix(HH-546): wrap AI actions on narrow screens
---------
Co-authored-by: Rogee <rogee@ipao.vip >
2026-08-23 21:16:19 +08:00
Rogee and rogee
acf53be827
fix(HH-552): hide bot fallback from widget replies ( #131 )
...
Co-authored-by: Rogee <rogee@ipao.vip >
2026-08-23 20:59:10 +08:00
Rogee and rogee
e11f478c1a
fix(HH-550): scope assignment upgrade prompts to cloud ( #129 )
...
Co-authored-by: Rogee <rogee@ipao.vip >
2026-08-23 20:38:01 +08:00
Rogee and rogee
eb83d241fe
HH-547: allow cross-origin widget requests ( #126 )
...
* HH-547: allow cross-origin widget requests
* fix(HH-547): align production preflight with wildcard CORS
---------
Co-authored-by: Rogee <rogee@ipao.vip >
2026-08-23 20:11:04 +08:00
Rogee and rogee
a2e4f9a1e8
HH-540: scope iframe policy to Widget page ( #123 )
...
* fix(HH-540): scope iframe policy to widget page
* fix(HH-540): reject non-string allowed domains
---------
Co-authored-by: Rogee <rogee@ipao.vip >
2026-08-23 18:37:08 +08:00
Rogee and rogee
867092fd99
HH-530: replace user-facing Chatwoot branding with GoChat ( #117 )
...
* fix(HH-530): replace user-facing Chatwoot branding
* fix(HH-530): close branding review blockers
* test(HH-530): cover update banner binding
---------
Co-authored-by: Rogee <rogee@ipao.vip >
2026-08-23 18:14:02 +08:00
Rogee and rogee
a635be6dc8
HH-531: remove CSP-blocked draggable shim ( #122 )
...
Co-authored-by: Rogee <rogee@ipao.vip >
2026-08-23 17:48:30 +08:00
Rogee and rogee
f719529d66
fix(security): harden auth and secret handling (HH-444) ( #101 )
...
* fix(security): harden auth and credential handling (HH-444)
* fix(security): address HH-444 review blockers
* fix(security): close remaining HH-444 review blockers
---------
Co-authored-by: Rogee <rogee@ipao.vip >
2026-08-22 15:45:06 +08:00
Rogee and rogee
02a188dc29
HH-443: establish production CI and supply-chain evidence ( #93 )
...
* ci: enforce production release gates
* ci: close release gate review blockers
* ci: preserve verified digests during promotion
* ci: serialize and verify release cleanup
* ci: build govulncheck with Shangwutong toolchain
---------
Co-authored-by: Rogee <rogee@ipao.vip >
2026-08-22 03:26:38 +08:00
Rogee and rogee
46d63245a1
HH-424: clean up Vite build warnings ( #80 )
...
Co-authored-by: Rogee <rogee@ipao.vip >
2026-08-21 15:06:05 +08:00
Rogee and rogee
e665abbfb8
H-417: include frontend TypeScript in format checks ( #78 )
...
Co-authored-by: Rogee <rogee@ipao.vip >
2026-08-21 14:37:23 +08:00
Rogee and rogee
b971b09ac7
H-409: restore frontend ESLint and Prettier baseline ( #72 )
...
* H-409: restore frontend lint baseline
* ci(H-409): check representative frontend lint
---------
Co-authored-by: Rogee <rogee@ipao.vip >
2026-08-21 14:11:08 +08:00
Rogee and rogee
038f185b57
H-392: surface Captain playground failures ( #66 )
...
Co-authored-by: Rogee <rogee@ipao.vip >
2026-08-21 13:01:13 +08:00
Rogee and rogee
b31b1b9562
H-337: restore Web widget reply visibility ( #64 )
...
* H-337: restore widget reply delivery
* H-337: harden widget conversation ownership
---------
Co-authored-by: Rogee <rogee@ipao.vip >
2026-08-20 22:22:27 +08:00
Rogee and rogee
abb1bed424
H-337: add local Captain acceptance fixture ( #63 )
...
* H-337: add local Captain acceptance fixture
* fix(H-337): close acceptance fixture review gaps
* fix(H-337): reject non-string skill metadata
---------
Co-authored-by: Rogee <rogee@ipao.vip >
2026-08-20 20:05:40 +08:00
Rogee and rogee
6c78820a1f
H-338: close H-335 release blockers ( #59 )
...
* H-16: align takeover with channel AI workflow (#2 )
* feat(conversations): complete manual AI takeover
* fix(conversations): align AI takeover flow with channel AI
* fix(conversations): close takeover review gaps
---------
Co-authored-by: Rogee <rogee@ipao.vip >
* feat(shangwutong): sync customer names back to channel (#3 )
Co-authored-by: Rogee <rogee@ipao.vip >
* fix(shangwutong): close contact sync review gaps (#4 )
Co-authored-by: Rogee <rogee@ipao.vip >
* H-28: harden Shangwutong CID sync (#5 )
* fix(shangwutong): close contact sync review gaps
* fix(shangwutong): harden CID sync boundaries
---------
Co-authored-by: Rogee <rogee@ipao.vip >
* fix(conversations): sync AI takeover exit in realtime (#6 )
Co-authored-by: Rogee <rogee@ipao.vip >
* test(shangwutong): cover CID rename reliability (#7 )
Co-authored-by: Rogee <rogee@ipao.vip >
* H-43: fix WEB Captain takeover E2E flow (#8 )
* test(shangwutong): cover CID rename reliability
* H-43: fix WEB Captain takeover flow
* H-48: preserve compatible provider model
* H-49: make Captain takeover atomic
* H-50: prevent duplicate widget initialization
---------
Co-authored-by: Rogee <rogee@ipao.vip >
* H-55: make Captain bindings atomic (#9 )
Co-authored-by: Rogee <rogee@ipao.vip >
* H-60: harden Captain migration rollback and concurrency
* chore(agent): baseline — uncommitted work from the local directory
* H-335: add safe Captain skills and user deactivation
* H-338: close auth and Captain review blockers
* H-338: close assignment and session races
* H-338: close assignment and websocket invalidation gaps
* H-338: enforce assignment write invariants
---------
Co-authored-by: Rogee <rogee@ipao.vip >
2026-08-20 10:21:19 +08:00
Rogee and rogee
1d8145f3b5
H-332: remove committed runtime artifacts ( #58 )
...
* H-332: remove committed runtime artifacts
* H-332: remove nested Playwright artifact
---------
Co-authored-by: Rogee <rogee@ipao.vip >
2026-08-19 21:11:46 +08:00
Rogee and rogee
6e582c767c
H-296: cover stale Captain Skills list errors ( #52 )
...
* test: cover stale captain skill list errors
* test: flush stale skill request rejection
---------
Co-authored-by: Rogee <rogee@ipao.vip >
2026-08-19 20:24:10 +08:00
Rogee and rogee
c61b533ce2
H-313: move pnpm overrides to workspace root ( #49 )
...
* H-313: move pnpm overrides to workspace root
* H-313: align vite-node override with lockfile
---------
Co-authored-by: Rogee <rogee@ipao.vip >
2026-08-19 17:55:00 +08:00
Rogee and rogee
2b182f9956
H-300: wire Captain Skills into Web runtime ( #48 )
...
* H-300: wire Captain Skills into Web runtime
* H-300: enforce effective model and conservative skill budget
* H-300: fix CI gosec step
* ci: extend golangci-lint timeout
* fix lint findings across backend
* fix(push): resolve delivery protocol blockers
* test(repository): close SQLite test databases
* test(repository): reuse SQLite schema per package
* H-307: restore backend Go cache in CI
* H-307: prefetch modules before cold lint
* H-307: resolve govulncheck security gate
* H-307: build lint with patched Go toolchain
* H-307: clear remaining security scan findings
---------
Co-authored-by: Rogee <rogee@ipao.vip >
2026-08-19 07:08:14 +08:00
Rogee and rogee
f50eacdc92
H-289: add Captain Skill management UI ( #47 )
...
* H-289: add Captain Skill management UI
* H-289: guard Captain Skill assistant switches
---------
Co-authored-by: Rogee <rogee@ipao.vip >
2026-08-18 15:34:26 +08:00
Rogee and rogee
21a9a6793d
H-162: serve built frontend from Go image ( #34 )
...
Co-authored-by: Rogee <rogee@ipao.vip >
2026-08-15 20:49:26 +08:00
Rogee and rogee
74eb006985
H-43: fix WEB Captain takeover E2E flow ( #8 )
...
* test(shangwutong): cover CID rename reliability
* H-43: fix WEB Captain takeover flow
* H-48: preserve compatible provider model
* H-49: make Captain takeover atomic
* H-50: prevent duplicate widget initialization
---------
Co-authored-by: Rogee <rogee@ipao.vip >
2026-08-13 14:49:04 +08:00
Rogee and rogee
0555b296cc
fix(conversations): sync AI takeover exit in realtime ( #6 )
...
Co-authored-by: Rogee <rogee@ipao.vip >
2026-08-13 01:28:31 +08:00
Rogee and rogee
83a8ab315a
H-16: align takeover with channel AI workflow ( #2 )
...
* feat(conversations): complete manual AI takeover
* fix(conversations): align AI takeover flow with channel AI
* fix(conversations): close takeover review gaps
---------
Co-authored-by: Rogee <rogee@ipao.vip >
2026-08-12 22:57:06 +08:00
rogee
4bf6ba6b20
feat(conversations): complete manual AI takeover
2026-08-12 21:16:49 +08:00
Rogee
4be52e05c7
fix: 收紧客服功能访问权限
2026-08-08 20:28:18 +08:00
Rogee
dcfd4b4b9d
fix: 修复系统消息长链接溢出
2026-08-08 19:54:06 +08:00
Rogee
518f9c5d6b
fix: 修复客服权限与收件箱配置问题
2026-08-08 19:52:18 +08:00
Rogee
5c47d1d5fe
fix(shangwutong): 完善访客资料同步
2026-08-06 15:14:32 +08:00
Rogee
3bceb2d0b2
fix(conversations): 优化列表时间显示
2026-08-06 11:31:14 +08:00
Rogee
8d002d1dbe
fix(conversations): 修复会话标识与解决后跳转
2026-08-06 11:19:39 +08:00
Rogee
b78f963472
chore: 提交剩余开发改动
...
包含商务通消息映射、会话时间与未读状态、前端消息展示、数据库修复迁移、测试覆盖备份及 Captain 设计文档。
2026-08-06 10:10:25 +08:00
Rogee
8f2cc12628
fix(conversations): 修复状态切换与历史会话路由
...
- 处理历史主键与 display_id 冲突,确保消息和状态操作命中同一会话
- 允许已软删除收件箱中的历史会话切换状态
- 解决会话后自动打开列表中的相邻会话
2026-08-06 10:08:05 +08:00
Rogee
3d7ff5a6b1
chore: complete Shangwutong connector integration
2026-08-04 18:00:10 +08:00
rogee
897b4e018f
feat(channels): add Shangwutong connector
2026-08-03 10:13:40 +08:00