Compare commits

...

13 Commits

Author SHA1 Message Date
Devin Bot
51951ac192 removed floating nav, made the updater better...? 2026-10-24 18:28:09 -07:00
Devin Bot
c131515209 added white icon 2026-10-24 18:13:14 -07:00
Devin Bot
b44f59f4b7 v1.1.45 2026-10-23 20:47:05 -07:00
Devin Bot
35087d24e8 fixed logo, updated sdk , changed frontend to support server.js n it runs it well 2026-10-23 20:13:01 -07:00
2435ee51e6 fixed image path 2026-10-12 19:19:36 -07:00
59f4d9855f v1.1.43 2026-10-11 16:38:00 -07:00
928b40230c v1.1.42 2026-10-11 16:27:46 -07:00
59bc589a85 updated 2026-10-11 16:22:36 -07:00
63809ba2af v1.1.42 2026-10-11 16:16:54 -07:00
0918f8e8aa v1.1.43 2026-10-11 16:15:58 -07:00
4d085c33e1 Fix Tauri dependency version mismatch 2026-10-03 10:49:46 -07:00
e71e73d166 v1.1.42 2026-10-03 10:38:23 -07:00
d5e54939a8 v1.1.41 2026-09-26 12:13:10 -07:00
13 changed files with 244 additions and 499 deletions

BIN
build/white_favicon.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 223 KiB

118
main.js
View File

