SolvedPrivateBin 1.3 doesn't work in browsers that don't support webassembly (Tor Browser)


Steps to reproduce

  1. Open instance with version 1.3 in TorBrowser e.g.

What happens

You won't see an editor or content

What should happen

You should see editor/content

Additional information

Screenshot from 2019-07-10 10-21-09

Basic information

Server address:

Browser: TorBrowser 8.5.4 (based on Mozilla Firefox 60.8.0esr) (64-bit)

PrivateBin version: 1.3

I can reproduce this issue on Yes

Maybe related to #441?

21 Answers

✔️Accepted Answer

16 says:

Bug 21549: Disable wasm for now until it is properly audited

Mentioned bug:

Other Answers:

Thanks to the above provided about:config flag that lets us control WASM in firefox, I had the opportunity to play around with the browsers behaviour when webcrypto API is enabled, but WASM isn't.

Two thoughts:

  1. While we had added a feature discovery for the webcrypto API and WASM to display a meaningful error message and the unit tests proved this to be working, in the browser the missing WASM causes zlib.js to error out which leads to privatebin.js awaiting zlib forever, so no error message does get displayed. This obviously needs fixing in zlib.js and/or privatebin.js - may be as simple as ensuring the feature detection is executed earlier then the zlib await in privatebin.js.
  2. We only use WASM for the zlib library and compression. Our current logic already supports disabling of compression globally. If the point above is resolved, the crypto logic can automatically fall back to produce a paste with compression disabled - This means that a browser without WASM support could create pastes and at least read those without compression, just not the pastes/comments with compression enabled - we could display a meaningful warning in that case, so the user learns about the limitations of her/his browser (maybe create with an FAQ entry, so we can give hints about Torbrowser, Firefox ESR or enabling WASM, if disabled). This would be an improvement over not being able to create pastes at all.

Related Issues:

