From bf92bc988f641d38f60b80b0579aa9b83c1fec94 Mon Sep 17 00:00:00 2001 From: meh Date: Sun, 6 Sep 2026 18:07:21 +0700 Subject: [PATCH 1/3] build(gui): take the ps-blitz 0.4 engine Every Settings switch lies about its setting on the 0.3 engine. `checked` is an HTML boolean attribute, so the `checked="false"` that a controlled component writes reads as checked, and the property never reached the input's live state at all. A setting stored `false` comes back reporting on after a restart, and only agrees with itself once someone clicks it. Measured on a build against the fixed engine, same disposable profile either way: stored blitzDeepProfilingEnabled: false 0.3: switch ... "visible,selected" 0.4: switch ... visible `tests/ps-qa/06-toggles.ron` could not see it. `ValueChanges` is satisfied by the renderer flipping the input natively, whether or not the application hears about it, and every toggle check presses first and asserts a delta, which is exactly what a wrong initial value survives. A check comparing a control against its persisted setting without pressing it is what would have caught this. The full native suite is 310/310 on the fixed engine. Pinned at 0.4.3 rather than 0.4: 0.4.2 is a newer engine without the fixes. --- apps/gui/Cargo.toml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/gui/Cargo.toml b/apps/gui/Cargo.toml index 32c1ce0c..08274462 100644 --- a/apps/gui/Cargo.toml +++ b/apps/gui/Cargo.toml @@ -101,7 +101,7 @@ tauri = { version = "2", default-features = false, features = ["macos-private-ap # 0.1.0 the runtime's own feature forwards to `tauri` and `tauri-runtime`, so # naming it here agrees with that rather than being the only thing holding the # two sides together. -tauri-runtime-blitz = { version = "^0.3", optional = true, features = ["macos-private-api"] } +tauri-runtime-blitz = { version = "^0.3.2", optional = true, features = ["macos-private-api"] } # # The engine by version, not by branch. Same move `chuzz` made, for the same # reasons its manifest records. @@ -121,8 +121,8 @@ tauri-runtime-blitz = { version = "^0.3", optional = true, features = ["macos-pr # file. Working against a local checkout stays possible through the `[patch]` # entries in `.cargo/config.toml`, so the default exercises what a release # actually resolves. -blitz-dom = { package = "ps-blitz-dom", version = "^0.3", features = ["system-fonts", "parallel-construct"], optional = true } -blitz-script = { package = "ps-blitz-script", version = "^0.3", features = ["system-fonts"], optional = true } +blitz-dom = { package = "ps-blitz-dom", version = "^0.4.3", features = ["system-fonts", "parallel-construct"], optional = true } +blitz-script = { package = "ps-blitz-script", version = "^0.4.3", features = ["system-fonts"], optional = true } brotli = { version = "8.0.4", default-features = false, features = ["std"], optional = true } url = { version = "2.5.8", optional = true } tauri-plugin-updater = "2" From af2904c808e6e24453e957c872309e676f9be4c2 Mon Sep 17 00:00:00 2001 From: meh Date: Sun, 6 Sep 2026 19:06:50 +0700 Subject: [PATCH 2/3] build(gui): release 0.8.51 with the fixed engine The release workflow declines to publish when the committed version equals the live one, so the renderer fix would merge and reach no user. Every Settings switch on 0.8.50 reports the wrong state for a setting that is off, until someone clicks it. --- Cargo.toml | 2 +- apps/gui/Cargo.toml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index a1a72f11..afd2af77 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -9,7 +9,7 @@ members = [ ] [workspace.package] -version = "0.8.50" +version = "0.8.51" edition = "2024" publish = false diff --git a/apps/gui/Cargo.toml b/apps/gui/Cargo.toml index 08274462..c4760a70 100644 --- a/apps/gui/Cargo.toml +++ b/apps/gui/Cargo.toml @@ -101,7 +101,7 @@ tauri = { version = "2", default-features = false, features = ["macos-private-ap # 0.1.0 the runtime's own feature forwards to `tauri` and `tauri-runtime`, so # naming it here agrees with that rather than being the only thing holding the # two sides together. -tauri-runtime-blitz = { version = "^0.3.2", optional = true, features = ["macos-private-api"] } +tauri-runtime-blitz = { version = "^0.3.3", optional = true, features = ["macos-private-api"] } # # The engine by version, not by branch. Same move `chuzz` made, for the same # reasons its manifest records. From aa5ba1c4bfcb92b6457b4c699ae95e3add685fc3 Mon Sep 17 00:00:00 2001 From: meh Date: Sun, 6 Sep 2026 20:11:08 +0700 Subject: [PATCH 3/3] build(gui): pin the engine at the minor, not the patch `^0.4.3` and `^0.3.3` are version bumps wearing carets. `^0.4` and `^0.3` are the convention here; the lockfile decides which patch is actually used. --- apps/gui/Cargo.toml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/apps/gui/Cargo.toml b/apps/gui/Cargo.toml index c4760a70..0efc0af2 100644 --- a/apps/gui/Cargo.toml +++ b/apps/gui/Cargo.toml @@ -101,7 +101,7 @@ tauri = { version = "2", default-features = false, features = ["macos-private-ap # 0.1.0 the runtime's own feature forwards to `tauri` and `tauri-runtime`, so # naming it here agrees with that rather than being the only thing holding the # two sides together. -tauri-runtime-blitz = { version = "^0.3.3", optional = true, features = ["macos-private-api"] } +tauri-runtime-blitz = { version = "^0.3", optional = true, features = ["macos-private-api"] } # # The engine by version, not by branch. Same move `chuzz` made, for the same # reasons its manifest records. @@ -121,8 +121,8 @@ tauri-runtime-blitz = { version = "^0.3.3", optional = true, features = ["macos- # file. Working against a local checkout stays possible through the `[patch]` # entries in `.cargo/config.toml`, so the default exercises what a release # actually resolves. -blitz-dom = { package = "ps-blitz-dom", version = "^0.4.3", features = ["system-fonts", "parallel-construct"], optional = true } -blitz-script = { package = "ps-blitz-script", version = "^0.4.3", features = ["system-fonts"], optional = true } +blitz-dom = { package = "ps-blitz-dom", version = "^0.4", features = ["system-fonts", "parallel-construct"], optional = true } +blitz-script = { package = "ps-blitz-script", version = "^0.4", features = ["system-fonts"], optional = true } brotli = { version = "8.0.4", default-features = false, features = ["std"], optional = true } url = { version = "2.5.8", optional = true } tauri-plugin-updater = "2"