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" }