Cannot access Brave Search on mobile - WebAssembly error

Description of the issue:
I am intermittently unable to use Brave Search in the Vanadium (Chromium-based) mobile browser. I am using Proton VPN with NetShield (blocks malware, tracking, and ads) enabled. I am presented with the below error (also shown as a Desktop site as I cannot scroll once the error presents). It seems to be missing a button? It does disappear on it’s own after a while but it makes Brave Search unusable. Clearing my cache doesn’t help.


Operating System:
Graphene OS (https://github.com/GrapheneOS) | Android 13

I’m not familiar with Vanadium, however it’s likely they have JavaScript JIT (Just-in-Time) disabled to enhance security.

With JavaScript JIT disabled, it’s possible to reproduce the same issue in Brave browser as well, as shown in the below screenshot:

The Brave search captcha challenge requires WebAssembly, however on Chromium-based browsers, if JIT is disabled then WebAssembly doesn’t work and therefore the “This page needs WebAssembly to function” error message is displayed, stating “WebAssembly is currently not enabled in your browser”.

Microsoft Edge is the exception, as they’ve implemented a WebAssembly Interpreter (DrumBrake) that allows WebAssembly to still function with JIT disabled (I.E. WebAssembly still works with Edge “Enhanced Security Mode” set to strict). In the below screenshot for example, JIT is disabled in Edge, however the Brave search captcha still works due to DrumBrake. Microsoft have stated that “…We plan to contribute DrumBrake to the Chromium Project for others to use as well”, so perhaps we will see it in other Chromium-based browsers at some point.

For now, if Vanadium have disabled JavaScript JIT by default, it may be possible to enable JIT on a per-site basis (I.E. for search.brave‍.com), however I am not familiar with Vanadium to know whether this is the case or not – perhaps in site permissions.

You are a legend sir - thanks for in-depth reply. Vanadium does offer the option of enabling Javascript JIT on a per-site basis. Switching in on fixed the issue. Many thanks!