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

Maintained - v1.3.2 + v1.3.3 macOS 13+ MIT licence
- - Download OpenPromptr 1.3.2 + + Download OpenPromptr 1.3.3 Build from source @@ -388,9 +388,9 @@

Get it

Download and open the disk image.

- 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.

@@ -479,8 +479,8 @@

Project

  • Changelog
  • - Describes version 1.3.2. Page last - reviewed . + Describes version 1.3.3. Page last + reviewed .

    diff --git a/docs/self-assessment.md b/docs/self-assessment.md index b6934d9..08c1553 100644 --- a/docs/self-assessment.md +++ b/docs/self-assessment.md @@ -60,7 +60,7 @@ Archived (the repository is active). - **R05** — 1.15.0 asks for a smoke kit, a documented command that checks the published artifact without an operator, run and recorded. `Scripts/smoke-published.sh` is that kit and is documented in `RELEASE_CHECKLIST.md`; it was run against - v1.3.0, v1.3.1 and v1.3.2 (2026-09-20 and 2026-09-21) (9 of 9 checks: checksums, updater copy identical, + v1.3.0 through v1.3.3 (2026-09-20 to 2026-09-22) (9 of 9 checks: checksums, updater copy identical, notarization stapled, Gatekeeper accepts DMG and app, signature verifies, bundle identifier and version, app launches and reports `OpenPromptr 1.3.0 (64)`), and the result is in the log there. The core function is not