PrivateBin 1.3 doesn't work in browsers that don't support webassembly (Tor Browser) says: Bug 21549: Disable wasm for now until i...
ccxt Binance error: Timestamp for this request was 1000ms ahead of the server's time.
@jasonmellone I just synched my clock Unfortunately just synching the clock does not work ...
tink InvalidProtocolBufferException (Protocol message contained an invalid tag (zero))
+1 This has also been reported on the issue tracker (under ...
ccxt Bitfinex margin trading
Hi! Bitfinex has several types of accounts including an exchange account and a margin account ...
cryptomator Windows: Failure to open vault due to "Mount timed out"
Can you try editing C:\Program Files\Cryptomator\app\Cryptomator.cfg: At the bottom section called [...
gun TypeScript
Hello everyone I've published @types/gun. Hi what is your opinion about TypeScript TypeScript got a ...
tink PyPI package for tink/python
As part of the 1.4.0 release binary packages for Linux and macOS are now available on production PyP...
cryptopp How to find crypto++ package using cmake?
I don't have edit rights in the Wiki (the validation emails seem not able to reach me) so here is an...
ccxt insufficent margin issue when creating order
@websharp950223 yes you're right that should be sufficient I would suggest trying to place an order ...
ccxt Add a hasCORS boolean property to the Exchange Structure /// Webpack throws error when building in Nuxt
@kireerik @cklester So here's the solution Add the following to your config/nuxt.js file: This will ...
ccxt How to make binance "test" buy market order in python with ccxt?
@adam-bhaiji a quick question – are you trying to use spot orders or futures orders? The test param ...
ccxt Watching multiple symbols in parallel with WebSockets
@kroitor Brilliant quite pleased with that as I managed after much longer time to cook something tog...
node argon2 Cannot install argon2 on windows 10
@ranisalt I confirm that it's not working with the latest argon2 (0.20.0) on Windows 10 using node 1...
openssl Can't load ./.rnd into RNG
@bathindahelper I had the same issue as you on Ubuntu 18.04.x When you call openssl 1.1.1а command l...
cryptography pip install cryptography broken on OS X El Capitan
brew to the rescue: then brew gives a hint: So just export these env vars and rerun your favorite pi...
cryptography Compilation fails on latest version of Alpine due to libressl compatibility issues(?)
@happyraul thx for the workaround in case you're using docker this is how it compiles for me: ...
openssl Dubious, test returned 255 (wstat 65280, 0xff00) No subtests run
In case it help anyone on this installing some package : yum install perl-Module-Load-Conditional pe...
swift crypto New API Proposal: Add SECG curves, especially secp256k1
@Lukasa Since I wrote this proposal soon two years ago Bitcoin and the crypto space as a whole have ...
openssl Compile MinGW failed
I fixed this by downgrading MinGW's w32api: mingw-get upgrade w32api<5.0.2 ...
bitcoin test: Remove sync_blocks global
Thanks @brakmic and everyone else for working on issues and making improvements ...
cryptography Unable to install on macOS Big Sur (release version) and Xcode 12.2
For those who have run into this and land on this issue from google searching Using command sudo pip...
bitcoin Windows build appears broken on WSL (buntu okay)
This error is caused by WSL now including Windows PATH In bash if you echo ${PATH} you'll see it's m...
bitcoin Compilation error for windows target
Solved the issue Bitcoin uses g++ not gcc $ sudo update-alternatives --config x86_64-w64-mingw32-g++...
openssl [TEMP. FIX] undefined reference to `pthread_atfork'
So finally It seems that the Nginx configuration file is quite odd So the the temporary solution for...
openssl openssl: relocation error: openssl: symbol EVP_mdc2 version OPENSSL_1_1_0 not defined in file with link time reference
ldconfig fixed the issue for me cat /etc/lsb-release Hello I am using an Ubuntu Server 18.04.4 LTS a...
cryptography Dependencies to build on Alpine Linux?
We have been able to fix our alpine Pipelines by following the suggested changes in the documentatio...
bitcoin GUI: Who is the GUI being designed for and how do we better avoid bikeshedding?
My personal view and projections on the GUI: I think we should not give up the hope to make Bitcoin ...
bitcoin Release schedule for 0.21.0
v0.21.0 (final) was just tagged Here is a proposed release schedule for 0.21.0 the next major releas...
bitcoin Release schedule for 0.18.0
0.18 has been branched 🎉. Here is a proposed release schedule for 0.18.0 the next major release of ...
bitcoin Bitcoind ThreadRPCServer authentication problems
I was running it on Ubuntu 16 I had rpcuser and rpcpassword in the config file but I was getting 401...
cryptography pip install cryptography segmentation fault (SIGSEGV)
I resolved the issue while attempting to get python-dbg to work I was trying to get python-dbg /usr/...
openssl complie failed on CentOS 7
Ah I looked through the changelog for Text::Template and the changes indicate that Text::Template->a...
ring spin-rs no longer maintained (dependency)
Right now x86/x86-64 seems like the only supported platform where we effectively support #[no_std] I...
lnd no admin.macaroon
Are you using --no-macaroons when starting lnd? Try also specifying --no-macaroons to lncli ...
bitcoin Can't sync signet using 0.21-rc3 upgraded to latest aj/202009-signet-generate (69c6e47) I downloaded bitcoin-0.21.0rc...
free email forwarding Emails from going to spam folder in Gmail
OK sorry for the confusion!!! Try again if you already have or haven't; I had to do just two more fi...
laradock Mysql. The server requested authentication method unknown to the client [caching_sha2_password]
alter user 'username'@'localhost' identified with mysql_native_password by 'password'; would fix it....
framework query that worked in Laravel 5.2 gives me error in Laravel 5.3
Ok Laravel can also enable this mode when querying This query works in 5.2: my gallery table looks l...
framework [5.4] SQL error when migrating tables
In your appserviceprovider boot method try adding Best sure to import Illuminate\Support\Facades\Sch...
laradock SQLSTATE[HY000] [2054] The server requested authentication method unknown to the client
+1 I'm having the same problem here. Info: Docker version ($ docker --version): Docker version 17.12...
valet In Brew.php line 187: Unable to determine linked PHP.
I've had the same problem tonight I try methods: composer global update install php 72 brew upgrade ...
jwt auth Argument 3 passed to Lcobucci\JWT\Signer\Hmac::doVerify() must be an instance of Lcobucci\JWT\Signer\Key, null given
Run php artisan jwt:secret that works for me Subject of the issue Describe your issue here ...
psysh Not working after upgrading to PHP 7.3
May I know how do you open this file and drop in the code you mentioned? Thanks ...
laravel activitylog >PHP7.2: Declaration of Orchestra\Testbench\TestCase::setUp() must be compatible with PHPUnit\Framework\TestCase::setUp()
@AndresMatta in TestCase.php file add :void public function setUp(): void phpunit --coverage-text --...
jwt auth Method factory does not exist.
I fixed it changing this protected function: respondWithToken replace 'expires_in' => auth()->factor...
laradock MySQL Container fails to start
I had the same issue last night I think it's the mysql version problem What I did was edited laradoc...
jwt auth Install failed.
@Ekenzy-101 You can add --ignore-platform-reqs to force install it works well for me composer requir...
framework Laravel not compatiable with php 7.2
I solved the problem putting the next code at the beginning of the controller: If you don't know wha...
ddev In WSL2 ddev start fails at docker-credential-desktop.exe, "error listing credentials"
I had to set credsStore: in my ~/.docker/config.json .. it was previously set to credentials.exe ...