VPNs have multiple effects. Which ones are you asking about?
The common ones that come to mind are:
It won’t do the former because media gets loaded directly from federated servers. It might do the latter.
Solved-ish.
I got webpack to run reliably by replacing its use of md4 with sha256 in these files:
$ grep -r md4 node_modules/webpack
node_modules/webpack/lib/ModuleFilenameHelpers.js: const hash = createHash("md4");
node_modules/webpack/lib/optimize/ConcatenatedModule.js: const hash = createHash("md4");
node_modules/webpack/lib/optimize/SplitChunksPlugin.js: .createHash("md4")
node_modules/webpack/lib/NamedModulesPlugin.js: const hash = createHash("md4");
node_modules/webpack/lib/SourceMapDevToolPlugin.js: contentHash: createHash("md4")
node_modules/webpack/lib/WebpackOptionsDefaulter.js: this.set("output.hashFunction", "md4");
node_modules/webpack/lib/HashedModuleIdsPlugin.js: hashFunction: "md4",
then in `config/initializers/content_security_policy.rb’, I replaced the line
.script_src :self, assets_host, "'wasm-unsafe-eval'"
with
p.script_src :self, assets_host, "'wasm-unsafe-eval' 'unsafe-eval'"
This seems like way more tinkering with the code and defaults than I should need to keep the server running so I’ll probably dig more later. I hope this post ends up being useful to anyone else having an issue.
It seems to me software designed to facilitate discussion shouldn’t have a downvote buttton. There should be a UI for marking comments as inappropriate, but it should require a second step saying why. Perhaps one of the reasons should even be “I disagree”, but that option should have no effect.
It’s not impossible to abuse of course, but it nudges people in the right direction. Those UI nudges can be pretty effective.