Garry Tan
efc0c0c64e
add CDP-session cleanup tripwire + helper unit tests
...
browse/test/cdp-session-cleanup.test.ts pins the invariant that no
source file outside cdp-bridge.ts may call newCDPSession() directly.
If a future refactor reintroduces the direct call, CI fails with a
file:line list and a pointer to the right helper to use instead
(withCdpSession for one-shot, getOrCreateCdpSession for cached).
Also covers the helpers themselves with fake-Page unit tests:
- withCdpSession detaches on success
- withCdpSession detaches on throw (the actual leak fix)
- withCdpSession swallows detach errors so they don't mask fn errors
- getOrCreateCdpSession caches the session across calls
- close hook detaches AND clears the cache
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-27 07:23:33 -07:00
..
2026-04-23 10:23:40 -07:00
2026-03-26 11:15:24 -06:00
2026-03-28 08:35:24 -06:00
2026-04-07 00:23:36 -07:00
2026-05-07 20:14:59 -07:00
2026-05-09 08:06:47 -07:00
2026-05-13 12:22:30 -04:00
2026-05-21 21:21:07 -07:00
2026-05-24 01:43:51 -07:00
2026-04-28 20:08:04 -07:00
2026-05-14 21:55:29 -07:00
2026-04-28 20:08:04 -07:00
2026-05-14 21:46:50 -07:00
2026-04-16 13:49:04 -07:00
2026-03-20 12:22:11 -07:00
2026-04-28 20:08:04 -07:00
2026-04-28 20:08:04 -07:00
2026-04-28 20:08:04 -07:00
2026-05-27 07:23:33 -07:00
2026-05-01 07:21:28 -07:00
2026-05-21 21:21:07 -07:00
2026-05-24 01:43:51 -07:00
2026-04-18 23:25:33 +08:00
2026-04-07 00:23:36 -07:00
2026-05-13 12:22:30 -04:00
2026-05-14 21:46:50 -07:00
2026-03-23 22:15:23 -07:00
2026-04-17 00:45:13 -07:00
2026-05-07 20:14:59 -07:00
2026-04-08 00:41:55 -07:00
2026-05-09 08:06:47 -07:00
2026-05-09 08:06:47 -07:00
2026-05-14 21:55:29 -07:00
2026-04-18 23:25:33 +08:00
2026-04-10 17:13:15 -10:00
2026-03-26 11:15:24 -06:00
2026-05-09 08:06:47 -07:00
2026-05-20 07:35:01 -07:00
2026-05-25 10:57:15 -07:00
2026-04-21 21:58:27 -07:00
2026-03-29 23:35:17 -06:00
2026-05-13 13:37:31 -04:00
2026-04-07 00:23:36 -07:00
2026-04-06 00:47:04 -07:00
2026-04-21 21:58:27 -07:00
2026-04-28 00:57:28 -07:00
2026-04-06 00:47:04 -07:00
2026-04-20 13:20:30 +08:00
2026-03-20 12:22:11 -07:00
2026-05-07 20:14:59 -07:00
2026-05-07 20:14:59 -07:00
2026-05-20 07:35:01 -07:00
2026-05-24 01:43:51 -07:00
2026-05-20 06:56:41 -07:00
2026-05-14 21:46:50 -07:00
2026-05-20 07:35:01 -07:00
2026-04-25 22:52:15 -07:00
2026-04-23 10:23:40 -07:00
2026-04-25 22:52:15 -07:00
2026-04-23 10:23:40 -07:00
2026-04-23 10:23:40 -07:00
2026-04-23 10:23:40 -07:00
2026-04-20 22:18:37 +08:00
2026-05-20 06:56:41 -07:00
2026-05-13 12:22:30 -04:00
2026-04-20 22:18:37 +08:00
2026-04-23 10:23:40 -07:00
2026-04-20 22:18:37 +08:00
2026-04-20 22:18:37 +08:00
2026-05-20 07:35:01 -07:00
2026-04-20 22:18:37 +08:00
2026-04-20 22:18:37 +08:00
2026-05-09 08:06:47 -07:00
2026-05-24 01:43:51 -07:00
2026-05-24 01:43:51 -07:00
2026-05-21 22:15:37 -07:00
2026-05-09 08:06:47 -07:00
2026-05-13 12:22:30 -04:00
2026-05-07 20:14:59 -07:00
2026-05-24 01:43:51 -07:00
2026-05-14 21:19:58 -07:00
2026-05-09 08:06:47 -07:00
2026-04-21 21:58:27 -07:00
2026-04-20 22:18:37 +08:00
2026-05-11 12:16:26 -07:00
2026-03-26 22:07:03 -06:00
2026-05-21 22:15:37 -07:00
2026-05-24 01:43:51 -07:00
2026-05-24 01:43:51 -07:00
2026-05-24 01:43:51 -07:00
2026-05-14 21:55:29 -07:00
2026-04-07 00:23:36 -07:00
2026-05-07 20:14:59 -07:00
2026-04-21 21:58:27 -07:00
2026-03-28 08:35:24 -06:00
2026-05-20 07:35:01 -07:00
2026-05-07 20:14:59 -07:00
2026-04-25 22:52:15 -07:00
2026-04-28 20:08:04 -07:00
2026-05-09 08:06:47 -07:00
2026-04-28 20:08:04 -07:00
2026-05-24 01:43:51 -07:00
2026-04-25 22:52:15 -07:00
2026-05-24 01:43:51 -07:00
2026-05-24 01:43:51 -07:00
2026-05-24 01:43:51 -07:00
2026-05-24 01:43:51 -07:00
2026-05-24 01:43:51 -07:00
2026-05-24 01:43:51 -07:00
2026-04-25 22:52:15 -07:00
2026-03-13 00:31:41 -07:00
2026-05-14 21:55:29 -07:00
2026-04-28 00:57:28 -07:00
2026-05-11 12:16:26 -07:00
2026-03-26 11:15:24 -06:00
2026-04-17 00:45:13 -07:00
2026-04-04 10:17:05 -07:00
2026-05-07 20:14:59 -07:00