Add Ruffle support for Flash files.
Allow viewing Flash posts with the Ruffle emulator. Known issues: * Many flash files aren't fully supported. * In development it sometimes spazzes out and starts triggering random keyboard shortcuts when you press any key. This doesn't happen with the browser extension. * We have to put the .wasm file in the public/packs/js directory because Ruffle is hardcoded to search for it there. * If you're running Nginx, you need to make sure you're serving the right MIME type for .wasm files or it won't work. * We're using Some Random Guy's unofficial NPM package for Ruffle, since the Ruffle project doesn't publish an official package themselves. We should build our own package. References: * https://github.com/ruffle-rs/ruffle * https://github.com/ruffle-rs/ruffle/wiki/Using-Ruffle#configure-webassembly-mime-type * https://www.npmjs.com/package/ruffle-mirror
This commit is contained in:
2
app/javascript/packs/flash.js
Normal file
2
app/javascript/packs/flash.js
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
import "../../../node_modules/ruffle-mirror/ruffle.js";
|
||||||
|
import "../../../node_modules/ruffle-mirror/ea72e7bd92c6a211ab42071518cef232.wasm";
|
||||||
@@ -4,3 +4,5 @@
|
|||||||
<% end %>
|
<% end %>
|
||||||
|
|
||||||
<p><%= link_to "Save this flash (right click and save)", post.tagged_file_url %></p>
|
<p><%= link_to "Save this flash (right click and save)", post.tagged_file_url %></p>
|
||||||
|
|
||||||
|
<%= javascript_pack_tag "flash" %>
|
||||||
|
|||||||
@@ -20,6 +20,12 @@ module.exports = merge(webpackConfig, {
|
|||||||
options: {
|
options: {
|
||||||
runner: "bin/rails runner"
|
runner: "bin/rails runner"
|
||||||
}
|
}
|
||||||
|
}, {
|
||||||
|
test: /\.wasm$/,
|
||||||
|
type: 'asset/resource',
|
||||||
|
generator: {
|
||||||
|
filename: 'js/[name][ext]'
|
||||||
|
}
|
||||||
}]
|
}]
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -27,6 +27,7 @@
|
|||||||
"postcss-loader": "^5.0.0",
|
"postcss-loader": "^5.0.0",
|
||||||
"postcss-preset-env": "^6.7.0",
|
"postcss-preset-env": "^6.7.0",
|
||||||
"rails-erb-loader": "^5.5.0",
|
"rails-erb-loader": "^5.5.0",
|
||||||
|
"ruffle-mirror": "^2021.3.31",
|
||||||
"sass": "^1.32.5",
|
"sass": "^1.32.5",
|
||||||
"sass-loader": "^11.0.0",
|
"sass-loader": "^11.0.0",
|
||||||
"spark-md5": "^3.0.0",
|
"spark-md5": "^3.0.0",
|
||||||
|
|||||||
@@ -8340,6 +8340,7 @@ fsevents@~2.3.1:
|
|||||||
postcss-loader: ^5.0.0
|
postcss-loader: ^5.0.0
|
||||||
postcss-preset-env: ^6.7.0
|
postcss-preset-env: ^6.7.0
|
||||||
rails-erb-loader: ^5.5.0
|
rails-erb-loader: ^5.5.0
|
||||||
|
ruffle-mirror: ^2021.3.31
|
||||||
sass: ^1.32.5
|
sass: ^1.32.5
|
||||||
sass-loader: ^11.0.0
|
sass-loader: ^11.0.0
|
||||||
spark-md5: ^3.0.0
|
spark-md5: ^3.0.0
|
||||||
@@ -8353,6 +8354,13 @@ fsevents@~2.3.1:
|
|||||||
languageName: unknown
|
languageName: unknown
|
||||||
linkType: soft
|
linkType: soft
|
||||||
|
|
||||||
|
"ruffle-mirror@npm:^2021.3.31":
|
||||||
|
version: 2021.3.31
|
||||||
|
resolution: "ruffle-mirror@npm:2021.3.31"
|
||||||
|
checksum: 2247ab90331e9e9a6c532a576ef04f31ecde95fe246b83f96f3af1facd4ab566e99e7834ddfbe8ea5932594e187c78515bac174382c630e34a7ac72b7d6bbb8e
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
"run-parallel@npm:^1.1.9":
|
"run-parallel@npm:^1.1.9":
|
||||||
version: 1.2.0
|
version: 1.2.0
|
||||||
resolution: "run-parallel@npm:1.2.0"
|
resolution: "run-parallel@npm:1.2.0"
|
||||||
|
|||||||
Reference in New Issue
Block a user