fraid so. i would prefer to avoid it, but it seemed nessesary. i had an older version of it that was using the js primitives from the browser, but the issue there was that crypto primitives were not always provided by the browsers and different browsers have their only roadmap for supporting it.
so rust to wasm was a reliable way to get the crypto primitives needed. that was how it was done on several other projects including the official signal one.