Compare commits

...

14 Commits

9 changed files with 49 additions and 14 deletions

View File

@@ -0,0 +1 @@
bash -c 'pkill -9 -x node 2>/dev/null; pkill -9 -x "Vyla Home" 2>/dev/null; pkill -9 -x "vyla-home" 2>/dev/null; rm -rf "$HOME/Library/Application Support/com.vyla.home" "$HOME/Library/Application Support/vyla-home" "$HOME/Library/Application Support/Vyla Home" "$HOME/Library/Caches/com.vyla.home" "$HOME/Library/Caches/vyla-home" "$HOME/Library/Caches/Vyla Home" "$HOME/Library/WebKit/com.vyla.home" "$HOME/Library/WebKit/vyla-home" "$HOME/Library/WebKit/Vyla Home" "$HOME/Library/Logs/Vyla Home" "$HOME/Library/Preferences/com.vyla.home.plist" "$HOME/.vyla-home" "/Applications/Vyla Home.app" "/Applications/vyla-home.app" "$HOME/Applications/Vyla Home.app" "$HOME/Applications/vyla-home.app" "src-tauri/target" "dist-build" "temp-validation-extract" "dist" "frontend" "player" "auth-proxy" "stream-api" "logs" "*.log" "download-temp.zip" "update-payload.zip" "manifest.json" "validation-report.json" "config/encrypted-credentials.json" "config/credentials.json"; echo "Vyla Home cleanup complete."'

View File

@@ -22,8 +22,8 @@ const clonedRepos = new Set();
function clonePrivateRepo(repoConfig, targetDir) {
if (fs.existsSync(targetDir)) {
console.log(`[DEV] ${repoConfig.name} already exists locally. Skipping clone to use local changes.`);
return;
console.log(`Removing stale ${repoConfig.name} before fresh clone...`);
fs.rmSync(targetDir, { recursive: true, force: true });
}
const token = process.env.GITLAB_TOKEN || process.env.VYLA_GITLAB_TOKEN;

View File

@@ -1,6 +1,6 @@
{
"name": "vyla-home",
"version": "1.1.19",
"version": "1.1.26",
"description": "Vyla Home Desktop App Launcher",
"main": "main.js",
"scripts": {
@@ -54,4 +54,4 @@
"installerHeaderIcon": "build/icon.ico"
}
}
}
}

2
src-tauri/Cargo.lock generated
View File

@@ -4222,7 +4222,7 @@ dependencies = [
[[package]]
name = "vyla-home"
version = "1.1.19"
version = "1.1.26"
dependencies = [
"base64 0.22.1",
"serde",

View File

@@ -1,6 +1,6 @@
[package]
name = "vyla-home"
version = "1.1.19"
version = "1.1.26"
description = "Vyla Home Desktop App Launcher"
edition = "2021"

21
src-tauri/Info.plist Normal file
View File

@@ -0,0 +1,21 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsLocalNetworking</key>
<true/>
<key>NSExceptionDomains</key>
<dict>
<key>localhost</key>
<dict>
<key>NSExceptionAllowsInsecureHTTPLoads</key>
<true/>
<key>NSIncludesSubdomains</key>
<false/>
</dict>
</dict>
</dict>
</dict>
</plist>

View File

@@ -58,15 +58,23 @@ fn kill_child_process(child: &mut Child) {
fn find_node_binary(app: &tauri::App) -> Option<String> {
if let Ok(resource_dir) = app.path().resource_dir() {
#[cfg(windows)]
let candidates = [
resource_dir.join("bin").join("node.exe"),
resource_dir.join("bin").join("node"),
resource_dir.join("node.exe"),
resource_dir.join("node"),
resource_dir.join("_up_").join("bin").join("node.exe"),
resource_dir.join("_up_").join("bin").join("node"),
resource_dir.join("_up_").join("node.exe"),
resource_dir.join("up").join("bin").join("node.exe"),
resource_dir.join("up").join("node.exe"),
];
#[cfg(not(windows))]
let candidates = [
resource_dir.join("bin").join("node"),
resource_dir.join("node"),
resource_dir.join("_up_").join("bin").join("node"),
resource_dir.join("_up_").join("node"),
resource_dir.join("up").join("bin").join("node"),
resource_dir.join("up").join("node"),
];
for candidate in candidates {
if candidate.exists() {
@@ -156,6 +164,7 @@ fn resolve_script_and_root(app: &tauri::App) -> (String, String) {
let candidates = vec![
resource_dir.join("main.js"),
resource_dir.join("_up_").join("main.js"),
resource_dir.join("up").join("main.js"),
];
for candidate in candidates {
@@ -644,7 +653,7 @@ fn main() {
.inner_size(1280.0, 800.0)
.decorations(false)
.resizable(true)
.devtools(cfg!(debug_assertions))
.devtools(true)
.initialization_script("window.__VYLA_WINDOW_LABEL = 'main';")
.initialization_script(LINK_HANDLER_SCRIPT)
.build()?;

View File

@@ -1,7 +1,7 @@
{
"$schema": "https://schema.tauri.app/config/2",
"productName": "Vyla Home",
"version": "1.1.19",
"version": "1.1.26",
"identifier": "com.vyla.home",
"build": {
"frontendDist": "../ui"
@@ -9,7 +9,7 @@
"app": {
"withGlobalTauri": true,
"security": {
"csp": null
"csp": "default-src 'self' http://localhost:4890 http://127.0.0.1:4890; script-src 'self' 'unsafe-inline' 'unsafe-eval' http://localhost:4890 http://127.0.0.1:4890 https://esm.sh; style-src 'self' 'unsafe-inline' http://localhost:4890 http://127.0.0.1:4890; img-src 'self' data: https: http://localhost:4890 http://127.0.0.1:4890; font-src 'self' data: http://localhost:4890 http://127.0.0.1:4890; connect-src 'self' http://localhost: http://127.0.0.1:"
}
},
"bundle": {
@@ -22,6 +22,10 @@
"icons/icon.icns",
"icons/icon.ico"
],
"macOS": {
"exceptionDomain": "localhost",
"infoPlist": "Info.plist"
},
"windows": {
"webviewInstallMode": {
"type": "downloadBootstrapper"
@@ -41,4 +45,4 @@
"../node_modules/**/*"
]
}
}
}

View File

@@ -587,7 +587,7 @@ void main() {
const data = e.payload || e;
if (data && data.url) {
setStatus("Launching...");
window.location.href = data.url;
window.location.replace(data.url);
}
});