Agree, it is one of the best WASM interpreter! Even better than some of the runtimes we can get here and then
Performance is very good and architecture and beauty of the code is definitely impressive.
I once made an app and a talk on this matter. Slides about problems mentionned in the article were addressed from slide 15 onwards. Mainly I remember having used Lamport clocks to track rows' causal history. And negative primary keys for inserting data in offline mode (these days I'd use UUID).
Since IndexedDB was not a thing yet on every browser, I used asm.js (ancestor to WebAssembly) to compile SQLite for the browser. The database file was stored in the LocalStorage and I used zlib (compiled with emscripten) to make most of the little space LocalStorage gave to us.
It has been a learning experience, and worked at the end. I wonder how I would do differently today...
By the way, we were using GWT to code for the browser, but that's just an anecdote and not important for that matter...
What I like too, is that there is a datadog connector. It sends the number of VUs and we can correlate that in our main datadog board, viewing how the app reacts to the load.
I use it since 6 months to test a kubernetes micro service application. I love the model, when you write CODE for your tests. We code the tests in typescript.