Neil
e531e796b2
fix(relay): chunk fs.changed notifications to fit the client frame capacity ( #11917 )
...
* fix(relay): chunk fs.changed notifications to fit the client frame capacity
emitRelayWatcherEvents published an entire watcher batch as one
fs.changed notification on the ordinary lane. A batch runs routinely
tens of times over the per-frame producer capacity (12,288 bytes against
a Node <=21 socket, 49,152 against Node >=22), and an over-capacity
frame there is not queued or trimmed -- notify() fails admission and
closes the client, tearing down every in-flight request on that
connection. Regressed in 5f7807497e (#11005 ).
The emitter now sizes chunks against the tightest capacity across
attached clients, measured in encoded bytes through the same envelope
admission measures, and preserves event order. A single event too large
for an empty envelope cannot be chunked, so the ordinary-lane close
remains its backstop: a silent drop on this lane has no resync contract.
* chore(relay): shorten watcher chunking comments
2026-08-01 02:56:52 -07:00
..
2026-06-29 22:38:29 -07:00
2026-06-29 22:38:29 -07:00
2026-07-23 18:35:31 -07:00
2026-07-23 18:35:31 -07:00
2026-06-29 22:38:29 -07:00
2026-07-27 23:50:25 -07:00
2026-07-23 18:35:31 -07:00
2026-07-27 23:50:25 -07:00
2026-07-23 18:35:31 -07:00
2026-06-29 22:38:29 -07:00
2026-06-29 22:38:29 -07:00
2026-07-29 17:03:15 -07:00
2026-07-29 17:03:15 -07:00
2026-07-30 17:48:07 -07:00
2026-07-26 12:50:05 -07:00
2026-07-29 17:03:15 -07:00
2026-07-29 17:03:15 -07:00
2026-07-29 17:03:15 -07:00
2026-07-30 17:48:07 -07:00
2026-08-01 02:56:52 -07:00
2026-06-29 22:38:29 -07:00
2026-07-23 18:35:31 -07:00
2026-07-23 18:35:31 -07:00
2026-07-23 18:35:31 -07:00
2026-07-23 18:35:31 -07:00
2026-06-29 22:38:29 -07:00
2026-06-19 17:14:55 -07:00
2026-07-23 00:27:06 -07:00
2026-07-23 18:35:31 -07:00
2026-07-23 18:35:31 -07:00
2026-07-23 18:35:31 -07:00
2026-07-16 13:26:15 -07:00
2026-07-16 13:26:15 -07:00
2026-06-29 22:38:29 -07:00
2026-07-23 18:35:31 -07:00
2026-07-23 18:35:31 -07:00
2026-07-23 18:35:31 -07:00
2026-07-23 18:35:31 -07:00
2026-07-23 18:35:31 -07:00
2026-07-23 18:35:31 -07:00
2026-07-08 12:01:06 -07:00
2026-07-08 12:01:06 -07:00
2026-07-29 17:03:15 -07:00
2026-07-23 18:35:31 -07:00
2026-06-15 22:13:46 -07:00
2026-06-29 22:38:29 -07:00
2026-06-13 18:53:01 -07:00
2026-06-13 18:53:01 -07:00
2026-07-16 18:21:08 -07:00
2026-07-10 18:19:36 -07:00
2026-07-10 18:19:36 -07:00
2026-07-27 17:17:03 -07:00
2026-07-10 19:10:01 -07:00
2026-07-10 19:10:01 -07:00
2026-06-19 17:14:55 -07:00
2026-07-10 18:19:36 -07:00
2026-07-27 17:17:03 -07:00
2026-07-13 12:42:55 -07:00
2026-06-16 18:10:01 -07:00
2026-06-16 18:10:01 -07:00
2026-07-12 21:04:13 -07:00
2026-07-20 14:50:12 -07:00
2026-07-23 18:35:31 -07:00
2026-07-11 01:30:19 -07:00
2026-07-23 18:35:31 -07:00
2026-07-23 18:35:31 -07:00
2026-07-20 14:50:12 -07:00
2026-06-29 22:38:29 -07:00
2026-07-15 15:24:15 -07:00
2026-07-23 18:35:31 -07:00
2026-05-31 01:50:16 -07:00
2026-07-10 18:19:36 -07:00
2026-07-15 15:24:15 -07:00
2026-07-15 15:24:15 -07:00
2026-07-16 19:15:40 -07:00
2026-07-10 18:19:36 -07:00
2026-07-10 18:19:36 -07:00
2026-07-16 19:15:40 -07:00
2026-07-24 12:53:18 -07:00
2026-07-27 17:17:03 -07:00
2026-07-29 17:03:15 -07:00
2026-07-29 17:03:15 -07:00
2026-07-29 17:03:15 -07:00
2026-06-28 23:43:33 -07:00
2026-06-28 23:43:33 -07:00
2026-07-23 18:35:31 -07:00
2026-07-23 18:35:31 -07:00
2026-07-20 14:50:12 -07:00
2026-07-20 14:50:12 -07:00
2026-07-23 18:35:31 -07:00
2026-07-23 18:35:31 -07:00
2026-07-23 18:35:31 -07:00
2026-07-29 17:03:15 -07:00
2026-07-29 17:03:15 -07:00
2026-07-29 20:19:18 -07:00
2026-07-29 20:19:18 -07:00
2026-07-27 01:14:33 -07:00
2026-06-29 22:38:29 -07:00
2026-05-25 18:35:48 -07:00
2026-07-30 12:57:45 -07:00
2026-07-30 12:57:45 -07:00
2026-05-14 16:06:23 -07:00
2026-05-14 16:06:23 -07:00
2026-07-23 18:35:31 -07:00
2026-07-23 18:35:31 -07:00
2026-07-23 18:35:31 -07:00
2026-07-23 18:35:31 -07:00
2026-07-29 17:03:15 -07:00
2026-07-23 18:35:31 -07:00
2026-07-29 17:03:15 -07:00
2026-07-29 17:03:15 -07:00
2026-07-31 05:44:53 -07:00
2026-07-30 17:37:41 -07:00
2026-07-31 05:44:53 -07:00
2026-07-27 16:40:59 -07:00
2026-07-23 18:35:31 -07:00
2026-07-23 18:35:31 -07:00
2026-07-24 00:26:07 -07:00
2026-07-24 00:26:07 -07:00
2026-07-29 17:03:15 -07:00
2026-07-30 18:42:10 -07:00
2026-07-30 18:42:10 -07:00
2026-07-30 18:42:10 -07:00
2026-07-29 17:03:15 -07:00
2026-07-30 18:42:10 -07:00
2026-07-29 17:03:15 -07:00
2026-07-29 17:03:15 -07:00
2026-07-29 17:03:15 -07:00
2026-07-29 17:03:15 -07:00
2026-07-29 17:03:15 -07:00
2026-07-29 17:03:15 -07:00
2026-07-14 15:23:06 -07:00
2026-07-14 15:23:06 -07:00
2026-07-08 13:06:39 -07:00
2026-07-08 13:06:39 -07:00
2026-08-01 02:56:52 -07:00
2026-07-23 18:35:31 -07:00
2026-07-29 17:03:15 -07:00
2026-07-29 17:03:15 -07:00
2026-07-29 17:03:15 -07:00
2026-07-29 17:03:15 -07:00
2026-07-31 05:44:53 -07:00
2026-07-31 05:44:53 -07:00
2026-07-31 05:44:53 -07:00
2026-07-30 18:42:10 -07:00
2026-07-30 18:42:10 -07:00
2026-07-31 05:44:53 -07:00
2026-07-29 17:03:15 -07:00
2026-07-29 17:03:15 -07:00
2026-07-29 17:03:15 -07:00
2026-07-29 17:03:15 -07:00
2026-07-30 18:42:10 -07:00
2026-07-30 18:42:10 -07:00
2026-06-29 22:38:29 -07:00
2026-07-29 17:03:15 -07:00
2026-08-01 02:56:52 -07:00
2026-08-01 02:56:52 -07:00
2026-08-01 02:56:52 -07:00
2026-07-15 15:23:35 -07:00
2026-08-01 02:56:52 -07:00
2026-07-13 05:32:31 -07:00
2026-07-23 18:35:31 -07:00
2026-07-23 18:35:31 -07:00
2026-07-15 15:23:35 -07:00
2026-07-15 15:23:35 -07:00
2026-07-15 15:23:35 -07:00
2026-07-15 15:23:35 -07:00
2026-07-15 15:23:35 -07:00
2026-07-23 18:35:31 -07:00
2026-07-15 15:23:35 -07:00
2026-07-30 12:57:45 -07:00
2026-07-29 11:31:35 -07:00
2026-07-29 11:31:35 -07:00
2026-07-08 13:59:42 -07:00
2026-07-08 13:59:42 -07:00
2026-07-26 12:50:05 -07:00
2026-07-26 12:50:05 -07:00
2026-07-10 12:56:17 -07:00
2026-07-10 12:56:17 -07:00
2026-07-29 17:03:15 -07:00
2026-07-30 18:42:10 -07:00
2026-07-30 18:42:10 -07:00
2026-07-31 05:44:53 -07:00
2026-07-16 21:32:13 -07:00
2026-07-20 14:50:12 -07:00
2026-07-20 14:50:12 -07:00
2026-07-26 15:29:13 -07:00
2026-06-09 01:17:34 -07:00
2026-07-05 23:56:37 -07:00
2026-07-23 18:35:31 -07:00
2026-07-23 18:35:31 -07:00
2026-07-27 18:50:52 -07:00
2026-07-27 18:50:52 -07:00
2026-07-27 18:50:52 -07:00
2026-07-10 00:19:45 -07:00
2026-07-29 20:19:18 -07:00
2026-07-23 18:35:31 -07:00
2026-07-23 18:35:31 -07:00
2026-07-25 02:30:59 -07:00
2026-07-25 02:30:59 -07:00