wm0018
7de325d060
fix: keep task title truncation UTF-16 safe in restart/diagnostic output (#101934)
* fix: keep task title truncation UTF-16 safe in restart/diagnostic output
Three private copies of formatTaskBlocker share the same pattern —
task.title.slice(0, 80) — which can split surrogate pairs in task
titles, producing broken U+FFFD in restart blocker diagnostics,
gateway reload logs, and CLI run-loop output.
Replace raw slice with truncateUtf16Safe in all three locations.
Relevant files:
- gateway/server-reload-handlers.ts:270
- infra/restart-coordinator.ts:73
- cli/gateway-cli/run-loop.ts:569
* refactor(tasks): centralize restart blocker formatting
* fix(tasks): keep restart formatter side-effect free
* refactor(tasks): tighten restart blocker ownership
---------
Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-07-09 07:10:25 +01:00
..
2026-06-04 03:45:53 -04:00
2026-07-06 03:31:19 -07:00
2026-06-14 18:26:27 +08:00
2026-06-14 18:26:27 +08:00
2026-07-05 02:17:10 -07:00
2026-06-04 03:44:45 -04:00
2026-07-05 02:17:10 -07:00
2026-07-05 02:17:10 -07:00
2026-06-04 03:43:46 -04:00
2026-07-06 03:31:19 -07:00
2026-06-03 15:20:39 -07:00
2026-06-22 16:24:57 +08:00
2026-07-05 02:17:10 -07:00
2026-07-07 13:44:32 +01:00
2026-07-07 13:44:32 +01:00
2026-06-04 03:43:46 -04:00
2026-06-04 03:45:53 -04:00
2026-07-05 02:17:10 -07:00
2026-07-05 02:17:10 -07:00
2026-07-05 02:17:10 -07:00
2026-07-05 02:17:10 -07:00
2026-06-04 03:43:46 -04:00
2026-06-04 03:43:46 -04:00
2026-07-05 02:17:10 -07:00
2026-07-05 02:17:10 -07:00
2026-07-05 02:17:10 -07:00
2026-07-05 02:17:10 -07:00
2026-06-23 03:38:18 +08:00
2026-06-04 17:03:40 -07:00
2026-06-04 03:43:46 -04:00
2026-06-04 03:44:45 -04:00
2026-06-05 01:51:27 +01:00
2026-07-07 13:16:57 -07:00
2026-06-04 03:43:46 -04:00
2026-06-03 15:20:39 -07:00
2026-06-05 01:51:26 +01:00
2026-06-04 03:44:45 -04:00
2026-06-09 01:22:29 +01:00
2026-07-05 02:17:10 -07:00
2026-06-03 15:20:39 -07:00
2026-06-04 03:44:45 -04:00
2026-06-17 18:20:05 +08:00
2026-07-07 13:16:57 -07:00
2026-06-29 15:32:47 +03:00
2026-07-09 07:10:25 +01:00
2026-06-04 03:44:45 -04:00
2026-06-17 16:37:22 +08:00
2026-06-03 15:20:39 -07:00
2026-06-17 16:37:22 +08:00
2026-06-23 03:38:18 +08:00
2026-06-22 15:56:48 +08:00
2026-06-17 16:37:22 +08:00
2026-06-04 03:44:45 -04:00
2026-06-04 03:42:18 -04:00
2026-07-05 02:17:10 -07:00
2026-07-07 10:23:36 -07:00
2026-06-22 15:56:48 +08:00
2026-07-09 07:10:25 +01:00
2026-06-17 18:20:05 +08:00
2026-06-17 18:20:05 +08:00
2026-06-15 07:09:01 -07:00
2026-06-04 03:43:46 -04:00
2026-06-17 16:37:22 +08:00