Was reading through https://www.diva-portal.org/smash/get/diva2:1451494/FULLTEXT... - what's the current status/eta of raw sockets? Last time I checked wasm consensus seemed to suggest they will never be supported?

Are you talking about the browser or other environments?

There is a proposal [1] for adding sockets to WASI.

This blog post [2] has some more background info.

Outside the browsers, you can always provide extra functionality yourself though by supplying host defined functions as imports. That looses the benefit of a standard API, but is fine for custom deployments.

[1] https://github.com/WebAssembly/WASI/pull/312

[2] https://radu-matei.com/blog/towards-sockets-networking-wasi/

Yeh, this article kinda confirms what I've been thinking the past few years:

"Implementing a server requires additional API functions exposed - specifically, sock_bind, sock_listen, and sock_accept"

"And while implementing them is done similarly to what was described here so far, there is an underlying issue: there is no multi-threading support in WebAssembly"

Really surprised to see so many people talking this up to running many/most server-side applications with so many fundamental features missing.

There is of course the threads proposal [1], which works in chrome with a feature flag, but most runtimes don't support it yet.

In general I have to agree that WASM needs more time. There are multiple quite crucial proposals in the pipeline (reference types, interface types, threads, tail calls and other advanced control flow, module linking, (GC), ...) which have all seen very slow progress.

Overall I'm still bullish on the potential of WASM for universal deployment, but the slow pace is a bit concerning.

[1] https://github.com/WebAssembly/threads