From 0b4345dad6a8d552f1836958129413571128d392 Mon Sep 17 00:00:00 2001
From: pdmarf <135653545+pdmarf@users.noreply.github.com>
Date: Wed, 2 Sep 2026 11:52:01 +0100
Subject: [PATCH] v1.0.51: stop chasing auto-refresh, tell the user to confirm
manually instead
v1.0.49's panel-polling approach and v1.0.50's diagnostic logging did
not produce a working auto-refresh in testing -- the panel still hung
after the restarting message until a different button was clicked.
Rather than keep guessing at Stream Deck's PI-reconnect lifecycle,
removed the polling/debug scaffolding entirely and changed the final
status message to explicitly instruct the user: 'Updated to vX. Click
any other button above to confirm version update has been successful.'
---
com.pdma.notion-timer.sdPlugin/bin/plugin.js | 11 ++-----
.../bin/plugin.js.sig | 2 +-
.../ui/property-inspector.html | 30 ------------------
notion-timer.streamDeckPlugin | Bin 100451 -> 99799 bytes
src/plugin.ts | 15 +++------
version.json | 2 +-
6 files changed, 10 insertions(+), 50 deletions(-)
diff --git a/com.pdma.notion-timer.sdPlugin/bin/plugin.js b/com.pdma.notion-timer.sdPlugin/bin/plugin.js
index fe7ddc7..7ed3b9a 100644
--- a/com.pdma.notion-timer.sdPlugin/bin/plugin.js
+++ b/com.pdma.notion-timer.sdPlugin/bin/plugin.js
@@ -6438,7 +6438,7 @@ async function stopTimer(token, entryId) {
}
// src/plugin.ts
-var CURRENT_VERSION = "1.0.50";
+var CURRENT_VERSION = "1.0.51";
var GITEA_BASE = "https://gitea.pdmarf.co.uk/pdm/stream_deck_notion_timer/raw/branch/stable-rebuild";
var SIGNING_PUBLIC_KEY = `-----BEGIN PUBLIC KEY-----
MCowBQYDK2VwAyEAN7ko8TUpuPzPAJuKAZCRjV0c4ZSlou5d9pUAF6o12b4=
@@ -6512,7 +6512,7 @@ async function checkForUpdates(sendStatus) {
}
fs3.writeFileSync(__filename, newCode);
plugin_default.logger.info(`Updated to ${version}, restarting\u2026`);
- await sendStatus?.(`Updated to v${version} \u2014 restarting\u2026`);
+ await sendStatus?.(`Updated to v${version}. Click any other button above to confirm version update has been successful.`);
await new Promise((resolve) => setTimeout(resolve, 200));
process.exit(0);
} catch (err) {
@@ -6543,12 +6543,10 @@ function setRunningEntry(entryId, actionId) {
plugin_default.settings.getGlobalSettings().then((stored) => plugin_default.settings.setGlobalSettings({ ...stored, runningEntryId: entryId, runningActionId: actionId })).catch((err) => plugin_default.logger.error("Failed to persist running state:", err));
}
async function sendProjectsToPI(tokenOverride) {
- plugin_default.logger.info(`[diag] sendProjectsToPI called, version=${CURRENT_VERSION}, hasToken=${!!tokenOverride}`);
try {
const global = await getGlobal();
const token = tokenOverride ?? global.notionToken;
if (!token) {
- plugin_default.logger.info("[diag] sendProjectsToPI: no token, sending error payload");
await plugin_default.ui.sendToPropertyInspector({ event: "projects", data: [], error: "Enter your Notion API token above.", version: CURRENT_VERSION });
return;
}
@@ -6560,7 +6558,6 @@ async function sendProjectsToPI(tokenOverride) {
})
]);
await plugin_default.ui.sendToPropertyInspector({ event: "projects", data: projects, users: usersResult, version: CURRENT_VERSION });
- plugin_default.logger.info(`[diag] sendProjectsToPI: sent projects payload, version=${CURRENT_VERSION}`);
} catch (err) {
plugin_default.logger.error("Failed to fetch projects:", err);
await plugin_default.ui.sendToPropertyInspector({ event: "projects", data: [], error: String(err), version: CURRENT_VERSION });
@@ -6638,8 +6635,7 @@ var TimerToggle = class extends SingletonAction {
await Promise.all([ev.action.setState(0), ev.action.setTitle(title)]);
}
}
- async onPropertyInspectorDidAppear(ev) {
- plugin_default.logger.info(`[diag] onPropertyInspectorDidAppear fired for ${ev.action.id}, version=${CURRENT_VERSION}`);
+ async onPropertyInspectorDidAppear(_ev) {
await sendProjectsToPI();
}
async onKeyDown(ev) {
@@ -6725,7 +6721,6 @@ TimerToggle = __decorateClass([
var timerAction = new TimerToggle();
plugin_default.actions.registerAction(timerAction);
plugin_default.ui.onSendToPlugin(async (ev) => {
- plugin_default.logger.info(`[diag] onSendToPlugin received event=${ev.payload.event}, version=${CURRENT_VERSION}`);
if (ev.payload.event === "saveSettings" && ev.payload.settings) {
await ev.action.setSettings(ev.payload.settings);
const title = buttonTitle(ev.payload.settings.projectName || "");
diff --git a/com.pdma.notion-timer.sdPlugin/bin/plugin.js.sig b/com.pdma.notion-timer.sdPlugin/bin/plugin.js.sig
index f077a92..dcabfd0 100644
--- a/com.pdma.notion-timer.sdPlugin/bin/plugin.js.sig
+++ b/com.pdma.notion-timer.sdPlugin/bin/plugin.js.sig
@@ -1 +1 @@
-u…o%]¹8®ú~/†l�bßϨRŸ1‚ôŽÜ®¸u»†Í%]çâ4Cñ®¥Ri1ü¢Â×05@KfíÙ#X
\ No newline at end of file
+…æË>· o“ˆ!óhŰù!HC1ÈÉÒÉ_gY’|vnû¦»÷1Ûá´¨*ò�˜M(ªºþ0C5ó=
\ No newline at end of file
diff --git a/com.pdma.notion-timer.sdPlugin/ui/property-inspector.html b/com.pdma.notion-timer.sdPlugin/ui/property-inspector.html
index 443339a..3dc4c73 100644
--- a/com.pdma.notion-timer.sdPlugin/ui/property-inspector.html
+++ b/com.pdma.notion-timer.sdPlugin/ui/property-inspector.html
@@ -147,7 +147,6 @@
-
@@ -177,31 +176,6 @@
el.className = cls || "";
}
- // TEMP diagnostic trail — remove once the update-refresh flow is confirmed working.
- var debugLines = [];
- function debugLog(msg) {
- var t = new Date().toISOString().slice(11, 19);
- debugLines.push(t + " " + msg);
- if (debugLines.length > 8) debugLines.shift();
- document.getElementById("debugText").textContent = debugLines.join("\n");
- }
-
- // The plugin process restarts after an update, and a freshly-restarted
- // process has no way to push to an already-open panel (Stream Deck only
- // tells a plugin a panel is visible via a live didAppear/onSendToPlugin
- // round trip, which a cold-started process hasn't received yet). So the
- // panel re-requests the version itself a few times after the restart
- // window, instead of waiting on the plugin to notify it.
- function pollForVersionRefresh() {
- var token = document.getElementById("notionToken").value.trim();
- [1500, 3500, 6000, 9000].forEach(function(delay) {
- setTimeout(function() {
- debugLog("poll: sending refreshProjects (+" + delay + "ms)");
- $PI.sendToPlugin({ event: "refreshProjects", token: token });
- }, delay);
- });
- }
-
// Collapsible credentials section
document.getElementById("credToggle").addEventListener("click", function() {
var section = document.getElementById("credSection");
@@ -280,7 +254,6 @@
}
$PI.onConnected(function(jsn) {
- debugLog("$PI.onConnected fired (panel loaded/reloaded)");
currentSettings = jsn.actionInfo.payload.settings || {};
$PI.getSettings();
$PI.getGlobalSettings();
@@ -289,10 +262,8 @@
document.getElementById("notionToken").addEventListener("input", scheduleCredSave);
document.getElementById("userId").addEventListener("change", saveCredentials);
document.getElementById("updateBtn").addEventListener("click", function() {
- debugLog("Check for Updates clicked");
document.getElementById("updateStatus").textContent = "";
$PI.sendToPlugin({ event: "checkForUpdates" });
- pollForVersionRefresh();
});
});
@@ -332,7 +303,6 @@
$PI.onSendToPropertyInspector(ACTION_UUID, function(jsn) {
var payload = jsn.payload;
- debugLog("received: " + payload.event + (payload.version ? " v" + payload.version : ""));
if (payload.event === "updateStatus") {
document.getElementById("updateStatus").textContent = payload.message;
}
diff --git a/notion-timer.streamDeckPlugin b/notion-timer.streamDeckPlugin
index 97d676fac3bba7b5f59a12d20ddbefab9b0c2484..8e5c3ef1a856fea1365cc3f3a970ec5192494b22 100644
GIT binary patch
delta 6313
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
R`tOJ(3M_!u;{SKK{{gEEFDU>3
delta 6988
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
diff --git a/src/plugin.ts b/src/plugin.ts
index 200d08d..83655d2 100644
--- a/src/plugin.ts
+++ b/src/plugin.ts
@@ -1,4 +1,4 @@
-const CURRENT_VERSION = "1.0.50";
+const CURRENT_VERSION = "1.0.51";
const GITEA_BASE = "https://gitea.pdmarf.co.uk/pdm/stream_deck_notion_timer/raw/branch/stable-rebuild";
const SIGNING_PUBLIC_KEY = `-----BEGIN PUBLIC KEY-----
MCowBQYDK2VwAyEAN7ko8TUpuPzPAJuKAZCRjV0c4ZSlou5d9pUAF6o12b4=
@@ -74,9 +74,9 @@ async function checkForUpdates(sendStatus?: (msg: string) => void | Promise setTimeout(resolve, 200));
process.exit(0);
} catch (err) {
@@ -140,12 +140,10 @@ function setRunningEntry(entryId: string | null, actionId: string | null): void
}
async function sendProjectsToPI(tokenOverride?: string): Promise {
- streamDeck.logger.info(`[diag] sendProjectsToPI called, version=${CURRENT_VERSION}, hasToken=${!!tokenOverride}`);
try {
const global = await getGlobal();
const token = tokenOverride ?? global.notionToken;
if (!token) {
- streamDeck.logger.info("[diag] sendProjectsToPI: no token, sending error payload");
await streamDeck.ui.sendToPropertyInspector({ event: "projects", data: [], error: "Enter your Notion API token above.", version: CURRENT_VERSION });
return;
}
@@ -157,7 +155,6 @@ async function sendProjectsToPI(tokenOverride?: string): Promise {
}),
]);
await streamDeck.ui.sendToPropertyInspector({ event: "projects", data: projects, users: usersResult, version: CURRENT_VERSION });
- streamDeck.logger.info(`[diag] sendProjectsToPI: sent projects payload, version=${CURRENT_VERSION}`);
} catch (err) {
streamDeck.logger.error("Failed to fetch projects:", err);
await streamDeck.ui.sendToPropertyInspector({ event: "projects", data: [], error: String(err), version: CURRENT_VERSION });
@@ -243,8 +240,7 @@ class TimerToggle extends SingletonAction {
}
}
- async onPropertyInspectorDidAppear(ev: PropertyInspectorDidAppearEvent): Promise {
- streamDeck.logger.info(`[diag] onPropertyInspectorDidAppear fired for ${ev.action.id}, version=${CURRENT_VERSION}`);
+ async onPropertyInspectorDidAppear(_ev: PropertyInspectorDidAppearEvent): Promise {
await sendProjectsToPI();
}
@@ -341,7 +337,6 @@ const timerAction = new TimerToggle();
streamDeck.actions.registerAction(timerAction);
streamDeck.ui.onSendToPlugin<{ event: string; settings?: TimerSettings; token?: string }>(async (ev) => {
- streamDeck.logger.info(`[diag] onSendToPlugin received event=${ev.payload.event}, version=${CURRENT_VERSION}`);
if (ev.payload.event === "saveSettings" && ev.payload.settings) {
await ev.action.setSettings(ev.payload.settings);
const title = buttonTitle(ev.payload.settings.projectName || "");
diff --git a/version.json b/version.json
index b5f5ad4..272ea99 100644
--- a/version.json
+++ b/version.json
@@ -1 +1 @@
-{ "version": "1.0.50" }
+{ "version": "1.0.51" }