 Rogeeandrogee
|
4204ae6a3a
|
HH-581: restore WebChannel status and reply visibility (#145)
* fix(realtime): normalize web channel status events (HH-581)
* fix(realtime): resolve legacy widget tokens safely (HH-581)
---------
Co-authored-by: Rogee <rogee@ipao.vip>
|
2026-08-24 08:06:56 +08:00 |
|
 Rogeeandrogee
|
60a6ac4785
|
fix: restore web widget realtime replies (HH-556) (#136)
* fix: restore web widget realtime replies (HH-556)
* fix: make realtime delivery durable (HH-556)
* fix: make realtime message outbox atomic (HH-556)
---------
Co-authored-by: Rogee <rogee@ipao.vip>
|
2026-08-23 22:35:10 +08:00 |
|
 Rogeeandrogee
|
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 |
|
 Rogeeandrogee
|
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 |
|
 Rogeeandrogee
|
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 |
|
 Rogeeandrogee
|
3d9817c9f5
|
H-337: fix Web Channel availability and realtime delivery (#60)
* H-337: fix Web Channel availability and realtime delivery
* fix(widget): preserve realtime sender and activity contracts
* fix(widget): keep realtime sender payloads consistent
* fix(widget): make public message persistence atomic
* fix(inbox): keep availability projection out of schema
---------
Co-authored-by: Rogee <rogee@ipao.vip>
|
2026-08-20 14:30:05 +08:00 |
|
 Rogeeandrogee
|
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 |
|
 Rogeeandrogee
|
0540ae3791
|
H-55: make Captain bindings atomic (#9)
Co-authored-by: Rogee <rogee@ipao.vip>
|
2026-08-13 16:24:39 +08:00 |
|
 Rogeeandrogee
|
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 |
|
 Rogeeandrogee
|
d0995798f4
|
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>
|
2026-08-13 01:26:56 +08:00 |
|
 Rogeeandrogee
|
0e9bf8dc14
|
fix(shangwutong): close contact sync review gaps (#4)
Co-authored-by: Rogee <rogee@ipao.vip>
|
2026-08-13 01:21:07 +08:00 |
|
 Rogeeandrogee
|
406e7a07fe
|
feat(shangwutong): sync customer names back to channel (#3)
Co-authored-by: Rogee <rogee@ipao.vip>
|
2026-08-12 22:58:46 +08:00 |
|
Rogee
|
b78f963472
|
chore: 提交剩余开发改动
包含商务通消息映射、会话时间与未读状态、前端消息展示、数据库修复迁移、测试覆盖备份及 Captain 设计文档。
|
2026-08-06 10:10:25 +08:00 |
|
Rogee
|
96f5c796a6
|
fix: widget SDK无法加载的三个问题
1. Vite proxy缺少/widget转发 — SDK调用/widget/init等API时被SPA fallback
拦截返回HTML。添加/widget proxy并bypass HTML页面请求到/widget.html。
2. ParseWebWidgetConfig类型不匹配 — seed数据中channel_config JSON的
"continuity_via_email":""是空字符串,但Go结构体字段是bool,
json.Unmarshal报UnmarshalTypeError导致整个config解析失败,
findInboxByWebsiteToken跳过该inbox。容忍类型不匹配错误,
只对JSON语法错误返回error。
3. dev模式SDK bundle不可用 — /sdk/js/sdk.js在Vite dev模式下无构建产物,
被SPA fallback返回HTML。构建SDK后放入public/供dev server静态提供。
|
2026-08-01 22:59:57 +08:00 |
|
Rogee
|
9816848ca2
|
fix: Web Widget SDK + Auto-Reply AgentBot sender + LLM 真实模型对接
## 核心修复
### 1. Auto-Reply Sender 修复(所有渠道)
- AutoReplyListener.sendAutoReply() 通过 botInboxRepo 查询 inbox 关联的 AgentBot
- 使用正确的 SenderType="AgentBot"(非小写 agent_bot)传递真实 AgentBot ID
- bootstrap 注入 agentBotInboxRepo/agentBotRepo 依赖
### 2. 事件数据 BUG 修复(影响所有 Webhook 渠道)
- incoming_persister.dispatch(): 补全 sender_type/content 到 event.Data
- channel/webhook.go: HandleWebhook 同步分发也补全 sender_type/content
- 未补全前 AutoReplyListener 找不到字段直接跳过
### 3. Web Widget SDK 生产验证修复
- cookie → localStorage token 同步(frontend/index.html)
- 路由双注册修复(router.go)
- Vite SPA 模式 + /widget 重写(vite.config.ts)
- WidgetService 注入 Dispatcher 触发事件分发
### 4. LLM 真实模型对接
- 配置 deepseek-v4-flash @ http://10.58.144.6:2014/v1
- LLM-mode auto-reply 规则创建并验证通过
- Prompt 文档落地: docs/captain-ai-auto-replay-prompt.md
### 5. 新增基础设施
- Helm chart (deploy/helm/)
- Widget SDK 生产测试页面
- QA 报告
Closes: BUG-W2 (auth sync), BUG-W3 (route double-reg),
BUG-WEBHOOK-EVENT (missing event data fields)
|
2026-07-28 14:03:19 +08:00 |
|
rogee
|
aeddedf2a3
|
Reorganize repo: backend/, deploy/, docs/ layout + AGENTS.md
Restructure the monorepo into clear top-level directories:
- backend/: Go module root (cmd, internal, pkg, configs, migrations,
docs/swagger, scripts, tests, go.mod, Makefile, .air.toml)
- deploy/: Docker (Dockerfile, docker-compose*), quickstart, fluentd
- docs/: project documentation + reports/ (moved from repo root)
- AGENTS.md: new AI coding-agent guide at repo root
Update all references to the new layout:
- Dockerfile: COPY backend/go.mod, COPY backend/ (context = repo root)
- docker-compose files: context ../.., dockerfile deploy/docker/Dockerfile,
env_file ../../.env, volume mounts ../../backend:/app
- deploy/quickstart/compose.yaml: dockerfile deploy/docker/Dockerfile
- CI: working-directory: backend for go commands, file deploy/docker/Dockerfile,
coverage path backend/coverage.out, health_check backend/scripts/
- backend/Makefile: docker target uses -f ../deploy/docker/Dockerfile ../
- README: architecture tree, quickstart, config paths updated
Move root stray scripts (rename_models.*, run_m11_tests.sh, verify_build.sh,
gorm_bool_main.go) to backend/scripts/legacy/. All moves via git mv to
preserve history. Build, vet, SQLite tests, and docker compose config verified.
|
2026-07-07 14:44:12 +08:00 |
|