Neil
673d7ca926
refactor(relay): collapse the duplicated FrameDecoder into one shared module ( #12078 )
...
src/relay/relay-frame-decoder.ts and src/main/ssh/relay-frame-decoder.ts
were 264 identical lines apart from one default: the relay logs decode
faults to stderr when no handler is supplied, the SSH side stays silent.
Two copies of framing logic is exactly where a wire-format fix lands in one
and not the other.
The decoder's contract and buffer already live in src/shared, so the class
joins them there. The relay keeps a thin subclass that supplies its stderr
default, preserving behaviour for the call sites that omit onError. The
SSH copy is deleted and relay-protocol.ts points at shared directly.
Verified: pnpm typecheck, 102 tests across the 9 framing/backpressure/
handshake suites, and `pnpm build:relay` for all six platform targets plus
the WSL hook relay — the standalone bundle has no new dependencies.
2026-08-02 00:58:10 -07:00
..
2026-07-29 17:03:15 -07:00
2026-07-23 18:35:31 -07:00
2026-08-02 00:58:10 -07:00
2026-07-31 16:17:37 -07:00
2026-08-02 00:33:57 -07:00
2026-07-31 16:17:37 -07:00
2026-08-02 00:33:57 -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-08-01 03:27:42 -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-23 18:35:31 -07:00
2026-07-23 18:35:31 -07:00
2026-05-30 11:54:48 -07:00
2026-05-23 00:27:20 -07:00
2026-07-30 14:23:30 -07:00
2026-07-30 14:23:30 -07:00
2026-06-29 22:38:29 -07:00
2026-06-29 22:38:29 -07:00
2026-08-01 22:21:37 -07:00
2026-08-01 22:21:37 -07:00
2026-07-23 18:35:31 -07:00
2026-07-23 18:35:31 -07:00
2026-07-28 12:33:17 -07:00
2026-07-20 12:18:57 -07:00
2026-07-31 16:17:37 -07:00
2026-07-31 16:17:37 -07:00
2026-07-15 01:58:46 -07:00
2026-07-15 01:58:46 -07:00
2026-08-01 22:21:37 -07:00
2026-08-01 22:21:37 -07:00
2026-08-01 22:21:37 -07:00
2026-08-01 22:21:37 -07:00
2026-07-15 01:58:46 -07:00
2026-07-15 01:58:46 -07:00
2026-07-31 16:17:37 -07:00
2026-07-31 16:17:37 -07:00
2026-07-23 18:35:31 -07:00
2026-07-15 01:58:46 -07:00
2026-07-23 18:35:31 -07:00
2026-07-15 02:38:40 -07:00
2026-07-30 14:23:30 -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:09:54 -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-15 02:38:40 -07:00
2026-07-30 14:23:30 -07:00
2026-07-28 12:33:17 -07:00
2026-07-28 12:33:17 -07:00
2026-08-01 23:16:24 -07:00
2026-08-01 23:16:24 -07:00
2026-07-31 20:45:52 -07:00
2026-08-02 00:33:57 -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-08-01 22:21:37 -07:00
2026-08-01 22:21:37 -07:00
2026-08-01 14:27:16 -07:00
2026-08-01 14:27:16 -07:00
2026-07-26 15:29:13 -07:00
2026-07-26 15:29:13 -07:00
2026-07-31 16:17:37 -07:00
2026-07-29 17:03:15 -07:00
2026-07-29 17:03:15 -07:00
2026-07-31 16:17:37 -07:00
2026-07-31 16:17:37 -07:00
2026-07-31 16:17:37 -07:00
2026-07-31 16:17:37 -07:00
2026-07-29 17:03:15 -07:00
2026-07-29 17:03:15 -07:00
2026-06-29 22:38:29 -07:00
2026-07-25 19:20:17 -07:00
2026-07-23 18:35:31 -07:00
2026-07-29 17:03:15 -07:00
2026-07-16 21:32:13 -07:00
2026-06-09 01:17:34 -07:00
2026-07-23 18:35:31 -07:00
2026-07-31 16:17:37 -07:00
2026-07-31 16:17:37 -07:00
2026-07-25 19:20:17 -07:00
2026-07-31 16:17:37 -07:00
2026-07-31 16:17:37 -07:00
2026-07-31 16:17:37 -07:00
2026-06-29 22:38:29 -07:00
2026-06-29 22:38:29 -07:00
2026-07-31 16:17:37 -07:00
2026-07-31 16:17:37 -07:00
2026-07-31 16:17:37 -07:00
2026-07-16 21:32:13 -07:00
2026-07-15 13:55:48 -07:00
2026-07-15 13:55:48 -07:00
2026-08-01 23:16:24 -07:00
2026-08-01 23:16:24 -07:00
2026-07-29 17:03:15 -07:00
2026-08-02 00:33:57 -07:00
2026-07-29 17:03:15 -07:00
2026-08-01 23:16:24 -07:00
2026-08-01 23:16:24 -07:00
2026-08-01 23:16:24 -07:00
2026-08-01 23:16:24 -07:00
2026-08-01 23:16:24 -07:00
2026-08-02 00:33:57 -07:00
2026-08-01 23:16:24 -07:00
2026-07-31 16:17:37 -07:00
2026-07-31 16:17:37 -07:00
2026-07-31 16:17:37 -07:00
2026-07-31 16:17:37 -07:00
2026-07-31 16:17:37 -07:00
2026-07-31 16:17:37 -07:00
2026-05-11 14:28:59 -07:00
2026-07-23 18:35:31 -07:00
2026-07-31 16:17:37 -07:00
2026-07-21 13:50:17 -07:00
2026-07-12 22:45:33 -07:00
2026-07-27 12:31:37 -07:00
2026-06-10 20:20:50 -07:00
2026-07-13 19:41:24 -07:00
2026-07-29 11:31:35 -07:00
2026-07-29 11:31:35 -07:00
2026-07-29 11:31:35 -07:00
2026-07-29 17:03:15 -07:00
2026-07-29 17:03:15 -07:00
2026-07-31 16:17:37 -07:00
2026-07-31 16:17:37 -07:00
2026-07-21 13:13:05 -07:00
2026-07-21 13:13:05 -07:00
2026-07-12 22:45:33 -07:00
2026-07-21 13:16:44 -07:00
2026-07-21 13:16:44 -07:00
2026-07-21 13:25:22 -07:00
2026-07-21 13:16:44 -07:00
2026-07-21 13:16:44 -07:00
2026-07-21 13:25:22 -07:00
2026-07-21 13:21:19 -07:00
2026-07-21 13:21:19 -07:00
2026-07-21 13:25:22 -07:00
2026-07-21 13:25:22 -07:00
2026-07-21 13:25:22 -07:00
2026-07-21 13:25:22 -07:00
2026-07-21 13:25:22 -07:00
2026-06-15 18:24:53 -07:00
2026-07-04 23:54:26 -07:00
2026-07-23 18:35:31 -07:00
2026-07-23 18:35:31 -07:00
2026-07-17 18:51:10 -07:00
2026-07-17 18:51:10 -07:00
2026-07-30 12:50:07 -07:00
2026-07-30 12:50:07 -07:00
2026-07-29 11:31:35 -07:00
2026-07-29 11:31:35 -07:00
2026-07-29 11:31:35 -07:00
2026-07-29 11:31:35 -07:00
2026-07-27 12:31:37 -07:00
2026-07-27 12:31:37 -07:00
2026-07-10 22:31:53 -07:00
2026-07-16 21:32:13 -07:00
2026-07-12 16:53:43 -07:00
2026-07-12 16:53:43 -07:00
2026-07-12 01:33:08 -07:00
2026-08-01 03:27:42 -07:00
2026-08-01 18:45:37 -07:00
2026-08-01 03:27:42 -07:00
2026-07-04 01:26:55 -07:00
2026-07-04 01:26:55 -07:00
2026-08-01 03:27:42 -07:00
2026-07-12 01:29:55 -07:00
2026-07-30 14:23:30 -07:00
2026-07-15 13:32:13 -07:00
2026-07-15 13:32:13 -07:00
2026-07-11 03:20:55 -07:00
2026-07-11 03:20:55 -07:00
2026-08-01 18:45:37 -07:00
2026-07-30 14:23:30 -07:00
2026-08-01 03:27:42 -07:00
2026-08-01 03:27:42 -07:00
2026-07-16 21:32:13 -07:00
2026-07-12 01:29:55 -07:00
2026-07-23 18:35:31 -07:00
2026-07-30 14:23:30 -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-22 21:10:05 -07:00
2026-07-22 21:10:05 -07:00