Skip to content

Commit bb2a9c0

Browse files
committed
chore: update progress for US-179
1 parent 1d574ae commit bb2a9c0

2 files changed

Lines changed: 3372 additions & 3357 deletions

File tree

progress.txt

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2250,3 +2250,18 @@ PRD: ralph/kernel-hardening (46 stories)
22502250
- hasBrowserEnv check in axios: `typeof window !== 'undefined' && typeof document !== 'undefined'` — sandbox does NOT define window/document (V8 isolate), so this is false
22512251
- fixture uses `adapter: "fetch"` to explicitly select fetch adapter — this is valid sandbox-blind Node.js code (fetch adapter works in Node.js 18+)
22522252
---
2253+
2254+
## 2026-03-18 - US-179
2255+
- What was implemented: Added ws (WebSocket) project-matrix fixture testing module loading, API shape, Receiver frame parsing, Sender frame construction, and WebSocketServer noServer mode
2256+
- Files changed:
2257+
- packages/secure-exec/tests/projects/ws-pass/fixture.json — fixture config
2258+
- packages/secure-exec/tests/projects/ws-pass/package.json — ws 8.18.0 dependency
2259+
- packages/secure-exec/tests/projects/ws-pass/src/index.js — tests WebSocket/WebSocketServer exports, prototype methods, constants, Receiver/Sender data processing, noServer mode
2260+
- docs/nodejs-compatibility.mdx — added ws to Tested Packages table
2261+
- **Learnings for future iterations:**
2262+
- Sandbox HTTP server does not support WebSocket upgrade (HTTP 101 Switching Protocols) — dispatchServerRequest only handles regular request/response, no bidirectional streaming
2263+
- ws Receiver defaults to client mode (isServer=false) — expects unmasked frames; use MASK bit only for server-mode receivers
2264+
- ws Sender requires a socket with cork()/uncork()/write() methods — provide a complete mock when testing standalone
2265+
- Follow pg-pass/ssh2-pass pattern for packages needing external services: test module loading, API shape, and data-processing features without real connections
2266+
- ClientRequest in sandbox bridge lacks destroy() method — ws calls req.destroy() on failed upgrades, causing "stream.destroy is not a function" error
2267+
---

0 commit comments

Comments
 (0)