rogee
6eee55860f
fix(agent): allow super admins to manage agents
2026-09-11 11:38:15 +08:00
Rogee and rogee
4455f8938d
HH-574: enforce stale job claim limit ( #168 )
...
* fix(HH-574): enforce stale job claim limit
* fix(HH-574): guard exhausted retry claims
---------
Co-authored-by: Rogee <rogee@ipao.vip >
2026-08-24 16:46:35 +08:00
Rogee and rogee
84d701dce5
test(HH-623): cover realtime enqueue boundaries ( #170 )
...
Co-authored-by: Rogee <rogee@ipao.vip >
2026-08-24 16:31:17 +08:00
Rogee and rogee
47ed9ca2f3
test(HH-615): align release gate contracts ( #166 )
...
Co-authored-by: Rogee <rogee@ipao.vip >
2026-08-24 14:59:02 +08:00
Rogee and rogee
296951d801
test(HH-613): wait for XAck before subscriber close ( #165 )
...
Co-authored-by: Rogee <rogee@ipao.vip >
2026-08-24 14:27:21 +08:00
Rogee and rogee
77903ebebd
test(HH-604): stabilize notification close ordering ( #164 )
...
Co-authored-by: Rogee <rogee@ipao.vip >
2026-08-24 14:06:43 +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
26eae1a0d7
fix(HH-603): harden legacy database logging ( #163 )
...
Co-authored-by: Rogee <rogee@ipao.vip >
2026-08-24 13:49:07 +08:00
Rogee and rogee
4eeb0f8957
HH-597: repair assignment policy migration parity ( #156 )
...
* fix(HH-597): repair assignment policy schema migration
* fix(HH-597): harden assignment policy migration
---------
Co-authored-by: Rogee <rogee@ipao.vip >
2026-08-24 13:09:13 +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
1287b7702a
fix(HH-600): isolate notification Redis lifecycle ( #157 )
...
Co-authored-by: Rogee <rogee@ipao.vip >
2026-08-24 12:24:34 +08:00
Rogee and rogee
e8c010406d
fix(security): redact database query parameters (HH-596) ( #159 )
...
Co-authored-by: Rogee <rogee@ipao.vip >
2026-08-24 12:22:16 +08:00
Rogee and rogee
57f8a64fd8
fix(HH-591): bound notification shutdown XACK ( #154 )
...
Co-authored-by: Rogee <rogee@ipao.vip >
2026-08-24 11:36:24 +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
34c45ff2c4
HH-463: wait for redisstream XAck during shutdown ( #149 )
...
Co-authored-by: Rogee <rogee@ipao.vip >
2026-08-24 10:30:50 +08:00
Rogee and rogee
02e60b8db5
test(HH-589): cover favicon static route ( #150 )
...
Co-authored-by: Rogee <rogee@ipao.vip >
2026-08-24 10:26:45 +08:00
Rogee and rogee
83e2a8ead6
test(HH-572): cover PostgreSQL longest-waiting null order ( #146 )
...
Co-authored-by: Rogee <rogee@ipao.vip >
2026-08-24 10:09:55 +08:00
Rogee and rogee
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
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
391fe98ad6
HH-565: complete assignment parity regressions ( #142 )
...
* fix(HH-565): complete assignment parity regressions
* fix(HH-565): scope capacity exclusions per agent
---------
Co-authored-by: Rogee <rogee@ipao.vip >
2026-08-24 00:16:03 +08:00
Rogee and rogee
f36606a4f2
HH-564: harden durable realtime publish boundaries ( #139 )
...
* fix(HH-564): harden durable realtime enqueue
* fix(HH-564): wire production SSE stream
---------
Co-authored-by: Rogee <rogee@ipao.vip >
2026-08-23 23:38:00 +08:00
Rogee and rogee
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
Rogee and rogee
17244bcc9d
HH-554: connect auto-assignment runtime policy ( #135 )
...
* fix(HH-554): connect auto-assignment runtime policy
* fix(HH-554): bound and coalesce assignment jobs
* fix(HH-554): drain assignment backlog safely
* fix(HH-554): hold assignment claim through retries
---------
Co-authored-by: Rogee <rogee@ipao.vip >
2026-08-23 22:28:43 +08:00
Rogee and rogee
eb1b5c8066
test(HH-557): cover CORS YAML config loading ( #134 )
...
Co-authored-by: Rogee <rogee@ipao.vip >
2026-08-23 21:12:35 +08:00
Rogee and rogee
14b25959ab
HH-553: remove deprecated CORS env references ( #130 )
...
Co-authored-by: Rogee <rogee@ipao.vip >
2026-08-23 20:46:40 +08:00
Rogee and rogee
8d5d019bb5
HH-548: allow Super Admin sessions to load platform lists ( #125 )
...
* fix(HH-548): authorize super admin platform lists
* fix(HH-548): limit dual auth to platform lists
---------
Co-authored-by: Rogee <rogee@ipao.vip >
2026-08-23 20:21:05 +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
f719a18ba8
HH-533: align ActionCable heartbeat protocol ( #121 )
...
* fix(ws): align ActionCable heartbeat protocol (HH-533)
* test(ws): cover ActionCable heartbeat cadence (HH-533)
---------
Co-authored-by: Rogee <rogee@ipao.vip >
2026-08-23 17:46:44 +08:00
rogee
2c5e6e595f
fix(shangwutong): initialize contact attributes on inbox creation
2026-08-23 17:32:35 +08:00
rogee
25ef9ae494
fix(deploy): reuse shared redis and serve dashboard at root
2026-08-23 17:32:02 +08:00
Rogee and rogee
3aac701495
fix(HH-528): persist auto resolve message ( #116 )
...
Co-authored-by: Rogee <rogee@ipao.vip >
2026-08-23 16:54:20 +08:00
Rogee and rogee
5a61aac1f2
HH-529: allow blob avatar previews in CSP ( #115 )
...
Co-authored-by: Rogee <rogee@ipao.vip >
2026-08-23 16:52:20 +08:00
Rogee and rogee
dac8c5e068
HH-502: cover non-widget message sender events ( #113 )
...
Co-authored-by: Rogee <rogee@ipao.vip >
2026-08-23 07:40:38 +08:00
Rogee and rogee
ef8931099c
HH-469: close WebSocket fanout contract gaps ( #109 )
...
* HH-469: close websocket fanout contract gaps
* fix: unify message sender contracts
---------
Co-authored-by: Rogee <rogee@ipao.vip >
2026-08-23 00:22:01 +08:00
Rogee and rogee
43253b51c9
HH-460: cover migration and backup restore regressions ( #104 )
...
* test(HH-460): cover migration and restore regressions
* test(HH-460): verify real restore evidence
---------
Co-authored-by: Rogee <rogee@ipao.vip >
2026-08-22 21:20:27 +08:00
Rogee and rogee
2b75390529
HH-452: cover upload security boundaries ( #106 )
...
Co-authored-by: Rogee <rogee@ipao.vip >
2026-08-22 21:19:43 +08:00
Rogee and rogee
fb83285617
HH-445: deploy production observability and runbooks ( #96 )
...
* HH-445: deploy production observability and runbooks
* fix(ops): share production database DSN
* fix(HH-445): enforce database TLS gate
* fix(HH-445): preserve production serve command
* fix(prod): require external database dependencies
* fix(prod): unify database host rejection gates
* test(prod): enforce exact database TLS runbook contract
---------
Co-authored-by: Rogee <rogee@ipao.vip >
2026-08-22 19:39:57 +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
798ea43c2f
HH-442: isolate runtime processes and harden shutdown ( #90 )
...
* HH-442: isolate runtime processes and harden shutdown
* HH-442: harden worker shutdown races
* HH-442: gate dependency shutdown on active handlers
---------
Co-authored-by: Rogee <rogee@ipao.vip >
2026-08-22 02:38:15 +08:00
Rogee and rogee
6d6d80dd86
HH-441: harden durable storage and recovery ( #92 )
...
* HH-441: harden durable storage and recovery
* HH-441: clear recovery review blockers
* HH-441: enforce offsite backup failure domain
---------
Co-authored-by: Rogee <rogee@ipao.vip >
2026-08-22 02:16:02 +08:00
Rogee and rogee
77c91662d2
HH-438: close upload and remote URL attack surfaces ( #89 )
...
* HH-438: close upload and remote URL attack surfaces
* HH-438: use valid PNG in direct upload test
* HH-438: align PostgreSQL upload staging schema
* HH-438: run upload migrations before PostgreSQL E2E
---------
Co-authored-by: Rogee <rogee@ipao.vip >
2026-08-21 20:36:52 +08:00
Rogee and rogee
7a9fec33c5
HH-439: harden production artifact pipeline ( #86 )
...
* HH-439: harden production artifact pipeline
* fix(HH-439): address production compose review
* fix(HH-439): preserve previous JWT secrets in production
---------
Co-authored-by: Rogee <rogee@ipao.vip >
2026-08-21 20:20:00 +08:00
Rogee and rogee
7e3872170f
HH-448: enforce PostgreSQL E2E gate ( #87 )
...
* HH-448 enforce PostgreSQL E2E gate
* HH-448 fail CI when concurrency test is missing
---------
Co-authored-by: Rogee <rogee@ipao.vip >
2026-08-21 20:00:41 +08:00
Rogee and rogee
cf263d10b4
HH-437: harden production auth and tenant authorization ( #84 )
...
* HH-437 harden auth and account authorization
* HH-437 reject revoked platform access
---------
Co-authored-by: Rogee <rogee@ipao.vip >
2026-08-21 19:13:10 +08:00
Rogee and rogee
04c1654086
HH-427: add runtime config browser smoke ( #81 )
...
* HH-427: add runtime config browser smoke
* HH-427: enforce browser smoke in CI
---------
Co-authored-by: Rogee <rogee@ipao.vip >
2026-08-21 16:02:54 +08:00
Rogee and rogee
26d494c6d6
test(autoassignment): report cleanup errors (HH-423) ( #79 )
...
Co-authored-by: Rogee <rogee@ipao.vip >
2026-08-21 14:41:25 +08:00
Rogee and rogee
a0f668b2d8
H-419: run auto-assignment concurrency on PostgreSQL ( #77 )
...
Co-authored-by: Rogee <rogee@ipao.vip >
2026-08-21 14:18:32 +08:00