From c06240f03b12cbd5c5c7c2ce243caffb43037038 Mon Sep 17 00:00:00 2001 From: pdmarf <135653545+pdmarf@users.noreply.github.com> Date: Thu, 23 Apr 2026 20:49:33 +0100 Subject: [PATCH] v1.0.22: refresh projects/users when API token is saved MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Previously onPropertyInspectorDidAppear fired once on PI open — if the token wasn't saved yet (first-time setup), the dropdown stayed empty forever. Now saving credentials sends a refresh event to the plugin, which re-fetches and repopulates projects and names immediately. Co-Authored-By: Claude Sonnet 4.6 --- com.pdma.notion-timer.sdPlugin/bin/plugin.js | 55 ++++++++++-------- .../bin/plugin.js.sig | 2 +- .../ui/property-inspector.html | 3 + notion-timer.streamDeckPlugin | Bin 99255 -> 99331 bytes src/plugin.ts | 52 ++++++++++------- version.json | 2 +- 6 files changed, 66 insertions(+), 48 deletions(-) diff --git a/com.pdma.notion-timer.sdPlugin/bin/plugin.js b/com.pdma.notion-timer.sdPlugin/bin/plugin.js index cba0308..95dbf08 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.21"; +var CURRENT_VERSION = "1.0.22"; var GITEA_BASE = "https://gitea.pdmarf.co.uk/pdm/stream_deck_notion_timer/raw/branch/master"; var SIGNING_PUBLIC_KEY = `-----BEGIN PUBLIC KEY----- MCowBQYDK2VwAyEAN7ko8TUpuPzPAJuKAZCRjV0c4ZSlou5d9pUAF6o12b4= @@ -6546,6 +6546,31 @@ async function setRunningEntry(entryId) { const stored = await plugin_default.settings.getGlobalSettings(); await plugin_default.settings.setGlobalSettings({ ...stored, runningEntryId: entryId }); } +async function sendProjectsToPI(overrideToken) { + try { + const global = await getGlobal(); + const token = overrideToken || global.notionToken; + if (!token) { + await plugin_default.ui.sendToPropertyInspector({ event: "projects", data: [], error: "Enter your Notion API token above.", version: CURRENT_VERSION }); + return; + } + let usersResult = []; + let usersError; + const [projects] = await Promise.all([ + fetchProjects(token, global.projectsDbId), + fetchUsers(token).then((u) => { + usersResult = u; + }).catch((err) => { + plugin_default.logger.error("Failed to fetch users:", err); + usersError = err instanceof Error ? err.message : String(err); + }) + ]); + await plugin_default.ui.sendToPropertyInspector({ event: "projects", data: projects, users: usersResult, usersError, 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 }); + } +} function isConfigured(g) { return !!(g.notionToken && g.userId); } @@ -6573,29 +6598,8 @@ var TimerToggle = class extends SingletonAction { } } } - async onPropertyInspectorDidAppear(ev) { - try { - const global = await getGlobal(); - if (!global.notionToken) { - await plugin_default.ui.sendToPropertyInspector({ event: "projects", data: [], error: "Enter your Notion API token above.", version: CURRENT_VERSION }); - return; - } - let usersResult = []; - let usersError; - const [projects] = await Promise.all([ - fetchProjects(global.notionToken, global.projectsDbId), - fetchUsers(global.notionToken).then((u) => { - usersResult = u; - }).catch((err) => { - plugin_default.logger.error("Failed to fetch users:", err); - usersError = err instanceof Error ? err.message : String(err); - }) - ]); - await plugin_default.ui.sendToPropertyInspector({ event: "projects", data: projects, users: usersResult, usersError, 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 }); - } + async onPropertyInspectorDidAppear(_ev) { + await sendProjectsToPI(); } async onKeyDown(ev) { this.settingsCache.set(ev.action.id, ev.payload.settings); @@ -6666,6 +6670,9 @@ plugin_default.ui.onSendToPlugin(async (ev) => { const title = buttonTitle(ev.payload.settings.projectName || ""); if (title) await ev.action.setTitle(title); } + if (ev.payload.event === "refresh") { + await sendProjectsToPI(ev.payload.notionToken); + } if (ev.payload.event === "checkForUpdates") { const send = (msg) => plugin_default.ui.sendToPropertyInspector({ event: "updateStatus", message: msg }); send("Checking\u2026"); diff --git a/com.pdma.notion-timer.sdPlugin/bin/plugin.js.sig b/com.pdma.notion-timer.sdPlugin/bin/plugin.js.sig index 17e850a..73daef0 100644 --- a/com.pdma.notion-timer.sdPlugin/bin/plugin.js.sig +++ b/com.pdma.notion-timer.sdPlugin/bin/plugin.js.sig @@ -1 +1 @@ -_4/leV&BU1jl3{#̲Zd7_eNn's;9JL6 \ No newline at end of file +!arR,{xJ0Sѕcu1<5K(a/Ǩ6g omNKt \ 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 639a739..a1eea66 100644 --- a/com.pdma.notion-timer.sdPlugin/ui/property-inspector.html +++ b/com.pdma.notion-timer.sdPlugin/ui/property-inspector.html @@ -195,6 +195,9 @@ }; $PI.setGlobalSettings(creds); setCredStatus("Credentials saved.", "ok"); + if (creds.notionToken) { + $PI.sendToPlugin({ event: "refresh", notionToken: creds.notionToken }); + } } function populateUsers(users, savedUserId) { diff --git a/notion-timer.streamDeckPlugin b/notion-timer.streamDeckPlugin index d9c9d88ea890aab23272a0721cbaa66d79301843..ece814b220baa4d16b1eb97489b11bafc959bdef 100644 GIT binary patch delta 36482 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 delta 36464 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 S9YX#=zQqHTSaQSuUh_X<=Y5I* diff --git a/src/plugin.ts b/src/plugin.ts index df31b94..ba40d94 100644 --- a/src/plugin.ts +++ b/src/plugin.ts @@ -1,4 +1,4 @@ -const CURRENT_VERSION = "1.0.21"; +const CURRENT_VERSION = "1.0.22"; const GITEA_BASE = "https://gitea.pdmarf.co.uk/pdm/stream_deck_notion_timer/raw/branch/master"; const SIGNING_PUBLIC_KEY = `-----BEGIN PUBLIC KEY----- MCowBQYDK2VwAyEAN7ko8TUpuPzPAJuKAZCRjV0c4ZSlou5d9pUAF6o12b4= @@ -139,6 +139,30 @@ async function setRunningEntry(entryId: string | null): Promise { await streamDeck.settings.setGlobalSettings({ ...stored, runningEntryId: entryId }); } +async function sendProjectsToPI(overrideToken?: string): Promise { + try { + const global = await getGlobal(); + const token = overrideToken || global.notionToken; + if (!token) { + await streamDeck.ui.sendToPropertyInspector({ event: "projects", data: [], error: "Enter your Notion API token above.", version: CURRENT_VERSION }); + return; + } + let usersResult: Awaited> = []; + let usersError: string | undefined; + const [projects] = await Promise.all([ + fetchProjects(token, global.projectsDbId), + fetchUsers(token).then((u) => { usersResult = u; }).catch((err) => { + streamDeck.logger.error("Failed to fetch users:", err); + usersError = err instanceof Error ? err.message : String(err); + }), + ]); + await streamDeck.ui.sendToPropertyInspector({ event: "projects", data: projects, users: usersResult, usersError, 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 }); + } +} + function isConfigured(g: GlobalSettings): boolean { return !!(g.notionToken && g.userId); } @@ -176,27 +200,8 @@ class TimerToggle extends SingletonAction { } } - async onPropertyInspectorDidAppear(ev: PropertyInspectorDidAppearEvent): Promise { - try { - const global = await getGlobal(); - if (!global.notionToken) { - await streamDeck.ui.sendToPropertyInspector({ event: "projects", data: [], error: "Enter your Notion API token above.", version: CURRENT_VERSION }); - return; - } - let usersResult: Awaited> = []; - let usersError: string | undefined; - const [projects] = await Promise.all([ - fetchProjects(global.notionToken, global.projectsDbId), - fetchUsers(global.notionToken).then((u) => { usersResult = u; }).catch((err) => { - streamDeck.logger.error("Failed to fetch users:", err); - usersError = err instanceof Error ? err.message : String(err); - }), - ]); - await streamDeck.ui.sendToPropertyInspector({ event: "projects", data: projects, users: usersResult, usersError, 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 }); - } + async onPropertyInspectorDidAppear(_ev: PropertyInspectorDidAppearEvent): Promise { + await sendProjectsToPI(); } async onKeyDown(ev: KeyDownEvent): Promise { @@ -274,6 +279,9 @@ streamDeck.ui.onSendToPlugin<{ event: string; settings?: TimerSettings }>(async const title = buttonTitle(ev.payload.settings.projectName || ""); if (title) await ev.action.setTitle(title); } + if (ev.payload.event === "refresh") { + await sendProjectsToPI(ev.payload.notionToken as string | undefined); + } if (ev.payload.event === "checkForUpdates") { const send = (msg: string) => streamDeck.ui.sendToPropertyInspector({ event: "updateStatus", message: msg }); send("Checking…"); diff --git a/version.json b/version.json index 785c591..f7bc7e1 100644 --- a/version.json +++ b/version.json @@ -1 +1 @@ -{ "version": "1.0.21" } +{ "version": "1.0.22" }