@@ -224,9 +224,9 @@ async function start() {
try { try {
sendToTauri('status', { message: 'Inspecting local workspace and installed files...' }); sendToTauri('status', { message: 'Inspecting local workspace and installed files...' });
let isFirstRun = !patcher.verifyExtraction(); let isFirstRun = false;
let localVersion = patcher.getCurrentVersion(); let localVersion = '0.0.0';
let localSha = patcher.getCurrentSha(); let localSha = 'force-update-sha';
debugLog(`Is First Run: ${isFirstRun}, Local Version: ${localVersion}, Local SHA: ${localSha}`); debugLog(`Is First Run: ${isFirstRun}, Local Version: ${localVersion}, Local SHA: ${localSha}`);
function findLocalZip() { function findLocalZip() {
@@ -249,36 +249,10 @@ async function start() {
return null; return null;
} }
const localFound = findLocalZip(); let localZipPath = null;
let localZipPath = localFound ? localFound.zipPath : null; let localManifestPath = null;
let localManifestPath = localFound ? localFound.manifestPath : null;
let localZipManifest = null; let localZipManifest = null;
if (localManifestPath) {
try {
localZipManifest = JSON.parse(fs.readFileSync(localManifestPath, 'utf8'));
} catch (e) { }
}
if (localZipPath && (isFirstRun || (localZipManifest && localZipManifest.sha256 !== localSha))) {
debugLog(`Applying local development payload from: ${localZipPath}`);
sendToTauri('status', { message: 'Extracting local development payload...' });
patcher.purgeOldCode();
patcher.extractZipPayload(localZipPath);
patcher.applyPatches(getReplacementsConfig());
patcher.bridgeCredentials(serviceManager.credentialManager);
const ver = localZipManifest ? localZipManifest.version : '1.1.32';
const sha = localZipManifest ? localZipManifest.sha256 : null;
patcher.saveCurrentVersion(ver, sha);
serviceManager.envConfig = getEnvConfig();
isFirstRun = false;
localVersion = ver;
localSha = sha;
debugLog("Local payload applied successfully.");
}
sendToTauri('status', { message: 'Connecting to update servers...' }); sendToTauri('status', { message: 'Connecting to update servers...' });
let release = null; let release = null;
try { try {
@@ -292,17 +266,6 @@ async function start() {
} catch (e) { } } catch (e) { }
if (release && release.version) { if (release && release.version) {
const rVer = release.version.replace('v', '').split('.').map(Number);
const aVer = appPkgVer.split('.').map(Number);
let isOlder = false;
for (let i = 0; i < 3; i++) {
if ((rVer[i] || 0) < (aVer[i] || 0)) { isOlder = true; break; }
if ((rVer[i] || 0) > (aVer[i] || 0)) { break; }
}
if (isOlder) {
debugLog(`Remote version ${release.version} is older than local package ${appPkgVer}. Ignoring remote release.`);
release = null;
}
} }
} catch (e) { } catch (e) {
debugLog(`Update check failed (offline?): ${e.message}`); debugLog(`Update check failed (offline?): ${e.message}`);
@@ -323,7 +286,7 @@ async function start() {
} else if (hasUpdate) { } else if (hasUpdate) {
debugLog("Update available. Prompting user..."); debugLog("Update available. Prompting user...");
sendToTauri('status', { message: `New update available (${release.version}). Awaiting confirmation...` }); sendToTauri('status', { message: `New update available (${release.version}).` });
try { try {
if (process.platform === 'win32') { if (process.platform === 'win32') {
@@ -434,58 +397,33 @@ async function start() {
sendToTauri('status', { message: 'Loading encrypted credentials...' }); sendToTauri('status', { message: 'Loading encrypted credentials...' });
serviceManager.credentialManager.loadCredentials(); serviceManager.credentialManager.loadCredentials();
sendToTauri('status', { message: 'Starting background services (player)...' }); sendToTauri('status', { message: 'Installing dependencies...' });
const npmCmd = process.platform === 'win32' ? 'npm.cmd' : 'npm';
const frontendDir = path.join(APPDATA_DIR, 'frontend');
if (fs.existsSync(path.join(frontendDir, 'package.json'))) {
const { spawnSync } = require('child_process');
spawnSync(npmCmd, ['install'], {
cwd: frontendDir,
stdio: 'ignore',
windowsHide: true,
shell: process.platform === 'win32'
});
}
sendToTauri('status', { message: 'Starting services (player, frontend)...' });
await serviceManager.startServices([ await serviceManager.startServices([
{ name: 'player', relativeDir: 'player', startScript: 'server.js' } { name: 'player', relativeDir: 'player', startScript: 'server.js' },
{ name: 'frontend', relativeDir: 'frontend', startScript: 'server.js' }
]); ]);
debugLog("Backend services spawn requested."); debugLog("Backend services spawn requested.");
sendToTauri('status', { message: 'Waiting for microservices to bind port 3000...' }); sendToTauri('status', { message: 'Waiting for microservices to bind...' });
await serviceManager.waitForPorts([3000]); await serviceManager.waitForPorts([3000, 4890]);
debugLog("Port 3000 is ready."); debugLog("Ports 3000 and 4890 are ready.");
sendToTauri('status', { message: 'Binding UI server on port 4890...' }); sendToTauri('status', { message: 'All backend services running and healthy.' });
const frontendDir = path.join(APPDATA_DIR, 'frontend'); debugLog("Sending READY to Tauri.");
expressApp = express(); sendToTauri('ready', { url: 'http://127.0.0.1:4890' });
expressApp.use((req, res, next) => {
res.header('Access-Control-Allow-Origin', '*');
res.header('Access-Control-Allow-Methods', 'GET,POST,OPTIONS');
res.header('Access-Control-Allow-Headers', '*');
if (req.method === 'OPTIONS') return res.sendStatus(200);
next();
});
expressApp.get('/__tauri_cmd/:cmd', (req, res) => {
debugLog(`[FRONTEND-SERVER:4890] Command received: ${req.params.cmd} (window: ${req.query.window || 'main'})`);
sendToTauri('tauri-cmd', { cmd: req.params.cmd, url: req.query.url, window: req.query.window });
res.sendStatus(200);
});
expressApp.use(sameTabNavMiddleware(frontendDir));
expressApp.use(express.static(frontendDir, {
etag: false,
setHeaders: (res) => {
res.set('Cache-Control', 'no-store, no-cache, must-revalidate, private');
}
}));
expressApp.use(express.static(path.join(frontendDir, 'src'), {
etag: false,
setHeaders: (res) => {
res.set('Cache-Control', 'no-store, no-cache, must-revalidate, private');
}
}));
expressApp.get('*', (req, res) => {
res.set('Cache-Control', 'no-store, no-cache, must-revalidate, private');
res.sendFile(path.join(frontendDir, 'index.html'));
});
const FRONTEND_PORT = 4890;
expressApp.use('/build', express.static(path.join(__dirname, 'build')));
expressServer = expressApp.listen(FRONTEND_PORT, '127.0.0.1', () => {
sendToTauri('status', { message: 'All backend services running and healthy.' });
debugLog("Frontend Express running on 4890. Sending READY to Tauri.");
sendToTauri('ready', { url: `http://127.0.0.1:${FRONTEND_PORT}` });
});
} catch (error) { } catch (error) {
debugLog(`Fatal Start Error: ${error.message}`); debugLog(`Fatal Start Error: ${error.message}`);

View File

@@ -1,6 +1,6 @@
{ {
"name": "vyla-home", "name": "vyla-home",
"version": "1.1.40", "version": "1.1.45",
"description": "Vyla Home Desktop App Launcher", "description": "Vyla Home Desktop App Launcher",
"main": "main.js", "main": "main.js",
"scripts": { "scripts": {
@@ -11,11 +11,11 @@
"release:full": "node release.js --installer" "release:full": "node release.js --installer"
}, },
"dependencies": { "dependencies": {
"@tauri-apps/api": "^2.0.0", "@tauri-apps/api": "^2.12.1",
"@tauri-apps/plugin-opener": "^2.0.0", "@tauri-apps/plugin-opener": "^2.7.0",
"@tauri-apps/plugin-process": "^2.0.0", "@tauri-apps/plugin-process": "^2.4.0",
"@tauri-apps/plugin-shell": "^2.0.0", "@tauri-apps/plugin-shell": "^2.4.0",
"@vyla-entertainment/sdk": "^1.12.0", "@vyla-entertainment/sdk": "^1.18.0",
"adm-zip": "^0.6.0", "adm-zip": "^0.6.0",
"express": "^4.19.2" "express": "^4.19.2"
}, },

View File

@@ -116,7 +116,7 @@ class Patcher {
verifyExtraction() { verifyExtraction() {
const requiredFiles = [ const requiredFiles = [
'frontend/index.html', 'frontend/server.js',
'player/server.js' 'player/server.js'
]; ];

View File

@@ -47,8 +47,14 @@ class ServiceManager {
this.credentialManager.setCredential('player', 'TOKEN_SECRET', tokenSecret); this.credentialManager.setCredential('player', 'TOKEN_SECRET', tokenSecret);
} }
const defaultPorts = {
player: 3000,
frontend: 4890
};
const env = { const env = {
...process.env, ...process.env,
PORT: (this.envConfig[name] && this.envConfig[name].PORT) || defaultPorts[name] || process.env.PORT || 3000,
TOKEN_SECRET: tokenSecret, TOKEN_SECRET: tokenSecret,
...(this.envConfig[name] || {}), ...(this.envConfig[name] || {}),
...(this.credentialManager.getServiceCredentials(name) || {}) ...(this.credentialManager.getServiceCredentials(name) || {})

408
src-tauri/Cargo.lock generated
View File

@@ -19,15 +19,15 @@ dependencies = [
[[package]] [[package]]
name = "alloc-no-stdlib" name = "alloc-no-stdlib"
version = "2.0.4" version = "3.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cc7bb162ec39d46ab1ca8c77bf72e890535becd1751bb45f64c597edb4c8c6b3" checksum = "c2fb6cfd47bf496ff64095c20eaba0c201404ee38714d4142fcfa1dc334fcc7a"
[[package]] [[package]]
name = "alloc-stdlib" name = "alloc-stdlib"
version = "0.2.4" version = "0.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0e76a019e91224d279006ff972f1e984179a6e9feb050adba6ce8274aef23195" checksum = "0b5c1865780388bfa186411ab5f247819487fc4864c6e9c3106611fa347586e1"
dependencies = [ dependencies = [
"alloc-no-stdlib", "alloc-no-stdlib",
] ]
@@ -288,9 +288,9 @@ dependencies = [
[[package]] [[package]]
name = "brotli" name = "brotli"
version = "8.0.4" version = "9.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5cc91aac060a7a1e25823bdccbfb6af1875b88f17c6daac97894eed8207166b3" checksum = "f8b851b75c23ca7873623d612fe49bd1989aeb03d08fb9432187eb253d3d4c6b"
dependencies = [ dependencies = [
"alloc-no-stdlib", "alloc-no-stdlib",
"alloc-stdlib", "alloc-stdlib",
@@ -299,9 +299,9 @@ dependencies = [
[[package]] [[package]]
name = "brotli-decompressor" name = "brotli-decompressor"
version = "5.0.3" version = "6.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3a32acac15fe1967bc3986b2a6347dffc965602354ea6f450ad07e8bfd253583" checksum = "941cd9bd4ddab83cb46fa5a2d428f1c857b24ac78cb876cf7beb710840934bd7"
dependencies = [ dependencies = [
"alloc-no-stdlib", "alloc-no-stdlib",
"alloc-stdlib", "alloc-stdlib",
@@ -402,12 +402,13 @@ dependencies = [
[[package]] [[package]]
name = "cargo_toml" name = "cargo_toml"
version = "0.22.3" version = "1.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "374b7c592d9c00c1f4972ea58390ac6b18cbb6ab79011f3bdc90a0b82ca06b77" checksum = "82f4b26e751e711a5302649417f2da046dce6391b2ea30a4820f37462314f0b9"
dependencies = [ dependencies = [
"semver",
"serde", "serde",
"toml 0.9.12+spec-1.1.0", "toml 1.1.4+spec-1.1.0",
] ]
[[package]] [[package]]
@@ -428,13 +429,13 @@ checksum = "6d43a04d8753f35258c91f8ec639f792891f748a1edbd759cf1dcea3382ad83c"
[[package]] [[package]]
name = "cfb" name = "cfb"
version = "0.7.3" version = "0.14.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d38f2da7a0a2c4ccf0065be06397cc26a81f4e528be095826eee9d4adbb8c60f" checksum = "a347dcabdae9c31b0825fd6a8bed285ec9c2acb89c47827126d52fa4f59cece3"
dependencies = [ dependencies = [
"byteorder",
"fnv", "fnv",
"uuid", "uuid",
"web-time",
] ]
[[package]] [[package]]
@@ -462,7 +463,7 @@ dependencies = [
"iana-time-zone", "iana-time-zone",
"num-traits", "num-traits",
"serde", "serde",
"windows-link 0.2.1", "windows-link",
] ]
[[package]] [[package]]
@@ -579,9 +580,9 @@ dependencies = [
[[package]] [[package]]
name = "cssparser" name = "cssparser"
version = "0.36.0" version = "0.37.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "dae61cf9c0abb83bd659dab65b7e4e38d8236824c85f0f804f173567bda257d2" checksum = "8c9cdaae01d5ed7882b04d795e7f752f46ff52d2fa3b50a20d28c464510bba98"
dependencies = [ dependencies = [
"cssparser-macros", "cssparser-macros",
"dtoa-short", "dtoa-short",
@@ -592,29 +593,19 @@ dependencies = [
[[package]] [[package]]
name = "cssparser-macros" name = "cssparser-macros"
version = "0.6.1" version = "0.7.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "13b588ba4ac1a99f7f2964d24b3d896ddc6bf847ee3855dbd4366f058cfcd331" checksum = "d045de693cb712d0b22c6a64be5b953f67b3ce00ab5ad3dd5d8b441886ab8e1a"
dependencies = [ dependencies = [
"quote", "quote",
"syn 2.0.119", "syn 3.0.3",
] ]
[[package]] [[package]]
name = "ctor" name = "ctor"
version = "0.8.0" version = "1.0.13"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "352d39c2f7bef1d6ad73db6f5160efcaed66d94ef8c6c573a8410c00bf909a98" checksum = "914a755b7c2d4af2bdcff7ce1739e2db9a1b81a9b07123d8015786ae03c0980d"
dependencies = [
"ctor-proc-macro",
"dtor",
]
[[package]]
name = "ctor-proc-macro"
version = "0.0.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "52560adf09603e58c9a7ee1fe1dcb95a16927b17c127f0ac02d6e768a0e25bc1"
[[package]] [[package]]
name = "darling" name = "darling"
@@ -734,9 +725,9 @@ dependencies = [
[[package]] [[package]]
name = "dirs" name = "dirs"
version = "6.0.0" version = "7.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c3e8aa94d75141228480295a7d0e7feb620b1a5ad9f12bc40be62411e38cce4e" checksum = "8d57d423b3c82e89b9a24ca3091fee61f456a26edbd28d26c65906f4bc1dcd8f"
dependencies = [ dependencies = [
"dirs-sys", "dirs-sys",
] ]
@@ -750,7 +741,7 @@ dependencies = [
"libc", "libc",
"option-ext", "option-ext",
"redox_users", "redox_users",
"windows-sys 0.61.2", "windows-sys 0.60.2",
] ]
[[package]] [[package]]
@@ -801,9 +792,9 @@ dependencies = [
[[package]] [[package]]
name = "dom_query" name = "dom_query"
version = "0.27.0" version = "0.28.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "521e380c0c8afb8d9a1e83a1822ee03556fc3e3e7dbc1fd30be14e37f9cb3f89" checksum = "fac5fca71e65e94cc718a6e2af65d6e0f9c6027751c2aa562fbb5087fda639bc"
dependencies = [ dependencies = [
"bit-set", "bit-set",
"cssparser", "cssparser",
@@ -838,21 +829,6 @@ dependencies = [
"dtoa", "dtoa",
] ]
[[package]]
name = "dtor"
version = "0.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f1057d6c64987086ff8ed0fd3fbf377a6b7d205cc7715868cd401705f715cbe4"
dependencies = [
"dtor-proc-macro",
]
[[package]]
name = "dtor-proc-macro"
version = "0.0.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f678cf4a922c215c63e0de95eb1ff08a958a81d47e485cf9da1e27bf6305cfa5"
[[package]] [[package]]
name = "dunce" name = "dunce"
version = "1.0.5" version = "1.0.5"
@@ -945,7 +921,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb" checksum = "39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb"
dependencies = [ dependencies = [
"libc", "libc",
"windows-sys 0.61.2", "windows-sys 0.60.2",
] ]
[[package]] [[package]]
@@ -1470,9 +1446,9 @@ checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70"
[[package]] [[package]]
name = "html5ever" name = "html5ever"
version = "0.38.0" version = "0.39.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1054432bae2f14e0061e33d23402fbaa67a921d319d56adc6bcf887ddad1cbc2" checksum = "46a1761807faccc9a19e86944bbf40610014066306f96edcdedc2fb714bcb7b8"
dependencies = [ dependencies = [
"log", "log",
"markup5ever", "markup5ever",
@@ -1572,7 +1548,7 @@ dependencies = [
"js-sys", "js-sys",
"log", "log",
"wasm-bindgen", "wasm-bindgen",
"windows-core 0.62.2", "windows-core",
] ]
[[package]] [[package]]
@@ -1729,9 +1705,9 @@ dependencies = [
[[package]] [[package]]
name = "infer" name = "infer"
version = "0.19.0" version = "0.22.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a588916bfdfd92e71cacef98a63d9b1f0d74d6599980d11894290e7ddefffcf7" checksum = "f4200d433cbd5178df7797c9c2e75b348b728e39631cf14520d1e2fc424201f4"
dependencies = [ dependencies = [
"cfb", "cfb",
] ]
@@ -1804,7 +1780,7 @@ dependencies = [
"portable-atomic", "portable-atomic",
"portable-atomic-util", "portable-atomic-util",
"serde_core", "serde_core",
"windows-link 0.2.1", "windows-link",
] ]
[[package]] [[package]]
@@ -1900,21 +1876,21 @@ dependencies = [
[[package]] [[package]]
name = "json-patch" name = "json-patch"
version = "3.0.1" version = "4.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "863726d7afb6bc2590eeff7135d923545e5e964f004c2ccf8716c25e70a86f08" checksum = "7421438de105a0827e44fadd05377727847d717c80ce29a229f85fd04c427b72"
dependencies = [ dependencies = [
"jsonptr", "jsonptr",
"serde", "serde",
"serde_json", "serde_json",
"thiserror 1.0.69", "thiserror 2.0.20",
] ]
[[package]] [[package]]
name = "jsonptr" name = "jsonptr"
version = "0.6.3" version = "0.7.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5dea2b27dd239b2556ed7a25ba842fe47fd602e7fc7433c2a8d6106d4d9edd70" checksum = "a5a3cc660ba5d72bce0b3bb295bf20847ccbb40fd423f3f05b61273672e561fe"
dependencies = [ dependencies = [
"serde", "serde",
"serde_json", "serde_json",
@@ -1922,13 +1898,12 @@ dependencies = [
[[package]] [[package]]
name = "keyboard-types" name = "keyboard-types"
version = "0.7.0" version = "0.8.3"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b750dcadc39a09dbadd74e118f6dd6598df77fa01df0cfcdc52c28dece74528a" checksum = "0fbe853b403ae61a04233030ae8a79d94975281ed9770a1f9e246732b534b28d"
dependencies = [ dependencies = [
"bitflags 2.13.1", "bitflags 2.13.1",
"serde", "serde",
"unicode-segmentation",
] ]
[[package]] [[package]]
@@ -2018,9 +1993,9 @@ checksum = "f9f8bd3e56ce4dfc153cf470fffbfa98c7620958b312ca5c3a4b8d5181fd13c6"
[[package]] [[package]]
name = "markup5ever" name = "markup5ever"
version = "0.38.0" version = "0.39.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8983d30f2915feeaaab2d6babdd6bc7e9ed1a00b66b5e6d74df19aa9c0e91862" checksum = "7122d987ec5f704ee56f6e5b41a7d93722e9aae27ae07cafa4036c4d3f9757de"
dependencies = [ dependencies = [
"log", "log",
"tendril", "tendril",
@@ -2071,9 +2046,9 @@ dependencies = [
[[package]] [[package]]
name = "muda" name = "muda"
version = "0.19.3" version = "0.20.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1dd04e60bc0b07438a6771710ee1698f98f6ebbc7f89b61264af1563b8aeb878" checksum = "cca139e57da4383727f189e43e66e84fa372347027fc996f9f1a007ec0a37996"
dependencies = [ dependencies = [
"crossbeam-channel", "crossbeam-channel",
"dpi", "dpi",
@@ -2087,7 +2062,7 @@ dependencies = [
"png 0.18.1", "png 0.18.1",
"serde", "serde",
"thiserror 2.0.20", "thiserror 2.0.20",
"windows-sys 0.61.2", "windows-sys 0.60.2",
] ]
[[package]] [[package]]
@@ -2105,6 +2080,12 @@ dependencies = [
"thiserror 1.0.69", "thiserror 1.0.69",
] ]
[[package]]
name = "ndk-context"
version = "0.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "27b02d87554356db9e9a873add8782d4ea6e3e58ea071a9adb9a2e8ddb884a8b"
[[package]] [[package]]
name = "ndk-sys" name = "ndk-sys"
version = "0.6.0+11769913" version = "0.6.0+11769913"
@@ -2194,6 +2175,7 @@ dependencies = [
"objc2 0.6.4", "objc2 0.6.4",
"objc2-core-foundation", "objc2-core-foundation",
"objc2-foundation", "objc2-foundation",
"objc2-quartz-core",
] ]
[[package]] [[package]]
@@ -2408,7 +2390,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7d8fae84b431384b68627d0f9b3b1245fcf9f46f6c0e3dc902e9dce64edd1967" checksum = "7d8fae84b431384b68627d0f9b3b1245fcf9f46f6c0e3dc902e9dce64edd1967"
dependencies = [ dependencies = [
"libc", "libc",
"windows-sys 0.61.2", "windows-sys 0.60.2",
] ]
[[package]] [[package]]
@@ -2462,7 +2444,7 @@ dependencies = [
"libc", "libc",
"redox_syscall", "redox_syscall",
"smallvec", "smallvec",
"windows-link 0.2.1", "windows-link",
] ]
[[package]] [[package]]
@@ -2862,7 +2844,7 @@ dependencies = [
"errno", "errno",
"libc", "libc",
"linux-raw-sys", "linux-raw-sys",
"windows-sys 0.61.2", "windows-sys 0.60.2",
] ]
[[package]] [[package]]
@@ -2939,9 +2921,9 @@ checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49"
[[package]] [[package]]
name = "selectors" name = "selectors"
version = "0.36.1" version = "0.38.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c5d9c0c92a92d33f08817311cf3f2c29a3538a8240e94a6a3c622ce652d7e00c" checksum = "8adfa1c298912827b8a28b223b3b874357397ae706e6190acd9bf28cee99114d"
dependencies = [ dependencies = [
"bitflags 2.13.1", "bitflags 2.13.1",
"cssparser", "cssparser",
@@ -3215,7 +3197,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c3d1e2c7f27f8d4cb10542a02c49005dbd6e93095799d6f3be745fae9f8fedd4" checksum = "c3d1e2c7f27f8d4cb10542a02c49005dbd6e93095799d6f3be745fae9f8fedd4"
dependencies = [ dependencies = [
"libc", "libc",
"windows-sys 0.61.2", "windows-sys 0.60.2",
] ]
[[package]] [[package]]
@@ -3380,9 +3362,9 @@ dependencies = [
[[package]] [[package]]
name = "tao" name = "tao"
version = "0.35.3" version = "0.37.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d1c93047acf68669466a34690ac58cca7010bd1b201e1ec86f1fd0a75d3dd4a9" checksum = "f37f381f4e048e6cdf038b5705f8cf14ad108279d46eb968140a7b291aba9400"
dependencies = [ dependencies = [
"bitflags 2.13.1", "bitflags 2.13.1",
"block2", "block2",
@@ -3400,12 +3382,12 @@ dependencies = [
"libc", "libc",
"log", "log",
"ndk", "ndk",
"ndk-context",
"ndk-sys", "ndk-sys",
"objc2 0.6.4", "objc2 0.6.4",
"objc2-app-kit", "objc2-app-kit",
"objc2-foundation", "objc2-foundation",
"objc2-ui-kit", "objc2-ui-kit",
"once_cell",
"parking_lot", "parking_lot",
"percent-encoding", "percent-encoding",
"raw-window-handle", "raw-window-handle",
@@ -3413,7 +3395,7 @@ dependencies = [
"unicode-segmentation", "unicode-segmentation",
"url", "url",
"windows", "windows",
"windows-core 0.61.2", "windows-core",
"windows-version", "windows-version",
"x11-dl", "x11-dl",
] ]
@@ -3437,9 +3419,9 @@ checksum = "61c41af27dd6d1e27b1b16b489db798443478cef1f06a660c96db617ba5de3b1"
[[package]] [[package]]
name = "tauri" name = "tauri"
version = "2.11.5" version = "2.12.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "667b20e2726d572dea2de7370da16e188eb06008faf9a92fab7cdc46791190b5" checksum = "ed99ee9694a2deb776d91cae48ac7411ddfc89ecae2f9b5041111d8c88f2ace9"
dependencies = [ dependencies = [
"anyhow", "anyhow",
"bytes", "bytes",
@@ -3488,9 +3470,9 @@ dependencies = [
[[package]] [[package]]
name = "tauri-build" name = "tauri-build"
version = "2.6.3" version = "2.7.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bc9ce40b16101cb6ea63d3e221567affd1c3a9205f95d7bc574941a10636b632" checksum = "59563ca5b331fd97f27ee9672ec8d36d33bb3c9e2c9f6710a1a5687256052e45"
dependencies = [ dependencies = [
"anyhow", "anyhow",
"cargo_toml", "cargo_toml",
@@ -3509,16 +3491,16 @@ dependencies = [
[[package]] [[package]]
name = "tauri-codegen" name = "tauri-codegen"
version = "2.6.3" version = "2.7.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "08279169ff42f8fc45a1dbc9dcae888893ba95288142e5880c59b93a26d2cfc5" checksum = "e50213e463086ecc283d7e9f51c30cc0fd304ad457425158018be26dbf0d0a80"
dependencies = [ dependencies = [
"base64 0.22.1", "base64 0.22.1",
"brotli", "brotli",
"ico", "ico",
"json-patch", "json-patch",
"plist", "plist",
"png 0.17.16", "png 0.18.1",
"proc-macro2", "proc-macro2",
"quote", "quote",
"semver", "semver",
@@ -3536,9 +3518,9 @@ dependencies = [
[[package]] [[package]]
name = "tauri-macros" name = "tauri-macros"
version = "2.6.3" version = "2.7.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e8b394794f399a421811d06966343e7933fcae92d59f5180b9388d1174497a45" checksum = "8129fb43bb6e0d6b73ad3315cd172beaab17cd28899c594b1b32c80edbbfd99c"
dependencies = [ dependencies = [
"heck 0.5.0", "heck 0.5.0",
"proc-macro2", "proc-macro2",
@@ -3550,9 +3532,9 @@ dependencies = [
[[package]] [[package]]
name = "tauri-plugin" name = "tauri-plugin"
version = "2.6.3" version = "2.7.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "74be5dd4bed9afbd145e5716b5fa2ec28cbc29c34ffa61c258c9273d896c8020" checksum = "1140cf34a3b3b836a13103dcab17f18831d5cc3534cbd435dc01a5c6daa65aa2"
dependencies = [ dependencies = [
"anyhow", "anyhow",
"glob", "glob",
@@ -3566,9 +3548,9 @@ dependencies = [
[[package]] [[package]]
name = "tauri-plugin-opener" name = "tauri-plugin-opener"
version = "2.5.4" version = "2.7.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "17e1bea14edce6b793a04e2417e3fd924b9bc4faae83cdee7d714156cceeed29" checksum = "d39404b2572927e0d3ed30a7ca226037f7508d22e79c96ee6ef0d42b6a4b3345"
dependencies = [ dependencies = [
"dunce", "dunce",
"glob", "glob",
@@ -3588,9 +3570,9 @@ dependencies = [
[[package]] [[package]]
name = "tauri-plugin-process" name = "tauri-plugin-process"
version = "2.3.1" version = "2.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d55511a7bf6cd70c8767b02c97bf8134fa434daf3926cfc1be0a0f94132d165a" checksum = "74ae3d8549ae564c0397377373e262f340908eb23a5b9fbe03f2a00007dc0038"
dependencies = [ dependencies = [
"tauri", "tauri",
"tauri-plugin", "tauri-plugin",
@@ -3598,9 +3580,9 @@ dependencies = [
[[package]] [[package]]
name = "tauri-plugin-shell" name = "tauri-plugin-shell"
version = "2.3.5" version = "2.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8457dbf9e2bab1edd8df22bb2c20857a59a9868e79cb3eac5ed639eec4d0c73b" checksum = "094bdbc47e5efe36544ba21b3a53ab5c724150236cf55e6c9be46191deb6eab6"
dependencies = [ dependencies = [
"encoding_rs", "encoding_rs",
"log", "log",
@@ -3619,9 +3601,9 @@ dependencies = [
[[package]] [[package]]
name = "tauri-runtime" name = "tauri-runtime"
version = "2.11.3" version = "2.12.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b0b4bc95aed361b0019067d189a1174a603d460d0f6c72606512d59fc9c12ec8" checksum = "c2a57a2a9b8c8b7fc00d35b510fe808ded7f9f1b44fc1cdda6aee38632ea5413"
dependencies = [ dependencies = [
"cookie", "cookie",
"dpi", "dpi",
@@ -3644,9 +3626,9 @@ dependencies = [
[[package]] [[package]]
name = "tauri-runtime-wry" name = "tauri-runtime-wry"
version = "2.11.4" version = "2.12.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4e6fac707727b7a2f48e4ded90976324267371073edbb415ffb73bb0458d203f" checksum = "7f9e7e0c9f80a5130773cfabb6df4dc924518fb1b2c923726966804634b57d22"
dependencies = [ dependencies = [
"gtk", "gtk",
"http", "http",
@@ -3670,9 +3652,9 @@ dependencies = [
[[package]] [[package]]
name = "tauri-utils" name = "tauri-utils"
version = "2.9.3" version = "2.10.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3e176a18e67764923c4f1ce66f25ae4abe5f688384d5eb1a0fa6c77f3d90f887" checksum = "2ff55a614843b9a3f010f211df637c94df2607175b8d0f6e0f4a7c19e18621ee"
dependencies = [ dependencies = [
"anyhow", "anyhow",
"brotli", "brotli",
@@ -3727,7 +3709,7 @@ dependencies = [
"getrandom 0.4.3", "getrandom 0.4.3",
"once_cell", "once_cell",
"rustix", "rustix",
"windows-sys 0.61.2", "windows-sys 0.60.2",
] ]
[[package]] [[package]]
@@ -3873,21 +3855,6 @@ dependencies = [
"toml_edit 0.20.2", "toml_edit 0.20.2",
] ]
[[package]]
name = "toml"
version = "0.9.12+spec-1.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cf92845e79fc2e2def6a5d828f0801e29a2f8acc037becc5ab08595c7d5e9863"
dependencies = [
"indexmap 2.14.0",
"serde_core",
"serde_spanned 1.1.1",
"toml_datetime 0.7.5+spec-1.1.0",
"toml_parser",
"toml_writer",
"winnow 0.7.15",
]
[[package]] [[package]]
name = "toml" name = "toml"
version = "1.1.4+spec-1.1.0" version = "1.1.4+spec-1.1.0"
@@ -3912,15 +3879,6 @@ dependencies = [
"serde", "serde",
] ]
[[package]]
name = "toml_datetime"
version = "0.7.5+spec-1.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "92e1cfed4a3038bc5a127e35a2d360f145e1f4b971b551a2ba5fd7aedf7e1347"
dependencies = [
"serde_core",
]
[[package]] [[package]]
name = "toml_datetime" name = "toml_datetime"
version = "1.1.1+spec-1.1.0" version = "1.1.1+spec-1.1.0"
@@ -4059,9 +4017,9 @@ dependencies = [
[[package]] [[package]]
name = "tray-icon" name = "tray-icon"
version = "0.24.2" version = "0.25.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "045979e3f037cd18ad1cb2a419dfda133c5c29c9f3453370079f2255d46c257e" checksum = "b2b9c52859a94554803ccd4a24b98f74148ebc73b90676d783f3490b1bff9d72"
dependencies = [ dependencies = [
"crossbeam-channel", "crossbeam-channel",
"dirs", "dirs",
@@ -4076,7 +4034,7 @@ dependencies = [
"png 0.18.1", "png 0.18.1",
"serde", "serde",
"thiserror 2.0.20", "thiserror 2.0.20",
"windows-sys 0.61.2", "windows-sys 0.60.2",
] ]
[[package]] [[package]]
@@ -4105,48 +4063,7 @@ checksum = "f2f6fb2847f6742cd76af783a2a2c49e9375d0a111c7bef6f71cd9e738c72d6e"
dependencies = [ dependencies = [
"memoffset", "memoffset",
"tempfile", "tempfile",
"windows-sys 0.61.2", "windows-sys 0.60.2",
]
[[package]]
name = "unic-char-property"
version = "0.9.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a8c57a407d9b6fa02b4795eb81c5b6652060a15a7903ea981f3d723e6c0be221"
dependencies = [
"unic-char-range",
]
[[package]]
name = "unic-char-range"
version = "0.9.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0398022d5f700414f6b899e10b8348231abf9173fa93144cbc1a43b9793c1fbc"
[[package]]
name = "unic-common"
version = "0.9.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "80d7ff825a6a654ee85a63e80f92f054f904f21e7d12da4e22f9834a4aaa35bc"
[[package]]
name = "unic-ucd-ident"
version = "0.9.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e230a37c0381caa9219d67cf063aa3a375ffed5bf541a452db16e744bdab6987"
dependencies = [
"unic-char-property",
"unic-char-range",
"unic-ucd-version",
]
[[package]]
name = "unic-ucd-version"
version = "0.9.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "96bd2f2237fe450fcd0a1d2f5f4e91711124f7857ba2e964247776ebeeb7b0c4"
dependencies = [
"unic-common",
] ]
[[package]] [[package]]
@@ -4176,13 +4093,13 @@ dependencies = [
[[package]] [[package]]
name = "urlpattern" name = "urlpattern"
version = "0.3.0" version = "0.6.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "70acd30e3aa1450bc2eece896ce2ad0d178e9c079493819301573dae3c37ba6d" checksum = "df16f50ef4cc145211879a3867ba757076b25dfee812040dcb0658bd9ae7904b"
dependencies = [ dependencies = [
"icu_properties",
"regex", "regex",
"serde", "serde",
"unic-ucd-ident",
"url", "url",
] ]
@@ -4238,7 +4155,7 @@ dependencies = [
[[package]] [[package]]
name = "vyla-home" name = "vyla-home"
version = "1.1.40" version = "1.1.45"
dependencies = [ dependencies = [
"base64 0.22.1", "base64 0.22.1",
"objc2 0.5.2", "objc2 0.5.2",
@@ -4363,6 +4280,16 @@ dependencies = [
"wasm-bindgen", "wasm-bindgen",
] ]
[[package]]
name = "web-time"
version = "1.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5a6580f308b1fad9207618087a65c04e7a10bc77e02c8e84e9b00dd4b12fa0bb"
dependencies = [
"js-sys",
"wasm-bindgen",
]
[[package]] [[package]]
name = "web_atoms" name = "web_atoms"
version = "0.2.6" version = "0.2.6"
@@ -4421,16 +4348,14 @@ dependencies = [
[[package]] [[package]]
name = "webview2-com" name = "webview2-com"
version = "0.38.2" version = "0.39.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7130243a7a5b33c54a444e54842e6a9e133de08b5ad7b5861cd8ed9a6a5bc96a" checksum = "3f89fca7a704cee10dcb3654c1dbb8941d1783132f1917358af75bec37a7d7e6"
dependencies = [ dependencies = [
"webview2-com-macros", "webview2-com-macros",
"webview2-com-sys", "webview2-com-sys",
"windows", "windows",
"windows-core 0.61.2", "windows-core",
"windows-implement",
"windows-interface",
] ]
[[package]] [[package]]
@@ -4446,13 +4371,13 @@ dependencies = [
[[package]] [[package]]
name = "webview2-com-sys" name = "webview2-com-sys"
version = "0.38.2" version = "0.39.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "381336cfffd772377d291702245447a5251a2ffa5bad679c99e61bc48bacbf9c" checksum = "b3a07132775117d6065853d9d1178157b8c90e228de47129d6bce2c7edebedfb"
dependencies = [ dependencies = [
"thiserror 2.0.20", "thiserror 2.0.20",
"windows", "windows",
"windows-core 0.61.2", "windows-core",
] ]
[[package]] [[package]]
@@ -4477,7 +4402,7 @@ version = "0.1.11"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22" checksum = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22"
dependencies = [ dependencies = [
"windows-sys 0.61.2", "windows-sys 0.60.2",
] ]
[[package]] [[package]]
@@ -4488,52 +4413,39 @@ checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
[[package]] [[package]]
name = "window-vibrancy" name = "window-vibrancy"
version = "0.6.0" version = "0.8.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d9bec5a31f3f9362f2258fd0e9c9dd61a9ca432e7306cc78c444258f0dce9a9c" checksum = "111e51caca442cafd9bab396628ac4d814880eaea4e63dfd76a12e9f342b5580"
dependencies = [ dependencies = [
"objc2 0.6.4", "objc2 0.6.4",
"objc2-app-kit", "objc2-app-kit",
"objc2-core-foundation", "objc2-core-foundation",
"objc2-foundation", "objc2-foundation",
"objc2-quartz-core",
"raw-window-handle", "raw-window-handle",
"windows-sys 0.59.0", "windows-sys 0.60.2",
"windows-version", "windows-version",
] ]
[[package]] [[package]]
name = "windows" name = "windows"
version = "0.61.3" version = "0.62.2"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9babd3a767a4c1aef6900409f85f5d53ce2544ccdfaa86dad48c91782c6d6893" checksum = "527fadee13e0c05939a6a05d5bd6eec6cd2e3dbd648b9f8e447c6518133d8580"
dependencies = [ dependencies = [
"windows-collections", "windows-collections",
"windows-core 0.61.2", "windows-core",
"windows-future", "windows-future",
"windows-link 0.1.3",
"windows-numerics", "windows-numerics",
] ]
[[package]] [[package]]
name = "windows-collections" name = "windows-collections"
version = "0.2.0" version = "0.3.2"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3beeceb5e5cfd9eb1d76b381630e82c4241ccd0d27f1a39ed41b2760b255c5e8" checksum = "23b2d95af1a8a14a3c7367e1ed4fc9c20e0a26e79551b1454d72583c97cc6610"
dependencies = [ dependencies = [
"windows-core 0.61.2", "windows-core",
]
[[package]]
name = "windows-core"
version = "0.61.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c0fdd3ddb90610c7638aa2b3a3ab2904fb9e5cdbecc643ddb3647212781c4ae3"
dependencies = [
"windows-implement",
"windows-interface",
"windows-link 0.1.3",
"windows-result 0.3.4",
"windows-strings 0.4.2",
] ]
[[package]] [[package]]
@@ -4544,19 +4456,19 @@ checksum = "b8e83a14d34d0623b51dce9581199302a221863196a1dde71a7663a4c2be9deb"
dependencies = [ dependencies = [
"windows-implement", "windows-implement",
"windows-interface", "windows-interface",
"windows-link 0.2.1", "windows-link",
"windows-result 0.4.1", "windows-result",
"windows-strings 0.5.1", "windows-strings",
] ]
[[package]] [[package]]
name = "windows-future" name = "windows-future"
version = "0.2.1" version = "0.3.2"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fc6a41e98427b19fe4b73c550f060b59fa592d7d686537eebf9385621bfbad8e" checksum = "e1d6f90251fe18a279739e78025bd6ddc52a7e22f921070ccdc67dde84c605cb"
dependencies = [ dependencies = [
"windows-core 0.61.2", "windows-core",
"windows-link 0.1.3", "windows-link",
"windows-threading", "windows-threading",
] ]
@@ -4582,12 +4494,6 @@ dependencies = [
"syn 2.0.119", "syn 2.0.119",
] ]
[[package]]
name = "windows-link"
version = "0.1.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5e6ad25900d524eaabdbbb96d20b4311e1e7ae1699af4fb28c17ae66c80d798a"
[[package]] [[package]]
name = "windows-link" name = "windows-link"
version = "0.2.1" version = "0.2.1"
@@ -4596,21 +4502,12 @@ checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5"
[[package]] [[package]]
name = "windows-numerics" name = "windows-numerics"
version = "0.2.0" version = "0.3.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9150af68066c4c5c07ddc0ce30421554771e528bde427614c61038bc2c92c2b1" checksum = "6e2e40844ac143cdb44aead537bbf727de9b044e107a0f1220392177d15b0f26"
dependencies = [ dependencies = [
"windows-core 0.61.2", "windows-core",
"windows-link 0.1.3", "windows-link",
]
[[package]]
name = "windows-result"
version = "0.3.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "56f42bd332cc6c8eac5af113fc0c1fd6a8fd2aa08a0119358686e5160d0586c6"
dependencies = [
"windows-link 0.1.3",
] ]
[[package]] [[package]]
@@ -4619,16 +4516,7 @@ version = "0.4.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7781fa89eaf60850ac3d2da7af8e5242a5ea78d1a11c49bf2910bb5a73853eb5" checksum = "7781fa89eaf60850ac3d2da7af8e5242a5ea78d1a11c49bf2910bb5a73853eb5"
dependencies = [ dependencies = [
"windows-link 0.2.1", "windows-link",
]
[[package]]
name = "windows-strings"
version = "0.4.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "56e6c93f3a0c3b36176cb1327a4958a0353d5d166c2a35cb268ace15e91d3b57"
dependencies = [
"windows-link 0.1.3",
] ]
[[package]] [[package]]
@@ -4637,7 +4525,7 @@ version = "0.5.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7837d08f69c77cf6b07689544538e017c1bfcf57e34b4c0ff58e6c2cd3b37091" checksum = "7837d08f69c77cf6b07689544538e017c1bfcf57e34b4c0ff58e6c2cd3b37091"
dependencies = [ dependencies = [
"windows-link 0.2.1", "windows-link",
] ]
[[package]] [[package]]
@@ -4673,7 +4561,7 @@ version = "0.61.2"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc"
dependencies = [ dependencies = [
"windows-link 0.2.1", "windows-link",
] ]
[[package]] [[package]]
@@ -4713,7 +4601,7 @@ version = "0.53.5"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4945f9f551b88e0d65f3db0bc25c33b8acea4d9e41163edf90dcd0b19f9069f3" checksum = "4945f9f551b88e0d65f3db0bc25c33b8acea4d9e41163edf90dcd0b19f9069f3"
dependencies = [ dependencies = [
"windows-link 0.2.1", "windows-link",
"windows_aarch64_gnullvm 0.53.1", "windows_aarch64_gnullvm 0.53.1",
"windows_aarch64_msvc 0.53.1", "windows_aarch64_msvc 0.53.1",
"windows_i686_gnu 0.53.1", "windows_i686_gnu 0.53.1",
@@ -4726,11 +4614,11 @@ dependencies = [
[[package]] [[package]]
name = "windows-threading" name = "windows-threading"
version = "0.1.0" version = "0.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b66463ad2e0ea3bbf808b7f1d371311c80e115c0b71d60efc142cafbcfb057a6" checksum = "3949bd5b99cafdf1c7ca86b43ca564028dfe27d66958f2470940f73d86d75b37"
dependencies = [ dependencies = [
"windows-link 0.1.3", "windows-link",
] ]
[[package]] [[package]]
@@ -4739,7 +4627,7 @@ version = "0.1.7"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e4060a1da109b9d0326b7262c8e12c84df67cc0dbc9e33cf49e01ccc2eb63631" checksum = "e4060a1da109b9d0326b7262c8e12c84df67cc0dbc9e33cf49e01ccc2eb63631"
dependencies = [ dependencies = [
"windows-link 0.2.1", "windows-link",
] ]
[[package]] [[package]]
@@ -4889,12 +4777,6 @@ dependencies = [
"memchr", "memchr",
] ]
[[package]]
name = "winnow"
version = "0.7.15"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "df79d97927682d2fd8adb29682d1140b343be4ac0f08fd68b7765d9c059d3945"
[[package]] [[package]]
name = "winnow" name = "winnow"
version = "1.0.4" version = "1.0.4"
@@ -4928,9 +4810,9 @@ checksum = "3ad82d2a33cdc9674dc7465672f271e096168fcdbe0f799d9e6db8c5892679dc"
[[package]] [[package]]
name = "wry" name = "wry"
version = "0.55.1" version = "0.57.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "186f9871daa55fd9c016578b810d149de58367113db7fb72b462d2323ce19514" checksum = "a819957a01b3119af85e638a38d242af76dbc87d130dca67bfd0441072e21ff0"
dependencies = [ dependencies = [
"base64 0.22.1", "base64 0.22.1",
"block2", "block2",
@@ -4965,7 +4847,7 @@ dependencies = [
"webkit2gtk-sys", "webkit2gtk-sys",
"webview2-com", "webview2-com",
"windows", "windows",
"windows-core 0.61.2", "windows-core",
"windows-version", "windows-version",
"x11-dl", "x11-dl",
] ]

View File

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

File diff suppressed because one or more lines are too long

View File

@@ -626,6 +626,12 @@
"const": "core:app:allow-default-window-icon", "const": "core:app:allow-default-window-icon",
"markdownDescription": "Enables the default_window_icon command without any pre-configured scope." "markdownDescription": "Enables the default_window_icon command without any pre-configured scope."
}, },
{
"description": "Enables the exit command without any pre-configured scope.",
"type": "string",
"const": "core:app:allow-exit",
"markdownDescription": "Enables the exit command without any pre-configured scope."
},
{ {
"description": "Enables the fetch_data_store_identifiers command without any pre-configured scope.", "description": "Enables the fetch_data_store_identifiers command without any pre-configured scope.",
"type": "string", "type": "string",
@@ -716,6 +722,12 @@
"const": "core:app:deny-default-window-icon", "const": "core:app:deny-default-window-icon",
"markdownDescription": "Denies the default_window_icon command without any pre-configured scope." "markdownDescription": "Denies the default_window_icon command without any pre-configured scope."
}, },
{
"description": "Denies the exit command without any pre-configured scope.",
"type": "string",
"const": "core:app:deny-exit",
"markdownDescription": "Denies the exit command without any pre-configured scope."
},
{ {
"description": "Denies the fetch_data_store_identifiers command without any pre-configured scope.", "description": "Denies the fetch_data_store_identifiers command without any pre-configured scope.",
"type": "string", "type": "string",
@@ -1976,6 +1988,12 @@
"const": "core:window:allow-set-fullscreen", "const": "core:window:allow-set-fullscreen",
"markdownDescription": "Enables the set_fullscreen command without any pre-configured scope." "markdownDescription": "Enables the set_fullscreen command without any pre-configured scope."
}, },
{
"description": "Enables the set_fullscreen_on_monitor command without any pre-configured scope.",
"type": "string",
"const": "core:window:allow-set-fullscreen-on-monitor",
"markdownDescription": "Enables the set_fullscreen_on_monitor command without any pre-configured scope."
},
{ {
"description": "Enables the set_icon command without any pre-configured scope.", "description": "Enables the set_icon command without any pre-configured scope.",
"type": "string", "type": "string",
@@ -2444,6 +2462,12 @@
"const": "core:window:deny-set-fullscreen", "const": "core:window:deny-set-fullscreen",
"markdownDescription": "Denies the set_fullscreen command without any pre-configured scope." "markdownDescription": "Denies the set_fullscreen command without any pre-configured scope."
}, },
{
"description": "Denies the set_fullscreen_on_monitor command without any pre-configured scope.",
"type": "string",
"const": "core:window:deny-set-fullscreen-on-monitor",
"markdownDescription": "Denies the set_fullscreen_on_monitor command without any pre-configured scope."
},
{ {
"description": "Denies the set_icon command without any pre-configured scope.", "description": "Denies the set_icon command without any pre-configured scope.",
"type": "string", "type": "string",

View File

@@ -626,6 +626,12 @@
"const": "core:app:allow-default-window-icon", "const": "core:app:allow-default-window-icon",
"markdownDescription": "Enables the default_window_icon command without any pre-configured scope." "markdownDescription": "Enables the default_window_icon command without any pre-configured scope."
}, },
{
"description": "Enables the exit command without any pre-configured scope.",
"type": "string",
"const": "core:app:allow-exit",
"markdownDescription": "Enables the exit command without any pre-configured scope."
},
{ {
"description": "Enables the fetch_data_store_identifiers command without any pre-configured scope.", "description": "Enables the fetch_data_store_identifiers command without any pre-configured scope.",
"type": "string", "type": "string",
@@ -716,6 +722,12 @@
"const": "core:app:deny-default-window-icon", "const": "core:app:deny-default-window-icon",
"markdownDescription": "Denies the default_window_icon command without any pre-configured scope." "markdownDescription": "Denies the default_window_icon command without any pre-configured scope."
}, },
{
"description": "Denies the exit command without any pre-configured scope.",
"type": "string",
"const": "core:app:deny-exit",
"markdownDescription": "Denies the exit command without any pre-configured scope."
},
{ {
"description": "Denies the fetch_data_store_identifiers command without any pre-configured scope.", "description": "Denies the fetch_data_store_identifiers command without any pre-configured scope.",
"type": "string", "type": "string",
@@ -1976,6 +1988,12 @@
"const": "core:window:allow-set-fullscreen", "const": "core:window:allow-set-fullscreen",
"markdownDescription": "Enables the set_fullscreen command without any pre-configured scope." "markdownDescription": "Enables the set_fullscreen command without any pre-configured scope."
}, },
{
"description": "Enables the set_fullscreen_on_monitor command without any pre-configured scope.",
"type": "string",
"const": "core:window:allow-set-fullscreen-on-monitor",
"markdownDescription": "Enables the set_fullscreen_on_monitor command without any pre-configured scope."
},
{ {
"description": "Enables the set_icon command without any pre-configured scope.", "description": "Enables the set_icon command without any pre-configured scope.",
"type": "string", "type": "string",
@@ -2444,6 +2462,12 @@
"const": "core:window:deny-set-fullscreen", "const": "core:window:deny-set-fullscreen",
"markdownDescription": "Denies the set_fullscreen command without any pre-configured scope." "markdownDescription": "Denies the set_fullscreen command without any pre-configured scope."
}, },
{
"description": "Denies the set_fullscreen_on_monitor command without any pre-configured scope.",
"type": "string",
"const": "core:window:deny-set-fullscreen-on-monitor",
"markdownDescription": "Denies the set_fullscreen_on_monitor command without any pre-configured scope."
},
{ {
"description": "Denies the set_icon command without any pre-configured scope.", "description": "Denies the set_icon command without any pre-configured scope.",
"type": "string", "type": "string",

View File

@@ -269,110 +269,11 @@ const LINK_HANDLER_SCRIPT: &str =
}, true); }, true);
function injectLiquidNavBar() { function injectLiquidNavBar() {
if (document.getElementById('vyla-floating-nav')) return; if (document.getElementById('tauri-custom-titlebar')) return;
if (!document.body) return; if (!document.body) return;
const style = document.createElement('style'); const style = document.createElement('style');
style.innerHTML = ` style.innerHTML = `
#vyla-floating-nav {
position: fixed !important;
top: 12px !important;
left: 12px !important;
z-index: 2147483647 !important;
height: 42px !important;
width: 42px !important;
border-radius: 9999px !important;
display: flex !important;
align-items: center !important;
background: rgba(255, 255, 255, 0.04) !important;
backdrop-filter: blur(16px) saturate(1.8) contrast(1.1) !important;
-webkit-backdrop-filter: blur(16px) saturate(1.8) contrast(1.1) !important;
box-shadow: 0 8px 32px rgba(0, 0, 0, 0.45) !important;
transition: width 0.3s cubic-bezier(0.16, 1, 0.3, 1), padding 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
overflow: hidden !important;
padding: 0 !important;
user-select: none !important;
pointer-events: auto !important;
-webkit-app-region: no-drag !important;
}
#vyla-floating-nav:hover {
width: 82px !important;
padding-right: 6px !important;
}
.vyla-nav-logo-wrap {
width: 42px !important;
min-width: 42px !important;
height: 42px !important;
display: flex !important;
align-items: center !important;
justify-content: center !important;
cursor: pointer !important;
border-radius: 9999px !important;
position: relative !important;
z-index: 2147483647 !important;
pointer-events: auto !important;
padding: 0 !important;
}
.vyla-nav-logo-wrap img {
width: 26px !important;
height: 26px !important;
min-width: 26px !important;
min-height: 26px !important;
object-fit: contain !important;
pointer-events: none !important;
display: block !important;
}
.vyla-nav-links {
display: flex !important;
align-items: center !important;
gap: 4px !important;
opacity: 0 !important;
transform: translateX(-6px) !important;
transition: opacity 0.2s ease, transform 0.25s cubic-bezier(0.16, 1, 0.3, 1) !important;
pointer-events: none !important;
position: relative !important;
z-index: 2 !important;
margin-left: 2px !important;
}
#vyla-floating-nav:hover .vyla-nav-links {
opacity: 1 !important;
transform: translateX(0) !important;
pointer-events: auto !important;
}
.vyla-nav-btn {
width: 32px !important;
min-width: 32px !important;
height: 32px !important;
border-radius: 9999px !important;
border: none !important;
outline: none !important;
background: transparent !important;
box-shadow: none !important;
color: #ffffff !important;
display: flex !important;
align-items: center !important;
justify-content: center !important;
cursor: pointer !important;
transition: transform 0.15s ease, opacity 0.2s ease !important;
opacity: 0.85 !important;
padding: 0 !important;
}
.vyla-nav-btn:hover { opacity: 1 !important; }
.vyla-nav-btn svg {
width: 20px !important;
height: 20px !important;
fill: #ffffff !important;
pointer-events: none !important;
display: block !important;
}
#tauri-custom-titlebar { #tauri-custom-titlebar {
position: fixed !important; position: fixed !important;
top: 0 !important; top: 0 !important;
@@ -429,38 +330,6 @@ const LINK_HANDLER_SCRIPT: &str =
`; `;
document.head.appendChild(style); document.head.appendChild(style);
const nav = document.createElement('div');
nav.id = 'vyla-floating-nav';
nav.innerHTML = `
<div class="vyla-nav-logo-wrap" title="Go to Home">
<img src="https://gitlab.com/vyla-entertainment/home-frontend/-/raw/main/assets/images/icons/logo_white.png" alt="Logo" />
</div>
<div class="vyla-nav-links">
<button class="vyla-nav-btn" id="vyla-btn-discord" title="Discord Community">
<svg viewBox="0 0 127.14 96.36"><path d="M107.7,8.07A105.15,105.15,0,0,0,81.47,0a72.06,72.06,0,0,0-3.36,6.83A97.68,97.68,0,0,0,49,6.83,72.37,72.37,0,0,0,45.64,0,105.89,105.89,0,0,0,19.39,8.09C2.79,32.65-1.71,56.6.54,80.21h0A105.73,105.73,0,0,0,32.71,96.36,77.7,77.7,0,0,0,39.6,85.25a68.42,68.42,0,0,1-10.85-5.18c.91-.66,1.8-1.34,2.66-2a75.57,75.57,0,0,0,64.32,0c.87.71,1.76,1.39,2.66,2a68.68,68.68,0,0,1-10.87,5.19,77,77,0,0,0,6.89,11.1A105.25,105.25,0,0,0,126.6,80.22h0C129.24,52.84,122.09,29.11,107.7,8.07ZM42.45,65.69C36.18,65.69,31,60,31,53s5-12.74,11.43-12.74S54,45.91,53.89,53,48.84,65.69,42.45,65.69Zm42.24,0C78.41,65.69,73.25,60,73.25,53s5-12.74,11.44-12.74S96.23,45.91,96.12,53,91.08,65.69,84.69,65.69Z"/></svg>
</button>
</div>
`;
document.body.appendChild(nav);
const logoBtn = nav.querySelector('.vyla-nav-logo-wrap');
if (logoBtn) {
logoBtn.onclick = (e) => {
e.preventDefault();
e.stopPropagation();
window.location.href = 'http://127.0.0.1:4890';
};
}
const btnDiscord = nav.querySelector('#vyla-btn-discord');
if (btnDiscord) {
btnDiscord.onclick = (e) => {
e.preventDefault();
e.stopPropagation();
openExternalUrl('https://discord.gg/5eqRhKeywG');
};
}
const tb = document.createElement('div'); const tb = document.createElement('div');
tb.id = 'tauri-custom-titlebar'; tb.id = 'tauri-custom-titlebar';
tb.innerHTML = ` tb.innerHTML = `

View File

@@ -1,7 +1,7 @@
{ {
"$schema": "https://schema.tauri.app/config/2", "$schema": "https://schema.tauri.app/config/2",
"productName": "Vyla Home", "productName": "Vyla Home",
"version": "1.1.40", "version": "1.1.45",
"identifier": "com.vyla.home", "identifier": "com.vyla.home",
"build": { "build": {
"frontendDist": "../ui" "frontendDist": "../ui"

View File

@@ -196,7 +196,7 @@
<div class="loader-card"> <div class="loader-card">
<div class="status-text" id="status-message">Starting runtime engine...</div> <div class="status-text" id="status-message">Starting runtime engine...</div>
<div id="debug-log-box" <div id="debug-log-box"
style="display: none; width: 100%; max-height: 180px; overflow-y: auto; background: rgba(255, 50, 50, 0.12); border: 1px solid rgba(255, 100, 100, 0.3); border-radius: 8px; padding: 12px; font-family: monospace; font-size: 12px; color: #fca5a5; text-align: left; white-space: pre-wrap; word-break: break-all; margin-bottom: 20px; user-select: text;"> style="display: none; width: 100%; max-height: 180px; overflow-y: auto; background: rgba(255, 50, 50, 0.12); border-radius: 15px; padding: 12px; font-family: monospace; font-size: 12px; color: #fca5a5; text-align: left; white-space: pre-wrap; word-break: break-all; margin-bottom: 20px; user-select: text;">
</div> </div>
<div class="progress-track" id="progress-track" style="display: none;"> <div class="progress-track" id="progress-track" style="display: none;">
<div class="progress-fill" id="progress-fill"></div> <div class="progress-fill" id="progress-fill"></div>
@@ -570,9 +570,11 @@ void main() {
const data = e.payload || e; const data = e.payload || e;
if (data) { if (data) {
if (progressTrack) progressTrack.style.display = "block"; if (progressTrack) progressTrack.style.display = "block";
if (progressFill) progressFill.style.width = "100%"; if (progressFill && data.percent !== undefined) {
progressFill.style.width = `${data.percent}%`;
}
if (actionsEl) actionsEl.style.display = "none"; if (actionsEl) actionsEl.style.display = "none";
setStatus("Downloading update..."); setStatus(`Downloading update... ${data.percent !== undefined ? data.percent + '%' : ''}`);
} }
}); });