diff --git a/CHANGELOG.md b/CHANGELOG.md index 04f8109..26f23b4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,11 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +### Fixed + +- A flaky Stream Deck plugin smoke test (`test/smoke.js`) that could race the + placeholder title against the real first paint. + ## [1.3.3] - 2026-09-22 ### Added diff --git a/RELEASE_CHECKLIST.md b/RELEASE_CHECKLIST.md index 1ed4d2e..b21866a 100644 --- a/RELEASE_CHECKLIST.md +++ b/RELEASE_CHECKLIST.md @@ -141,6 +141,7 @@ until one changes how the app is built, signed or packaged. | v1.3.0 | 2026-09-20 | pass — 9 of 9 checks; app reports `OpenPromptr 1.3.0 (64)` | AI agent | | v1.3.1 | 2026-09-20 | pass — 9 of 9 checks; app reports `OpenPromptr 1.3.1 (68)` | AI agent | | v1.3.2 | 2026-09-21 | pass — 9 of 9 checks; app reports `OpenPromptr 1.3.2 (74)` | AI agent | +| v1.3.3 | 2026-09-22 | pass — 9 of 9 checks; app reports `OpenPromptr 1.3.3 (81)` | AI agent | ## Release security gate log diff --git a/Tools/openpromptr-streamdeck/test/smoke.js b/Tools/openpromptr-streamdeck/test/smoke.js index 3186ac0..4912840 100644 --- a/Tools/openpromptr-streamdeck/test/smoke.js +++ b/Tools/openpromptr-streamdeck/test/smoke.js @@ -110,7 +110,15 @@ check("a key that appears is painted from the app's state, with a custom label", const rotation = "com.trsdn.openpromptr.rotation"; tell({ event: "willAppear", context: "out", action: output, payload: { settings: { title: "Prompter" } } }); tell({ event: "willAppear", context: "rot", action: rotation, payload: { settings: {} } }); - await until(() => last("setTitle", "out") && last("setTitle", "rot"), "first paint"); + // Not just "a setTitle arrived": the very first paint, before the API has + // been polled, is the "—" placeholder — wait for the one that reflects + // the state this test set up, or the assertions below race it. + await until( + () => + last("setTitle", "out")?.payload.title === "Prompter" && + last("setTitle", "rot")?.payload.title === "0°", + "first paint" + ); assert.equal(last("setTitle", "out").payload.title, "Prompter"); assert.equal(last("setState", "out").payload.state, 0); assert.equal(last("setTitle", "rot").payload.title, "0°"); diff --git a/docs/index.html b/docs/index.html index 9cf2c4e..8113eb0 100644 --- a/docs/index.html +++ b/docs/index.html @@ -303,13 +303,13 @@
- OpenPromptr-v1.3.2-macOS-arm64.dmg + OpenPromptr-v1.3.3-macOS-arm64.dmg — verify against its - published checksum + published checksum if you'd like — then drag OpenPromptr into Applications.