So how soon do we get sqlite extensions in the browser with WASM?

It's possible but very difficult. For extensions built purely in C, you can statically compile extensions into a SQLite WASM build, which I have a few demos of with sqlite-lines [0] and sqlite-path[1].

For extensions but in Rust however, it's much more difficult. Matt @tantaman has some success cross compiling his cr-sqlite [2] project to WASM, but it's quite complex.

SQLite extensions typical rely on dlopen() to load dynamic libraries as an extension. WASM doesn't really have that, so you either have to statically compile your extension in your WASM build (which is difficult for non-C languages bc SQLite is written in C), or hack around some barely-supported WASM features that emulate dlopen(). Though I'm not the best with WASM, so hopefully someone with more WASM experience chimes in to help! It's something I'm tracking in this issue for the `sqlite-loadble-rs` project [3]

[0] https://observablehq.com/@asg017/introducing-sqlite-lines#ce...

[1] https://observablehq.com/@asg017/introducing-sqlite-path#cel...

[2] https://github.com/vlcn-io/cr-sqlite

[3] https://github.com/asg017/sqlite-loadable-rs/issues/5