From 8d63a6c7c443538b0b90beafe07e054a0b599246 Mon Sep 17 00:00:00 2001 From: pdmarf <135653545+pdmarf@users.noreply.github.com> Date: Tue, 21 Apr 2026 18:35:50 +0100 Subject: [PATCH] v1.0.18 Co-Authored-By: Claude Sonnet 4.6 --- com.pdma.notion-timer.sdPlugin/bin/plugin.js | 18 +++++++++++------- .../bin/plugin.js.sig | 2 +- notion-timer.streamDeckPlugin | Bin 99655 -> 99685 bytes src/plugin.ts | 18 +++++++++++------- version.json | 2 +- 5 files changed, 24 insertions(+), 16 deletions(-) diff --git a/com.pdma.notion-timer.sdPlugin/bin/plugin.js b/com.pdma.notion-timer.sdPlugin/bin/plugin.js index f151291..2e7db12 100644 --- a/com.pdma.notion-timer.sdPlugin/bin/plugin.js +++ b/com.pdma.notion-timer.sdPlugin/bin/plugin.js @@ -6438,18 +6438,22 @@ async function stopTimer(token, entryId) { } // src/plugin.ts -var CURRENT_VERSION = "1.0.17"; +var CURRENT_VERSION = "1.0.18"; var GITEA_BASE = "https://gitea.pdmarf.co.uk/pdm/stream_deck_notion_timer/raw/branch/master"; var SIGNING_PUBLIC_KEY = `-----BEGIN PUBLIC KEY----- MCowBQYDK2VwAyEAN7ko8TUpuPzPAJuKAZCRjV0c4ZSlou5d9pUAF6o12b4= -----END PUBLIC KEY-----`; function isNewerVersion(remote, current) { const parse = (v) => v.split(".").map(Number); - const [rMaj, rMin, rPat] = parse(remote); - const [cMaj, cMin, cPat] = parse(current); - if (rMaj !== cMaj) return rMaj > cMaj; - if (rMin !== cMin) return rMin > cMin; - return rPat > cPat; + const r = parse(remote); + const c = parse(current); + const len = Math.max(r.length, c.length); + for (let i = 0; i < len; i++) { + const rv = r[i] ?? 0; + const cv = c[i] ?? 0; + if (rv !== cv) return rv > cv; + } + return false; } function fetchWithTimeout2(url) { const controller = new AbortController(); @@ -6464,7 +6468,7 @@ async function checkForUpdates(sendStatus) { return; } const { version } = await resp.json(); - if (!/^\d+\.\d+\.\d+$/.test(version)) return; + if (!/^\d+(\.\d+)+$/.test(version)) return; if (!isNewerVersion(version, CURRENT_VERSION)) { sendStatus?.(`Already up to date (v${CURRENT_VERSION})`); return; diff --git a/com.pdma.notion-timer.sdPlugin/bin/plugin.js.sig b/com.pdma.notion-timer.sdPlugin/bin/plugin.js.sig index 52d3148..df7946a 100644 --- a/com.pdma.notion-timer.sdPlugin/bin/plugin.js.sig +++ b/com.pdma.notion-timer.sdPlugin/bin/plugin.js.sig @@ -1 +1 @@ -ţb3NE(T%,w҉8,vW7UρrW&")K \ No newline at end of file +hj5$r!cdґ]koliH* ; c  \ No newline at end of file diff --git a/notion-timer.streamDeckPlugin b/notion-timer.streamDeckPlugin index 93f3f716e8db2527c26fd5371b6827c3df21e95e..f98c0543db22005fc4b15f84eb6eb6d1f41edeea 100644 GIT binary patch delta 1985 zcmV;y2R``6iU#G12C%>=0wuMx!YI)S2ziv1Twci4$&;HiL4S6&=V>Li=V^6#3jhHG z^#K3?1QY-O02ye*YBjOx+xa8}av{F|*<+Re@aANgg5A=QU2FZ5Z`y3LWyN~*q3D;u@4^T@31QY-O00;nil$BgEy^3gFtN;MrbOQh^02}~g zZ*4AcWNl$CZj-(T6_ao@5(Rd(=V^AchcrE;0k@OI*wud|iK7?*MpV?R_|!L_^g#C8 zFoUbst8{v8XMel_VD3ArVG?Tzr2TGCfeM%({TnM)quOTj6s6Of;tt` zIo=wADdtr&8)IaCm|FY8mmj_6^UiV29NiufLHvJqsCr_E=1P=VU4P`>3l4~F!V!-; zKltO&Ac)N(dWv$|2R!(~WrYYGz(QGnyMpA^D+lB(fA0h=2#Ht!TppYI(5-e0bbm}2 zsYAK6cCw1R;1+R*r(8pA;3bb1s!b_PZTDxzATvl5gJKL92mfmPr&pAN>FMnBRLuyU zNZNnYQUjMxCg~M@Zg-sKNY(0O7er0=zHIeO3E5jtn-A#_9eb%|8;n`I&fq)&#cjfK ztZN{ac*QO)0^MhTo@4i`ckd+o8SVKuh;1oUW(1Lbzx2@^UpOpH~9y1AnSrEZuR+^Ff1R9!AvG__{bb>yVX+{6squ_n!DTr( zs9R;uPXK?~di(s@?(^;EtP`@AFnC+Z`rqAOTl;2^-cP?>{pP#xvTVJ7`rX?4g9m@= zuSX9^U(DAWZqpw;df5Nw(dx?T>1w+2VDKngN!K5(uM8f3v)=zMyTA7E+lQ$6^-i<1 zZ2IG{IDt@f;;1gcZe-x?R)ZE3h{H7AGcTp$9LBd3>ZuEV+BwhlOUOlb!Pl#8lJ1jD zbK?&Ib*r|mMRTN^z`Xf3CYD42rapgr6SrK6Rni%OaT2tTUB29zww=3I41i2`bvv`H zZ&U`2oOO1wu%Th|O&ZZ#`!qjOJZaEAa~>w|+-aZjdA1LCH_#QG^;jk2baFDAPC152 zTj+0`-b8tCl8uLHKWpFn+rdxckK1TFmko~I|-kX1Q6RTd+ z6pOdweZ?1sp=)m}l9tBXvsCd7)gpFXex+^@gn1+cC*U90P`Xbc@ErdkV+1>jD?IQV zD@$vq;OiGFaEDq%_h{7i2b!898&Ouz%eSV%ojVS&u##>8Y*X&vo}59OJEl)x>53vd zQaTc0WbR#e#0~OOnd@Vares{BIzf^wP1oGHIWl$PV7s2^d}|wnp44v?ks005Fe}0; zMz9mbGJUa@*5*m3?pz|$R|9Y&7;yq;MKIeG=CwG?$D|yzieUqPFoRpgj!~yD!_|AK zI`)#-TlUVA(A^k+BWHAaaUoNjR9igj(;Xgs(rLPp92|D(MPmb0Qd4y~zA9#ugx@;0 z-s~i(=z>r=AF`fm#!}Trp!J!X8Po^NKhQ9cKD>O3O7{ADP~yFuh3M%rW_wb8>2%%p z^d1_)Z4ZUMHVJ)BaJB^kcKkiFC0*zwM#QrWE9l_ALvL4;XWkzW#-DV8GF_hyHrws` z?5%n*la}5s4Pc0|2)D7_iAK5wP5P72-XJ(@^(H%MhjhEw2#nY_*EDHNRxZt zHCZwon9_Zmb#hTLrsg;!8AGAmz1trhv6o-=3~u=-pRKQ*=PXQgkj##Mr9_QoHoAr!gvCzJ}%Od+yI4JAVE>GOW?)N<%R;V{q@&( zU?N{9e@xNuAlb%VxQx6643ogeld0e)0;w0X(co>L2ziv1Twci4$(Kfe0Z#*Vwda@d zdjT8`d6bo0GQEmuUaSBB-Iu|D0Y(FMwda@ddjS@gAb|lS0{7sTuz>+4mu!InLIG8m zuYm!00-fTQuz>+4mrsHLN&?E`m#~2WCX?>t4VTV>0YCx_<(CkH0eJ#e=9jR60Vb1r z<`I`kg8?F!=rQ delta 1962 zcmY+Fdpy$%AIJBbu;W@TC%0_5iFzk{wjR}RFa(z0_d0w68`SbgJzh0m3=f96IPo_Ihrl#Elx?cbCjR`{z z=6UnhISuq+6nM|-FwwB#1MXh^2V7#ZJOtRX3_u`T)F2QD{UJSwVbyrQywu~^r}1u+ z3aO{349y7}BG}NvLnbqKbF1B3KD`}pEgr++!aCqa(t4)jt{F-vT&4b# z1B3kaO;zPWjKebsqy{eqF^A|tf@7j~$A&}&?v5^+Q3qqKRiyu_VfZrJ+P)mH1?i(K z;+9;voBtye0qikbxL(q7yfWKl`xS3>MSZcPHX1ILlu)(Q+;s-b?#?-=Cg{Ir!fSec zdY#Vgh3DoyS&}seD=W2BTv(`vnc~D%{(3RXGJ;KVx!j8soj-`pu5Ara0|{!mPZd1} z>TlrcT6Y8@SI@|9gxWIKbld3i+D=3wB?24VeVG~21k-{RT6H#MlwBz#=`52Vq+{V!0=AzI(UxzU@RZ?iRg(Kl`f+7_TzF=0}8Td53^_f|95nF@wvE%(1 zymd{qk3uMnz)nkYOeQ}#uv8tbG0dKs6@APQ3gH2(w0ZK0f6bAk*N7JpO~-KX1-|_D zAJd~Dn2=kuaw@*nI@dQ>X{r`-29ni;Um{=FHH{%pZ0zL}C?yzF-6>T3Nk|XIN!rIC^1*QE^-ASG?u%YEeS7z}kuG zlih%buzVNli2bdW8$U+8WUmcPZ>*;`S62Ds;aKLpHyw9SrTrWC|q)}(6pM{ z2F`|AGkA!uM<8;i|^dzAg%nmVD}(`znHQ zxz2)$xTA>z)h>+3SiV8Y=<}TFeuP<--%PY?lv3$>*&hs+%i;y1O^IoLyLz(a-Yk_F z%fcf!sMgrn;}rzY#DEao;2HD?k{OrLlkV`S%jyY~EaX3kzO_GMd9!|5^7SR>!+8Jc zzTkQ9g>yyAZOv_sl0F2DlG?n|N8p9BQ#O~H8D*Ak|Sq94!i-#K)0`$m02skpn~>TG(9+qglE@x3V(ICRD*>a4!d**1;-Im*pE z7wUFdVif%qG%h3p0)q?iX3tkvQ3pnvqmTYl!cV;3w5@0HBop9KytwPQ4W_)6-eImTmmIqQAL zY|5UMl4IOS2M9Xn0}VOQ(Ta&S`~4&vf*Yk(S3NVS9B=UE?L_ljj`sT$%aLw`dyh8Uanu_+I!V(vf~4x*PA1y7?!tl@ls%2yS%b&T=^|TrU1@mN&n)zVx5f7~ zhq~KQ0~XiwnlD{VSzNhzV$wbePH4rJUJn^TTD2mIi5P(pqkv zA#KtC-RUYXp5V7R#$doqE_`d&P5h*}A4Sn-{Nu{(^Astto{Lnp%Bh7l)pBytRB7QC zaE^=kN&L{5Eqn2_FQRjLS+yYO@GkL)r_JqN@0OyI_)w2`PXtX={cQ+eFQ?KXllcce zws1B-IG#D$J30$G^U(5D{`J=eg1&gSOuK@`ynWC*X>fq2enj9eQHcI(BIpXjWv>vR zvijj>ubh^C+iP2MI}Y6ek#1CS5W2t8qc(_)B2_!N1xI&HIcMG7)$=GXU-P84()I!| zXw2V1{Jk{HTkgo7mTCW+VL5H$9QsXK_EJZl^J!&TnpOmIq0BWxtl1tk#7}9orjN>( z4J=k)@NiEfNr2zHnMulYJ#WWn|*u$ylLWvjiM=SNY#4;VS*3g8Jf zY#`rA19m9>-_VeGR{->X)pqisG{6AL=9704ft}>}G(ei1mj)bx+P?cve4xb1?}s$V zo0KCH(g6qPGr>QU%u5H{p>yy5CY~g~7iu^4Kf0d;cmY?)J2QYdD0TWD@hwf7+?D|x elgd8;kUymWh`&30i-VD^GXXQ1!ztf(7xHfjg~uZR diff --git a/src/plugin.ts b/src/plugin.ts index c29595f..d109ce6 100644 --- a/src/plugin.ts +++ b/src/plugin.ts @@ -1,4 +1,4 @@ -const CURRENT_VERSION = "1.0.17"; +const CURRENT_VERSION = "1.0.18"; const GITEA_BASE = "https://gitea.pdmarf.co.uk/pdm/stream_deck_notion_timer/raw/branch/master"; const SIGNING_PUBLIC_KEY = `-----BEGIN PUBLIC KEY----- MCowBQYDK2VwAyEAN7ko8TUpuPzPAJuKAZCRjV0c4ZSlou5d9pUAF6o12b4= @@ -6,11 +6,15 @@ MCowBQYDK2VwAyEAN7ko8TUpuPzPAJuKAZCRjV0c4ZSlou5d9pUAF6o12b4= function isNewerVersion(remote: string, current: string): boolean { const parse = (v: string) => v.split(".").map(Number); - const [rMaj, rMin, rPat] = parse(remote); - const [cMaj, cMin, cPat] = parse(current); - if (rMaj !== cMaj) return rMaj > cMaj; - if (rMin !== cMin) return rMin > cMin; - return rPat > cPat; + const r = parse(remote); + const c = parse(current); + const len = Math.max(r.length, c.length); + for (let i = 0; i < len; i++) { + const rv = r[i] ?? 0; + const cv = c[i] ?? 0; + if (rv !== cv) return rv > cv; + } + return false; } function fetchWithTimeout(url: string): Promise { @@ -24,7 +28,7 @@ async function checkForUpdates(sendStatus?: (msg: string) => void): Promise