Diogo Soares Rodrigues
9088fe821b
fix(cursor): await error-drain transforms and sanitize mirrored todo labels
...
Two boundary defects on the mirrored-todo path.
1. The Agent error drain snapshotted #cursorToolResultBuffer without
awaiting entry.pending, unlike #emitCursorSplitAssistantMessage. An
async cursorOnToolResult still running when the provider errored
patched an entry the catch path had already detached, so the
pre-transform payload was persisted. A provider error is exactly when
a transform is most likely to be in flight.
2. The todo renderer interpolated mirrored provider text straight into
terminal output. A Cursor snapshot carries model-authored task
content, phase names and summary text verbatim, so a label holding
ANSI/C0 sequences rewrote the terminal on every render and replay.
sanitizeText alone is not enough - it preserves tabs, which punch
holes in bordered output - so every display path now funnels through
one forDisplay() helper: task labels, blocker notes, phase headers,
the zero-task fallback, and the streaming renderCall preview. Raw
values are untouched; content and phase name are the identity keys
the local list is looked up by and what gets persisted.
2026-07-26 09:29:13 -03:00
..
2026-07-22 21:32:12 +02:00
2026-07-23 20:44:50 +02:00
2026-07-23 19:00:08 +00:00
2026-07-24 15:20:36 +02:00
2026-07-23 00:12:07 +02:00
2026-07-17 17:36:59 +02:00
2026-07-23 11:37:12 +02:00
2026-07-23 22:10:15 +02:00
2026-07-23 11:37:12 +02:00
2026-07-24 07:57:55 +02:00
2026-07-23 18:06:11 +02:00
2026-07-23 18:06:11 +02:00
2026-07-23 19:53:05 +00:00
2026-07-24 07:57:55 +02:00
2026-07-24 14:51:48 +02:00
2026-07-26 09:29:13 -03:00
2026-07-24 08:54:16 +02:00
2026-07-23 20:47:42 +02:00
2026-07-24 16:05:14 +02:00
2026-07-24 02:25:35 +02:00
2026-07-23 21:54:35 +02:00
2026-07-24 02:23:51 +02:00
2026-07-22 17:14:36 +00:00
2026-07-23 18:06:11 +02:00
2026-07-22 18:12:24 +00:00
2026-07-22 19:24:32 +00:00
2026-07-24 02:23:15 +02:00
2026-07-18 01:51:00 -07:00
2026-07-23 17:52:52 +02:00
2026-07-18 21:01:58 +02:00
2026-07-23 17:49:06 +02:00
2026-07-18 06:40:52 +02:00
2026-07-23 17:52:52 +02:00
2026-07-22 22:26:10 +02:00
2026-07-18 00:19:14 +00:00
2026-07-22 21:32:12 +02:00
2026-07-18 05:34:52 +00:00
2026-07-21 20:18:22 +00:00
2026-07-24 02:23:15 +02:00
2026-07-19 14:23:12 +02:00
2026-07-23 16:38:22 +08:00
2026-07-23 19:52:09 +00:00
2026-07-24 02:48:00 +02:00
2026-07-23 11:49:25 +02:00
2026-07-22 22:26:10 +02:00
2026-07-23 19:54:52 +00:00
2026-07-24 02:23:15 +02:00
2026-07-23 20:18:03 +00:00
2026-07-24 02:23:51 +02:00
2026-07-19 19:11:30 -05:00
2026-07-19 14:29:21 +02:00
2026-07-23 17:56:29 +02:00
2026-07-23 19:53:05 +00:00
2026-07-22 02:29:05 +00:00
2026-07-23 17:52:52 +02:00
2026-07-24 02:23:22 +02:00
2026-07-18 03:16:56 +05:30
2026-07-23 19:46:30 +00:00
2026-07-20 21:53:38 +00:00
2026-07-23 21:28:17 +00:00
2026-07-24 15:51:34 +02:00
2026-07-23 17:41:55 +02:00
2026-07-23 17:38:28 +02:00
2026-07-24 11:41:58 +00:00
2026-07-24 11:41:58 +00:00
2026-07-21 13:53:52 -07:00
2026-07-21 20:25:35 +00:00
2026-07-21 20:25:35 +00:00
2026-07-24 03:07:17 +02:00
2026-07-26 09:29:13 -03:00
2026-07-23 17:38:29 +02:00
2026-07-18 03:51:09 -07:00
2026-07-24 22:42:38 +00:00
2026-07-22 21:32:12 +02:00
2026-07-26 09:29:13 -03:00
2026-07-22 21:32:12 +02:00
2026-07-22 21:32:12 +02:00
2026-07-22 21:32:12 +02:00
2026-07-24 03:38:15 +02:00
2026-07-23 11:06:42 +03:00
2026-07-23 22:21:43 +00:00
2026-07-22 21:13:21 +02:00
2026-07-21 22:07:42 +00:00
2026-07-22 20:11:59 -07:00
2026-07-21 21:26:11 +00:00
2026-07-23 18:02:31 +02:00
2026-07-21 21:13:45 +00:00
2026-07-22 21:13:19 +02:00
2026-07-24 12:25:40 +02:00
2026-07-21 20:44:29 +00:00
2026-07-22 21:32:12 +02:00
2026-07-20 22:50:03 +02:00
2026-07-17 13:19:55 -07:00
2026-07-24 00:52:31 +03:00
2026-07-23 17:49:06 +02:00
2026-07-18 00:19:14 +00:00
2026-07-24 03:48:43 +00:00
2026-07-23 17:35:35 +02:00
2026-07-22 15:51:47 +00:00
2026-07-24 11:41:58 +00:00
2026-07-23 17:56:29 +02:00
2026-07-22 21:32:12 +02:00
2026-07-17 17:06:15 +00:00
2026-07-23 23:08:30 +00:00
2026-07-21 21:46:09 +02:00
2026-07-22 21:32:12 +02:00
2026-07-23 11:39:15 +02:00
2026-07-24 03:59:10 +00:00
2026-07-24 09:28:42 +02:00
2026-07-23 11:37:11 +02:00
2026-07-22 23:44:38 -06:00
2026-07-18 00:13:58 +05:30
2026-07-23 19:52:09 +00:00
2026-07-23 19:52:09 +00:00
2026-07-22 21:32:12 +02:00
2026-07-22 21:13:12 +02:00
2026-07-18 20:14:11 +02:00
2026-07-18 15:34:03 +00:00
2026-07-23 15:18:37 -04:00
2026-07-21 20:16:52 +00:00
2026-07-24 11:41:58 +00:00
2026-07-23 22:15:21 +02:00
2026-07-24 03:38:15 +02:00
2026-07-24 03:53:21 +00:00
2026-07-24 02:23:51 +02:00
2026-07-22 21:13:14 +02:00
2026-07-18 21:46:03 +00:00
2026-07-24 22:42:38 +00:00
2026-07-18 22:04:43 +02:00
2026-07-23 17:30:33 +02:00
2026-07-23 17:49:06 +02:00
2026-07-24 16:26:59 +02:00
2026-07-24 02:23:51 +02:00
2026-07-23 12:38:13 +02:00
2026-07-22 19:13:53 -07:00
2026-07-22 18:38:03 -07:00
2026-07-22 18:38:03 -07:00
2026-07-21 00:16:45 +02:00
2026-07-24 01:40:05 +00:00
2026-07-23 22:14:31 +00:00
2026-07-21 21:58:35 +00:00
2026-07-22 21:13:38 +02:00
2026-07-23 01:59:06 +02:00
2026-07-24 02:23:51 +02:00
2026-07-23 18:06:11 +02:00
2026-07-23 20:44:50 +02:00
2026-07-19 15:15:58 +05:30
2026-07-23 19:52:09 +00:00
2026-07-24 03:38:15 +02:00
2026-07-17 23:25:16 +00:00
2026-07-23 20:59:52 +02:00
2026-07-23 20:44:50 +02:00
2026-07-24 09:12:53 +00:00
2026-07-21 00:16:45 +02:00
2026-07-17 13:19:55 -07:00
2026-07-19 13:03:38 -07:00
2026-07-23 20:47:42 +02:00
2026-07-24 22:42:38 +00:00
2026-07-18 19:17:48 +00:00
2026-07-24 17:23:19 +02:00
2026-07-24 08:54:16 +02:00
2026-07-24 08:54:16 +02:00
2026-07-21 21:07:11 +00:00
2026-07-17 20:44:34 +02:00
2026-07-22 21:13:21 +02:00
2026-07-21 22:37:12 +00:00
2026-07-23 17:31:30 +02:00
2026-07-23 19:20:53 +00:00
2026-07-24 03:48:43 +00:00
2026-07-23 17:31:30 +02:00
2026-07-20 15:00:37 +00:00
2026-07-18 17:51:51 +02:00
2026-07-17 18:03:13 +00:00
2026-07-25 18:02:43 +02:00
2026-07-23 21:25:15 +09:00
2026-07-24 02:23:51 +02:00
2026-07-22 21:32:12 +02:00
2026-07-18 03:03:42 +05:30
2026-07-24 22:42:38 +00:00
2026-07-24 08:19:13 +02:00