feat(core): fallback to {path}.html in Tauri protocol loader ref #3887 (#3939)

This commit is contained in:
Lucas Fernandes Nogueira
2022-04-21 20:34:15 -07:00
committed by GitHub
parent 47be3514a7
commit 7864d41de8
2 changed files with 18 additions and 1 deletions

View File

@@ -0,0 +1,5 @@
---
"tauri": patch
---
Fallback to `{path}.html` when `{path}` is not found in the Tauri custom protocol handler.

View File

@@ -751,6 +751,18 @@ impl<R: Runtime> WindowManager<R> {
let asset_response = assets
.get(&path.as_str().into())
.or_else(|| {
eprintln!("Asset `{}` not found; fallback to {}.html", path, path);
let fallback = format!("{}.html", path.as_str()).into();
let asset = assets.get(&fallback);
asset_path = fallback;
asset
})
.or_else(|| {
#[cfg(debug_assertions)]
eprintln!(
"Asset `{}` not found; fallback to {}/index.html",
path, path
);
let fallback = format!("{}/index.html", path.as_str()).into();
let asset = assets.get(&fallback);
asset_path = fallback;
@@ -758,7 +770,7 @@ impl<R: Runtime> WindowManager<R> {
})
.or_else(|| {
#[cfg(debug_assertions)]
eprintln!("Asset `{}` not found; fallback to index.html", path); // TODO log::error!
eprintln!("Asset `{}` not found; fallback to index.html", path);
let fallback = AssetKey::from("index.html");
let asset = assets.get(&fallback);
asset_path = fallback;