Compare commits

..

No commits in common. "74219ad333e41acfbea1e09a62f667c91e89a762" and "58dae5df6f52869943a6711d9199dfd89554180e" have entirely different histories.

4 changed files with 27 additions and 7 deletions

3
Cargo.lock generated
View File

@ -2904,7 +2904,6 @@ dependencies = [
"serde_json", "serde_json",
"shared", "shared",
"thiserror 1.0.69", "thiserror 1.0.69",
"uuid",
"wasm-bindgen", "wasm-bindgen",
"wasm-bindgen-test", "wasm-bindgen-test",
"web-sys", "web-sys",
@ -6838,9 +6837,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ced87ca4be083373936a67f8de945faa23b6b42384bd5b64434850802c6dccd0" checksum = "ced87ca4be083373936a67f8de945faa23b6b42384bd5b64434850802c6dccd0"
dependencies = [ dependencies = [
"getrandom 0.3.1", "getrandom 0.3.1",
"js-sys",
"serde", "serde",
"wasm-bindgen",
] ]
[[package]] [[package]]

View File

@ -140,6 +140,29 @@ impl Transformer for StripHtml {
} }
} }
struct InlineRemoteStyle<'a> {
base_url: &'a Option<Url>,
}
#[async_trait]
impl<'a> Transformer for InlineRemoteStyle<'a> {
async fn transform(&self, _: &Option<Url>, html: &str) -> Result<String, TransformError> {
//info!("HTML:\n{html}");
Ok(
match CSSInliner::options()
.base_url(self.base_url.clone())
.build()
.inline(&html)
{
Ok(inlined_html) => inlined_html,
Err(err) => {
error!("failed to inline remote CSS: {err}");
html.to_string()
}
},
)
}
}
struct InlineStyle; struct InlineStyle;
#[async_trait] #[async_trait]

View File

@ -34,9 +34,6 @@ gloo-net = { version = "0.6.0", features = ["json", "serde_json"] }
human_format = "1.1.0" human_format = "1.1.0"
build-info = "0.0.39" build-info = "0.0.39"
wasm-bindgen = "0.2.95" wasm-bindgen = "0.2.95"
uuid = { version = "1.13.1", features = [
"js",
] } # direct dep to set js feature, prevents Rng issues
[package.metadata.wasm-pack.profile.release] [package.metadata.wasm-pack.profile.release]
wasm-opt = ['-Os'] wasm-opt = ['-Os']

View File

@ -496,7 +496,10 @@ pub fn update(msg: Msg, model: &mut Model, orders: &mut impl Orders<Msg>) {
} }
Msg::MultiMsg(msgs) => msgs.into_iter().for_each(|msg| update(msg, model, orders)), Msg::MultiMsg(msgs) => msgs.into_iter().for_each(|msg| update(msg, model, orders)),
Msg::CopyToClipboard(text) => { Msg::CopyToClipboard(text) => {
let clipboard = seed::window().navigator().clipboard(); let clipboard = seed::window()
.navigator()
.clipboard()
.expect("couldn't get clipboard");
orders.perform_cmd(async move { orders.perform_cmd(async move {
wasm_bindgen_futures::JsFuture::from(clipboard.write_text(&text)) wasm_bindgen_futures::JsFuture::from(clipboard.write_text(&text))
.await .await