feat: early app updates #96

This commit is contained in:
leukipp
2025-10-08 20:47:59 +02:00
parent f666ed57ab
commit ad7d3fd3ff
3 changed files with 34 additions and 32 deletions
+2 -2
View File
@@ -235,7 +235,7 @@ const initApp = () => {
unique_id: `${INTEGRATION.node}_app`,
command_topic: `${root}/install`,
state_topic: `${root}/version/state`,
payload_install: "update",
payload_install: "app_early" in ARGS ? "update early" : "update",
device: INTEGRATION.device,
};
if (!HARDWARE.support.appUpdate) {
@@ -247,7 +247,7 @@ const initApp = () => {
if (topic === config.command_topic) {
console.info("Update App...");
hardware.setDisplayStatus("ON", () => {
const args = ["-c", `bash <(wget -qO- ${APP.scripts.install}) update`];
const args = ["-c", `bash <(wget -qO- ${APP.scripts.install}) ${message.toString()}`];
hardware.execScriptCommand("bash", args, (progress, error) => {
if (progress) {
console.info(`Progress: ${progress}%`);
+13 -12
View File
@@ -49,7 +49,7 @@ const init = async () => {
session.defaultSession.clearCache();
// Parse arguments
const debug = ARGS.app_debug === "true";
const debug = "app_debug" in ARGS;
const widget = ARGS.web_widget ? ARGS.web_widget === "true" : true;
const zoom = !isNaN(parseFloat(ARGS.web_zoom)) ? parseFloat(ARGS.web_zoom) : 1.25;
const theme = ["light", "dark"].includes(ARGS.web_theme) ? ARGS.web_theme : "dark";
@@ -905,7 +905,7 @@ const viewEvents = async () => {
if (WEBVIEW.viewActive === 0 && ready.length === WEBVIEW.views.length) {
nextView();
}
if (ARGS.app_debug === "true") {
if ("app_debug" in ARGS) {
setTimeout(() => {
view.webContents.openDevTools();
}, 2000);
@@ -1051,17 +1051,18 @@ const appEvents = async () => {
*/
const latestRelease = async () => {
try {
const response = await axios.get(`${APP.releases.url}/latest`, { timeout: 10000 });
const data = response ? response.data : null;
if (!data || data.draft || data.prerelease) {
return;
const response = await axios.get(APP.releases.url, { timeout: 10000 });
const release = response?.data?.find((item) => {
return !item.draft && (!item.prerelease || "app_early" in ARGS);
});
if (release) {
APP.releases.latest = {
title: APP.title,
version: (release.tag_name || " ").replace(/^v/i, ""),
summary: release.body || " ",
url: release.html_url || " ",
};
}
APP.releases.latest = {
title: APP.title,
version: (data.tag_name || data.name || " ").replace(/^v/i, ""),
summary: data.body || " ",
url: data.html_url || " ",
};
} catch (error) {
console.warn("Github Error:", error.message);
}