fixed updater not showing

This commit is contained in:
2026-08-22 14:25:04 -07:00
parent 66004a79e4
commit 86adb28f41
6 changed files with 44 additions and 12 deletions

14
main.js
View File

@@ -128,14 +128,24 @@ async function start() {
await installBuild(release);
} else if (hasUpdate) {
debugLog("Update available. Prompting user...");
sendToTauri('update-available', { current: localVersion, latest: release.version });
const tempApp = express();
let userDecision = null;
tempApp.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();
});
tempApp.get('/update/info', (req, res) => {
res.json({ available: true, current: localVersion, latest: release.version });
});
tempApp.post('/update/yes', (req, res) => { userDecision = true; res.sendStatus(200); });
tempApp.post('/update/no', (req, res) => { userDecision = false; res.sendStatus(200); });
const tempServer = tempApp.listen(4891, '127.0.0.1');
sendToTauri('update-available', { current: localVersion, latest: release.version });
while (userDecision === null) {
await new Promise(r => setTimeout(r, 500));
}

View File

@@ -1,6 +1,6 @@
{
"name": "vyla-home",
"version": "1.0.3",
"version": "1.0.4",
"description": "Vyla Home Desktop App Launcher",
"main": "main.js",
"scripts": {

2
src-tauri/Cargo.lock generated
View File

@@ -4222,7 +4222,7 @@ dependencies = [
[[package]]
name = "vyla-home"
version = "1.0.3"
version = "1.0.4"
dependencies = [
"serde",
"serde_json",

View File

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

View File

@@ -1,7 +1,7 @@
{
"$schema": "https://raw.githubusercontent.com/tauri-apps/tauri/dev/tooling/cli/schema.json",
"productName": "Vyla Home",
"version": "1.0.3",
"version": "1.0.4",
"identifier": "com.vyla.home",
"build": {
"frontendDist": "../ui"

View File

@@ -681,21 +681,27 @@
viewElement.classList.add('active');
}
if (window.__TAURI__ && window.__TAURI__.event) {
window.__TAURI__.event.listen('update-available', (e) => {
function setupTauriListeners() {
const eventApi = window.__TAURI__?.event || window.__TAURI_INTERNALS__;
if (!eventApi || typeof eventApi.listen !== 'function') {
setTimeout(setupTauriListeners, 200);
return;
}
eventApi.listen('update-available', (e) => {
if (e.payload) {
document.getElementById('update-msg').textContent = `Version ${e.payload.latest} is available (Current: ${e.payload.current}).`;
showView(viewUpdate);
}
});
window.__TAURI__.event.listen('status', (e) => {
eventApi.listen('status', (e) => {
if (e.payload && e.payload.message) {
statusMsg.textContent = e.payload.message;
}
});
window.__TAURI__.event.listen('download-progress', (e) => {
eventApi.listen('download-progress', (e) => {
if (e.payload) {
statusMsg.textContent = `Downloading update: ${e.payload.percent}%`;
progressWrap.style.display = 'block';
@@ -703,27 +709,43 @@
}
});
window.__TAURI__.event.listen('error', (e) => {
eventApi.listen('error', (e) => {
if (e.payload && e.payload.message) {
errorMsg.textContent = e.payload.message;
showView(viewError);
}
});
window.__TAURI__.event.listen('ready', (e) => {
eventApi.listen('ready', (e) => {
if (e.payload && e.payload.url) {
window.location.href = e.payload.url;
}
});
}
setupTauriListeners();
function checkUpdateApi() {
fetch('http://127.0.0.1:4891/update/info')
.then(r => r.json())
.then(data => {
if (data && data.available) {
document.getElementById('update-msg').textContent = `Version ${data.latest} is available (Current: ${data.current}).`;
showView(viewUpdate);
}
})
.catch(() => { });
}
const updateInterval = setInterval(checkUpdateApi, 500);
function installUpdate() {
clearInterval(updateInterval);
fetch('http://127.0.0.1:4891/update/yes', { method: 'POST' }).catch(() => { });
statusMsg.textContent = 'Starting update...';
showView(viewLoader);
}
function skipUpdate() {
clearInterval(updateInterval);
fetch('http://127.0.0.1:4891/update/no', { method: 'POST' }).catch(() => { });
statusMsg.textContent = 'Continuing to app...';
showView(viewLoader);