From 8b328c854a1a3e4ac9618d1326b2de78e90ccf8f Mon Sep 17 00:00:00 2001 From: Philpax Date: Wed, 27 Sep 2023 15:08:50 +0200 Subject: [PATCH] feat(text): don't crash if url can't be fetched --- crates/text/src/lib.rs | 8 +++++++- web/Cargo.lock | 9 +++++---- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/crates/text/src/lib.rs b/crates/text/src/lib.rs index 525297993a..7e672fae62 100644 --- a/crates/text/src/lib.rs +++ b/crates/text/src/lib.rs @@ -182,7 +182,13 @@ impl AsyncAssetKey> for FontDef { }; Arc::new(FontArc::try_from_slice(font).unwrap()) } - FontFamily::Custom(url) => FontFromUrl(url.clone()).get(&assets).await.unwrap(), + FontFamily::Custom(url) => match FontFromUrl(url.clone()).get(&assets).await { + Ok(font) => font, + Err(err) => { + log::error!("Failed to fetch font at {url}: {err}; using fallback font"); + FontDef(FontFamily::Default, self.1).get(&assets).await + } + }, } } } diff --git a/web/Cargo.lock b/web/Cargo.lock index cace08343f..95774d4d42 100644 --- a/web/Cargo.lock +++ b/web/Cargo.lock @@ -311,12 +311,12 @@ dependencies = [ "ambient_shared_types", "ambient_sys", "anyhow", + "as-any", "atomic_refcell", "bit-set", "bit-vec", "byteorder", "data-encoding", - "downcast-rs", "erased-serde", "glam", "itertools", @@ -627,6 +627,7 @@ dependencies = [ "ambient_ui_native", "ambient_world_audio", "anyhow", + "as-any", "async-trait", "bincode", "bytes", @@ -880,10 +881,10 @@ dependencies = [ "ambient_settings", "ambient_sys", "anyhow", + "as-any", "async-trait", "bytemuck", "derive_more", - "downcast-rs", "glam", "itertools", "log", @@ -1313,9 +1314,9 @@ dependencies = [ [[package]] name = "as-any" -version = "0.2.1" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "088ccb346677e658e7ccd9627c62576fba881f4db7fab71fa9e21bf31c0aa4cb" +checksum = "5b8a30a44e99a1c83ccb2a6298c563c888952a1c9134953db26876528f84c93a" [[package]] name = "ash"