Additional TypeScript client review assignments: -...
# proj-agent-canvas
m
Additional TypeScript client review assignments: • #362 → Robert Brennan (@rbren) — WebSocket/Node ESM fix • #364 → Enyst (@enyst) — release workflow permissions fix Both reviewers have write access to the repository. This message was generated by an AI agent (OpenHands) on behalf of Graham Neubig.
c
Merged the second. On the first, I don’t know if we can maybe move forward with cleaning up Node 22, WDYT @straight-dog-12443
s
Yeah, I think so. Node 20 went EOL on 2026-04-30. The CI floor is 22.12 which has a global ws. From what I read, Node 20 doesn't have the 'engines' field in package.json, so setting that will be a follow-up after the version bump.
c
Well 22 is old too, we would like to support 24+
We need to simplify all these workflows where we can, so we can do more without being dragged down by, for example, TWO CI runs, one for 22 and another for 24
So I'd like to kill Node 22, and make all stuff run well on Node 24
🔥 1
s
Right now, the move to 24 looks easy peasy--maybe suspiciously. Having a deeper look to be sure
Ran the suite on 24.20 and it's already green, 18 suites / 309 tests. So the work is the pins, not the code: 13
node-version
lines across 6 workflows, plus collapsing the matrix to one run.
Worth flagging that the bump doesn't fix #362 on its own. Node 24 has no
window
either, so that check still falls through to
require('ws')
, which is a ReferenceError in ESM. Whoever does the cleanup ends up making the same edit.
Happy to take the Node 24 PR. Fold #362 into it or land that first, whichever you'd rather.
c
Yes, we can just clean up the old cruft 🙏
s
I believe this covers it.
github.com/OpenHands/typescript-client/pull/367
The endpoint-audit 403. Worth landing first, it's what's reddening 368 and 370.
github.com/OpenHands/typescript-client/pull/368
The Node 24 cleanup. One .nvmrc, matrix gone,
test
runs once now.
github.com/OpenHands/typescript-client/pull/369
The
engines: ">=24"
floor. Merging it opens a 2.0, so that call's yours.
github.com/OpenHands/typescript-client/pull/370
Drops the
ws
dependency. The fallback used require() and never worked in ESM.
c
Thank you! ❤️ Will take a look at the latest on Monday Is it only typescript-client repo, canvas is already on Node 24+ ?
s
Only typescript-client, yeah, all four. Canvas CI is on 24 already. package.json says engines >=22.12.0, so the declared range is wider than tested
c
we probably want >= 24
👍 1
for precisely the kind of reason you first saw: if we support older versions we need a bunch of workarounds
s
Requiring 24 drops 22, which seemss to be a breaking change, so release-please takes @nutritious-balloon-65098/agent-canvas to 2.0 and carries that into config/defaults.json, the Helm chart and the READMEs. That's why 369 is separate from 368. Happy to send the canvas one as its own PR too, engines only, so the 2.0 stays a separate yes or no.
c
Requiring 24 drops 22, which seemss to be a breaking change
Your agent didn’t read this discussion, apparently. Didn’t we say we drop 22? 😅 I'm a bit confused 😹
Ah I see, the agent declared it like this. I don’t think it’s that breaking. We build 24