mirror of
https://github.com/MindWorkAI/AI-Studio.git
synced 2026-05-13 19:24:10 +00:00
Fixed navigation logic for Windows builds (#755)
Some checks failed
Build and Release / Determine run mode (push) Has been cancelled
Build and Release / Build app (${{ matrix.dotnet_runtime }}) (-x86_64-apple-darwin, osx-x64, macos-latest, x86_64-apple-darwin, dmg,app,updater, dmg) (push) Has been cancelled
Build and Release / Build app (${{ matrix.dotnet_runtime }}) (-x86_64-pc-windows-msvc.exe, win-x64, windows-latest, x86_64-pc-windows-msvc, nsis,updater, nsis) (push) Has been cancelled
Build and Release / Build app (${{ matrix.dotnet_runtime }}) (-x86_64-unknown-linux-gnu, linux-x64, ubuntu-22.04, x86_64-unknown-linux-gnu, appimage,updater, appimage) (push) Has been cancelled
Build and Release / Prepare & create release (push) Has been cancelled
Build and Release / Read metadata (push) Has been cancelled
Build and Release / Build app (${{ matrix.dotnet_runtime }}) (-aarch64-apple-darwin, osx-arm64, macos-latest, aarch64-apple-darwin, dmg,app,updater, dmg) (push) Has been cancelled
Build and Release / Build app (${{ matrix.dotnet_runtime }}) (-aarch64-pc-windows-msvc.exe, win-arm64, windows-latest, aarch64-pc-windows-msvc, nsis,updater, nsis) (push) Has been cancelled
Build and Release / Build app (${{ matrix.dotnet_runtime }}) (-aarch64-unknown-linux-gnu, linux-arm64, ubuntu-22.04-arm, aarch64-unknown-linux-gnu, appimage,updater, appimage) (push) Has been cancelled
Build and Release / Publish release (push) Has been cancelled
Some checks failed
Build and Release / Determine run mode (push) Has been cancelled
Build and Release / Build app (${{ matrix.dotnet_runtime }}) (-x86_64-apple-darwin, osx-x64, macos-latest, x86_64-apple-darwin, dmg,app,updater, dmg) (push) Has been cancelled
Build and Release / Build app (${{ matrix.dotnet_runtime }}) (-x86_64-pc-windows-msvc.exe, win-x64, windows-latest, x86_64-pc-windows-msvc, nsis,updater, nsis) (push) Has been cancelled
Build and Release / Build app (${{ matrix.dotnet_runtime }}) (-x86_64-unknown-linux-gnu, linux-x64, ubuntu-22.04, x86_64-unknown-linux-gnu, appimage,updater, appimage) (push) Has been cancelled
Build and Release / Prepare & create release (push) Has been cancelled
Build and Release / Read metadata (push) Has been cancelled
Build and Release / Build app (${{ matrix.dotnet_runtime }}) (-aarch64-apple-darwin, osx-arm64, macos-latest, aarch64-apple-darwin, dmg,app,updater, dmg) (push) Has been cancelled
Build and Release / Build app (${{ matrix.dotnet_runtime }}) (-aarch64-pc-windows-msvc.exe, win-arm64, windows-latest, aarch64-pc-windows-msvc, nsis,updater, nsis) (push) Has been cancelled
Build and Release / Build app (${{ matrix.dotnet_runtime }}) (-aarch64-unknown-linux-gnu, linux-arm64, ubuntu-22.04-arm, aarch64-unknown-linux-gnu, appimage,updater, appimage) (push) Has been cancelled
Build and Release / Publish release (push) Has been cancelled
This commit is contained in:
parent
eb9c6be16e
commit
f69186f7a9
@ -203,6 +203,14 @@ fn is_local_host(host: Option<&str>) -> bool {
|
|||||||
matches!(host, Some("localhost") | Some("127.0.0.1") | Some("::1") | Some("[::1]"))
|
matches!(host, Some("localhost") | Some("127.0.0.1") | Some("::1") | Some("[::1]"))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fn is_tauri_asset_host(host: Option<&str>) -> bool {
|
||||||
|
matches!(host, Some("tauri.localhost"))
|
||||||
|
}
|
||||||
|
|
||||||
|
fn is_tauri_asset_url(url: &tauri::Url) -> bool {
|
||||||
|
matches!(url.scheme(), "http" | "https") && is_tauri_asset_host(url.host_str())
|
||||||
|
}
|
||||||
|
|
||||||
fn is_local_http_url(url: &tauri::Url) -> bool {
|
fn is_local_http_url(url: &tauri::Url) -> bool {
|
||||||
matches!(url.scheme(), "http" | "https") && is_local_host(url.host_str())
|
matches!(url.scheme(), "http" | "https") && is_local_host(url.host_str())
|
||||||
}
|
}
|
||||||
@ -220,6 +228,10 @@ fn should_open_in_system_browser<R: tauri::Runtime>(webview: &tauri::Webview<R>,
|
|||||||
_ => return false,
|
_ => return false,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if is_tauri_asset_url(url) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
if let Some(approved_app_url) = APPROVED_APP_URL.lock().unwrap().as_ref() {
|
if let Some(approved_app_url) = APPROVED_APP_URL.lock().unwrap().as_ref() {
|
||||||
if same_origin(approved_app_url, url) {
|
if same_origin(approved_app_url, url) {
|
||||||
return false;
|
return false;
|
||||||
@ -942,6 +954,36 @@ fn validate_shortcut_syntax(shortcut: &str) -> bool {
|
|||||||
has_key
|
has_key
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[cfg(test)]
|
||||||
|
mod tests {
|
||||||
|
use super::*;
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn tauri_localhost_is_tauri_asset_url() {
|
||||||
|
let https_url = tauri::Url::parse("https://tauri.localhost/index.html").unwrap();
|
||||||
|
let http_url = tauri::Url::parse("http://tauri.localhost/index.html").unwrap();
|
||||||
|
|
||||||
|
assert!(is_tauri_asset_url(&https_url));
|
||||||
|
assert!(is_tauri_asset_url(&http_url));
|
||||||
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn localhost_app_url_is_not_tauri_asset_url() {
|
||||||
|
let url = tauri::Url::parse("http://localhost:12345/").unwrap();
|
||||||
|
|
||||||
|
assert!(!is_tauri_asset_url(&url));
|
||||||
|
assert!(is_local_http_url(&url));
|
||||||
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn external_url_is_not_internal_url() {
|
||||||
|
let url = tauri::Url::parse("https://example.com/").unwrap();
|
||||||
|
|
||||||
|
assert!(!is_tauri_asset_url(&url));
|
||||||
|
assert!(!is_local_http_url(&url));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
fn set_pdfium_path<R: tauri::Runtime>(path_resolver: &PathResolver<R>) {
|
fn set_pdfium_path<R: tauri::Runtime>(path_resolver: &PathResolver<R>) {
|
||||||
let resource_dir = match path_resolver.resource_dir() {
|
let resource_dir = match path_resolver.resource_dir() {
|
||||||
Ok(path) => path,
|
Ok(path) => path,
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user