Commit Graph
594 Commits
Author SHA1 Message Date
Rogeeandrogee 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
Rogeeandrogee 77903ebebd test(HH-604): stabilize notification close ordering (#164)
Co-authored-by: Rogee <rogee@ipao.vip>
2026-08-24 14:06:43 +08:00
Rogeeandrogee 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
Rogeeandrogee 26eae1a0d7 fix(HH-603): harden legacy database logging (#163)
Co-authored-by: Rogee <rogee@ipao.vip>
2026-08-24 13:49:07 +08:00
Rogeeandrogee a30eff4f3b test(HH-605): lock widget viewport layout (#161)
Co-authored-by: Rogee <rogee@ipao.vip>
2026-08-24 13:24:44 +08:00
Rogeeandrogee 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
Rogeeandrogee 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
Rogeeandrogee 907d8ea4e1 fix(widget): constrain conversation scroll viewport (#160)
Co-authored-by: Rogee <rogee@ipao.vip>
2026-08-24 12:35:35 +08:00
Rogeeandrogee 1287b7702a fix(HH-600): isolate notification Redis lifecycle (#157)
Co-authored-by: Rogee <rogee@ipao.vip>
2026-08-24 12:24:34 +08:00
Rogeeandrogee 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
Rogeeandrogee 57f8a64fd8 fix(HH-591): bound notification shutdown XACK (#154)
Co-authored-by: Rogee <rogee@ipao.vip>
2026-08-24 11:36:24 +08:00
Rogeeandrogee 92ace6b041 test(HH-592): cover realtime timestamp boundaries (#153)
Co-authored-by: Rogee <rogee@ipao.vip>
2026-08-24 11:13:53 +08:00
Rogeeandrogee 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
Rogeeandrogee c4ac664deb fix(HH-590): define realtime timestamp range (#151)
Co-authored-by: Rogee <rogee@ipao.vip>
2026-08-24 10:44:23 +08:00
Rogeeandrogee 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
Rogeeandrogee 02e60b8db5 test(HH-589): cover favicon static route (#150)
Co-authored-by: Rogee <rogee@ipao.vip>
2026-08-24 10:26:45 +08:00
Rogeeandrogee b981cc6811 fix(HH-576): normalize realtime message timestamps (#148)
Co-authored-by: Rogee <rogee@ipao.vip>
2026-08-24 10:16:22 +08:00
Rogeeandrogee 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
Rogeeandrogee 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
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 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
Rogeeandrogee 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
Rogeeandrogee 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
Rogeeandrogee d4036a2074 docs(HH-570): clarify realtime relay boundaries (#143)
Co-authored-by: Rogee <rogee@ipao.vip>
2026-08-24 00:14:21 +08:00
Rogeeandrogee e1ae9b57d8 docs(HH-566): define realtime replay contract (#140)
Co-authored-by: Rogee <rogee@ipao.vip>
2026-08-23 23:47:43 +08:00
Rogeeandrogee 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
Rogeeandrogee 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
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 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
Rogeeandrogee 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
Rogeeandrogee 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
Rogeeandrogee 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
Rogeeandrogee 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
Rogeeandrogee 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
Rogeeandrogee 14b25959ab HH-553: remove deprecated CORS env references (#130)
Co-authored-by: Rogee <rogee@ipao.vip>
2026-08-23 20:46:40 +08:00
Rogeeandrogee 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
Rogeeandrogee 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
Rogeeandrogee 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
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 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
Rogeeandrogee a635be6dc8 HH-531: remove CSP-blocked draggable shim (#122)
Co-authored-by: Rogee <rogee@ipao.vip>
2026-08-23 17:48:30 +08:00
Rogeeandrogee 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
Rogeeandrogee 56a2f2e6a5 ci: disable GitHub Actions workflow (#118)
Co-authored-by: Rogee <rogee@ipao.vip>
2026-08-23 17:23:54 +08:00
Rogeeandrogee 3aac701495 fix(HH-528): persist auto resolve message (#116)
Co-authored-by: Rogee <rogee@ipao.vip>
2026-08-23 16:54:20 +08:00
Rogeeandrogee 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
Rogeeandrogee 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
Rogeeandrogee eaf6edef66 HH-503: harden production Docker mock assertions (#112)
Co-authored-by: Rogee <rogee@ipao.vip>
2026-08-23 07:40:23 +08:00
Rogeeandrogee a5d244d293 HH-500: add reproducible production dist bundle (#111)
* HH-500: add reproducible production dist bundle

* HH-500: make production bundle builds reproducible

* HH-500: lock complete runtime APK closure

---------

Co-authored-by: Rogee <rogee@ipao.vip>
2026-08-23 00:22:20 +08:00