@JoyeeCheung I just went through this (API-breaking change to V8, requiring a patch to node-ci) and this would have been very helpful. Thanks for the writeup.
@juberti Any info on WER or similar for gpt-realtime-whisper? Hard to know if it's worth trying without that, especially at 10x the price of competitors.
@sergeantsup My least favorite form of this is "I find it interesting that you [some uncharitable framing of interlocutor's opinion/behavior here]".
This is a coward's way of avoiding making direct accusations. If you want to accuse someone of hypocrisy of whatever, do so.
@KentonVarda@domenic Firefox already doesn't do this. Not sure about Safari, couldn't follow their code and I didn't both with writing a benchmark. So, not a cross-runtime issue.
(Well, "bug". Chrome did it on purpose, for a diagnostic. But no one uses that diagnostic anymore so it can be removed.)
My most idiosyncratic JS opinion is that we should all write
`0, { x } = y;`
instead of
`({ x } = y);`
so you don't have to jump to the end of the line to add the parenthesis. If only I could convince tooling to support this... (i.e. get prettier not to add the parentheses)
@robpalmer2@proxy_vector@jarredsumner Base64 shipped in stable Safari 9 months before it shipped in stable Chrome (2024-12-11 vs 2025-09-02), for example.
And because bun picks up JSC faster than node picks up V8, it shipped in Bun on 2024-08-07 and in Node not until 2025-10-15.
@as0355@robpalmer2@matteocollina@nodejs V8 uses a lot of libraries and increasingly the libraries it would want to use will be written in Rust. Porting this and other such libraries to C++ would be a lot of work for little gain and significant downsides. And Temporal is user-exposed, so safety matters a lot.
@as0355@robpalmer2@matteocollina@nodejs It is very very large.
Also, Chrome already uses Rust libraries elsewhere, and I expect V8 will want to do so in the future as well. Had to happen sometime, might as well happen now.
(Plus memory safety is nice, especially for JS engines.)
@jarredsumner@izs You could download a top 10000 npm packages and check their package.jsons, I would bet there's 0.
If you want to be really safe, do `a:platform=win32` or some other slightly more obscure string.
@cramforce@apaprocki@styfle That is a bad summary. The key part of the second set of notes is
"several implementers have been expressing some hesitation to being the first to ship decorators, and so itβs kind of a -- a little bit of a standstill at the moment"
Nothing has changed since then.
Several people blamed the recent npm incidents on JS's minimal standard library.
I think that's wrong: the affected packages are mostly either already covered by node or could not reasonably be in a standard library.
But! I'm always taking suggestions for new stdlib features.
@ljharb@sawyerhood I suspect we'd still find a lot of stuff before the threshold is reached, but even if not, everyone doing this would still help with stuff like the recent worm, because it would add a 1-day delay before the worm to jump from one package to another.
@matteocollina@nodejs I feel like this has gotten much better since ~14 or so. Used to be every time I updated Node something broke, but that's mostly not the case lately.
Having more builtins (sqlite, etc) also helps tremendously, since those keep working.