rogee
a0c6969da0
fix(frontend): preserve timeout label success toast
Build and publish Docker images / Build and publish images (push) Successful in 2m21s
2026-09-16 09:45:52 +08:00
rogee
5a0e9ecada
fix: hydrate realtime conversations before rendering
Build and publish Docker images / Build and publish images (push) Successful in 3m16s
2026-09-14 21:39:56 +08:00
rogee
665e531dc3
fix: keep pending widget conversations visible and searchable
Build and publish Docker images / Build and publish images (push) Successful in 2m25s
2026-09-14 17:30:24 +08:00
rogee
ca2a3c2dee
fix: localize API error messages
Build and publish Docker images / Build and publish images (push) Successful in 2m35s
2026-09-14 14:40:49 +08:00
rogee
4ad56ee9f8
Publish current project state
2026-09-14 10:47:21 +08:00
rogee
0dd188c46f
feat: complete current GoChat updates
2026-09-13 00:13:55 +08:00
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
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
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
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
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
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
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
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
b78f963472
chore: 提交剩余开发改动
...
包含商务通消息映射、会话时间与未读状态、前端消息展示、数据库修复迁移、测试覆盖备份及 Captain 设计文档。
2026-08-06 10:10:25 +08:00
rogee
897b4e018f
feat(channels): add Shangwutong connector
2026-08-03 10:13:40 +08:00
Rogee
bb4c4bb807
fix(captain): 护栏/回复指南编辑按钮不生效
...
根因:
1. guardrails/guidelines 页面直接导航时 store 无助手记录,getRecord
返回空对象导致列表为空、编辑无数据
2. storeFactoryHelper updateRecord 用 EDIT mutation(仅更新已有记录),
store 为空时 API 返回数据被丢弃
修复:
- storeFactoryHelper: updateRecord 改用 UPSERT,确保 API 返回记录始终写入 store
- guardrails/Index.vue & guidelines/Index.vue: onMounted 时若 store 无记录
则 dispatch captainAssistants/show 拉取单条助手数据
2026-08-01 16:24:09 +08:00
Rogee
cd82d079e3
fix(ws): 发送 WebSocket 协议级 Ping 控制帧防止 60s 后连接断开
...
writePump 只发 ActionCable 文本 JSON ping,从不发 websocket.PingMessage,
导致 readPump 的 PongHandler 永远不触发,ReadDeadline(60s) 到期后连接
被强制关闭。前端每 60 秒弹出"离线""重连"通知。
修复:在 ticker 中先发 PingMessage 控制帧(浏览器自动回 Pong 重置
ReadDeadline),再发 ActionCable 文本 ping(保活 ConnectionMonitor)。
同时包含此前会话中的其他变更:
- 移除安全设置(SAML)页面及路由
- 新增超级管理员控制台前端页面
- platform agent_bots 路由使用 Platform* handler
- 超级管理员入口改为 SPA 内路由跳转
2026-07-30 16:55:44 +08:00
Rogee
83386dff75
fix: 修复4个已知BUG — P1 ChatList/P2 错误密码/P3 Copilot崩溃/P3超管entrypoint
...
P1: ChatList.vue — 添加 conversationStats watch fallback,检测 stats>0
但 chatList 为空时自动触发 fetchConversations
P2: api.js parseAPIErrorResponse — 处理 error 字段为对象时提取 .message
P3: CopilotContainer.vue — activeAssistant 判空保护
P3: 新建 super_admin.html + vite.config.ts rewrite 规则
(注:entrypoint 仅含样式,Vue应用代码待补)
防御: NotificationTable.vue — 可选链保护 primary_actor.meta 路径
2026-07-29 09:55:24 +08:00
rogee
d16bb55d91
feat(realtime): complete fake channel reply flow
2026-07-13 14:57:28 +08:00
rogee
8b9eedc0e2
feat(copilot): finish configuration center
2026-07-13 14:57:28 +08:00
rogee
df23caf7d9
feat(copilot): move provider configuration to settings
2026-07-12 22:27:29 +08:00
rogee
b0bb7f0702
fix(frontend): stop offline conversation request loop
2026-07-12 22:16:16 +08:00
rogee
f923791d39
update
2026-07-12 12:20:23 +08:00
rogee
0dabb8cfa5
docs: 整理文档目录结构 — 清理过时文档、归集功能子目录、统一命名规范
...
清理:
- 删除 34 份过时文档(gap reports/QA临时报告/验收报告/阶段性文档)
- 删除 docs/.hermes/skills 第三方 skills 副本(16 文件)
- 删除 skills-lock.json
目录归集:
- 根目录仅保留 README.md 索引
- product/ — 产品与架构设计(PRD + ARCHITECTURE + P2设计文档 + AI/企业路线图)
- tracking/ — Chatwoot parity 开发跟踪
- requirements/ — M01-M12 模块需求
- plans/ — 历史实现计划
- parity/ — 路由 parity 与前端契约
- qa/ — QA 报告与测试计划
- ops/ — 运维部署
命名规范:
- 全小写 kebab-case,禁止全大写文件名
- product/tracking/ops 用 NN- 序号前缀
- requirements 用 MNN- 两位零填充模块号
- plans/qa 用 YYYY-MM-DD- 日期前缀
- requirements M1-M9 零填充为 M01-M09(修复字典序)
同步更新:
- backend/cmd/route_parity/main.go 路径默认值
- backend/scripts/parity_frontend_smoke.sh 报告路径
- 所有 docs 内部交叉引用
- .gitignore 排除编译产物 (backend/gochat, backend/route_parity)
- 新增迁移 000052/000053
- 前端 WS 相关修改
2026-07-09 14:53:27 +08:00
rogee
10cc300f31
Fix canned_responses 500: add missing SQL migration
...
The canned_responses table was registered in autoMigrate() (app.go) but
autoMigrate() is never called on the serve path (Bootstrap -> NewDatabase
-> RunMigrations only). With no SQL migration file, the table never
existed, so POST /api/v1/accounts/:id/canned_responses failed with
'relation does not exist' -> 500.
Add migration 000049 to create the table matching the GORM model
(id, account_id, content, short_code, timestamps) with the account+
short_code partial unique index and deleted_at index.
Also include two related fixes staged in the working tree:
- router.go: register notifications.GET("") alongside GET("/") to avoid
Gin 301 trailing-slash redirect that the Vite proxy doesn't follow
- notifications/actions.js: stop the infinite loader on fetch error to
prevent IntersectionObserver re-fire loop
2026-07-08 11:43:34 +08:00
rogee
321c61aaae
Vendor Chatwoot Vue 3 frontend into frontend/
...
Copy the Chatwoot (v4.14.0) frontend runnable subset into frontend/ for
customization:
- app/javascript/ (Vue SPA: dashboard, widget, sdk, portal, superadmin)
- app/views/ (ERB templates for vite-plugin-ruby entrypoint resolution)
- app/helpers/, app/assets/ (Rails view helpers, static assets)
- enterprise/ (Enterprise edition frontend overlay)
- config/vite.json, vite.config.ts, bin/vite (Vite-Rails toolchain)
- package.json, pnpm-lock.yaml, tailwind/postcss/eslint configs
- Gemfile, Gemfile.lock (vite_rails gem for bin/vite binstub)
Excluded Rails backend: controllers, models, services, jobs, mailers,
policies, db, lib, spec, public, node_modules.
Update references to the new frontend location:
- .gitignore: exclude frontend build artifacts (node_modules, tmp, packs),
keep frontend/bin/ and frontend/vendor/ via negation
- backend/scripts/parity_frontend_smoke.sh: CHATWOOT_DIR default
reference/chatwoot -> ../frontend
- backend/scripts/parity_frontend_browser_smoke.mjs: same default update
- AGENTS.md: add frontend section with Rails/Vite coupling notes
- README: architecture tree includes frontend/
2026-07-07 14:56:01 +08:00