str4d / wage

A WASM package and web app for encrypting and decrypting age-encrypted files, powered by rage.
https://rage-encry.pt
Apache License 2.0
74 stars 14 forks source link

Trying to initialize wage ends up with fatal i18n error #41

Closed mikroskeem closed 2 years ago

mikroskeem commented 2 years ago

Environment

What were you trying to do

Create an identity

What happened

panicked at 'called `Result::unwrap()` on an `Err` value: LanguageNotAvailable("en-US/age.ftl", LanguageIdentifier { language: Language(Some("en")), script: None, region: Some(Region("US")), variants: None })', /Users/mark/.cargo/registry/src/github.com-1ecc6299db9ec823/age-0.7.1/src/i18n.rs:21:69

Stack:

__wbg_new_693216e109162396/<@webpack-internal:///./node_modules/wage/wage_bg.js:1130:17
logError@webpack-internal:///./node_modules/wage/wage_bg.js:339:18
__wbg_new_693216e109162396@webpack-internal:///./node_modules/wage/wage_bg.js:1129:48
__wbg_new_693216e109162396@http://192.168.1.172:8080/js/app.js:864:82
console_error_panic_hook::Error::new::h6473c06b199daf3a@http://192.168.1.172:8080/c6d6eca5ea56f3c37af4.module.wasm:wasm-function[11410]:0x30318a
console_error_panic_hook::hook_impl::he9b02191b67d0b2f@http://192.168.1.172:8080/c6d6eca5ea56f3c37af4.module.wasm:wasm-function[1423]:0x1a82e8
console_error_panic_hook::hook::h424364dd1d88411c@http://192.168.1.172:8080/c6d6eca5ea56f3c37…
mikroskeem commented 2 years ago

Seems to only happen with wasm-pack build --debug.

mikroskeem commented 2 years ago

Turns out rust-embed crate which is pulled in by i18n-embed, is the root cause. In debug mode, it's trying to use the filesystem directly, which does not make much sense in WebAssembly context.

[dependencies.rust-embed]
version = "6"
features = ["debug-embed"]