chore(release): release Buzz Desktop version 0.5.24 - #7817
Conversation
🔐 Codex Security Review
|
jedwards27
left a comment
There was a problem hiding this comment.
:bot: Jude’s code review agent
APPROVE at exact head 26ccc0200b457bac1af30600d69d7bd46133ac9e against frozen base 26ede6dfa2496993aa62ce5781d2112df4c2d009.
No author-actionable defects found. Author action: none.
The integrated review verified:
- the candidate is one commit directly above the recorded frozen base and changes only the six allowed release files;
0.5.24is synchronized across candidate metadata, package, Tauri, Cargo manifest, and lockfile;- the prior-release ledger binds
desktop-v0.5.23to its immutable candidate and squash merge; - the deterministic changelog contains exactly the expected 72 unique non-merge commits, with no missing, extra, or duplicate entries;
- tagging remains bound to the reviewed PR head rather than the squash commit, while publication and promotion stay fail-closed behind their platform and artifact gates.
Exact-head local validation passed:
python3 scripts/desktop_release.py validate --candidate HEAD --version 0.5.24 --repo block/buzzscripts/test-desktop-release-candidate.shgit diff --check 26ede6dfa2496993aa62ce5781d2112df4c2d009...HEAD
The tree remained clean and HEAD was confirmed before and after those checks.
Confidence gaps / verification ownership: At review time, no CI check had failed, but Desktop Core and four Desktop Smoke E2E shards were still running. Their final state is owned by protected-branch CI; any red required gate must block merge and be triaged on its evidence. Installers do not exist before the immutable tag, so signing/notarization, real upgrade artifacts, native accessibility, updater behavior, and manual promotion remain owned by the post-merge release/promotion gates. Those are release-stage checks, not author rework on this metadata-only candidate.
jedwards27
left a comment
There was a problem hiding this comment.
:bot: Jude’s code review agent
Verdict: APPROVE
Reviewed: 26ede6dfa2496993aa62ce5781d2112df4c2d009..26ccc0200b457bac1af30600d69d7bd46133ac9e (exact head 26ccc0200b457bac1af30600d69d7bd46133ac9e)
Risk: critical — this PR authorizes immutable tagging, signed multi-platform publication, and later updater promotion.
Findings: No author-actionable defect found across release integrity and adversarial product/package review.
Behavior/contracts traced: frozen-main → one-commit candidate → deterministic prior-release ledger/changelog → synchronized Desktop manifests → squash authorization → immutable candidate tag → fail-closed platform assembly/publication → separate manual updater promotion and higher-patch recovery.
Evidence:
- The candidate is one clean commit directly above the recorded frozen base and changes only the six allowed release files.
0.5.24is synchronized across.release/desktop-candidate.json,desktop/package.json,desktop/src-tauri/Cargo.toml,desktop/src-tauri/Cargo.lock, anddesktop/src-tauri/tauri.conf.json.- The v0.5.24 ledger contains 72 unique exact SHAs for all 72 expected non-merge commits from the prior recorded base through frozen main, excluding only the prior release squash. Classification into Desktop/shared versus other repository changes matches
scripts/desktop_release.py; no unsupported user-facing claim was introduced. - The post-merge workflow revalidates PR/API identity and trusted check producers, then tags the reviewed PR head rather than the squash commit (
.github/workflows/auto-tag-on-release-pr-merge.yml:93-163;scripts/verify-desktop-release-merge.sh:32-84). Tag creation is create-once and idempotent only at the same SHA. - Publication requires the complete platform set before the versioned release leaves draft state; promotion is separate, verifies the retained manifest/assets, rejects downgrade and divergent same-version retries, and leaves existing clients unchanged when withheld (
.github/workflows/release.yml:779-949;RELEASING.md:201-245).
Validation at matching clean HEAD:
- PASS:
python3 scripts/desktop_release.py validate --candidate HEAD --version 0.5.24 --repo block/buzz - PASS:
scripts/test-desktop-release-candidate.sh - PASS:
scripts/test-release-ref-contract.sh - PASS in independent lane: deterministic
just bump-desktop-version 0.5.24regeneration followed bygit diff --exit-code - PASS:
git diff --check 26ede6dfa2496993aa62ce5781d2112df4c2d009..HEAD - Exact-head CI already green for Desktop Release Candidate, DCO, Rust lint/Windows Rust, macOS and Windows Desktop builds, relay-backed Desktop integration, Semgrep, and zizmor; no failed checks at final review submission.
Manual/native evidence: none. This release PR contains no production UI/runtime delta, and no 0.5.24 installer exists before immutable tagging.
Residual risk: Five exact-head Desktop Core/Smoke E2E jobs remained in progress at final submission. Branch protection and the post-merge verifier own that gate; do not merge unless they settle acceptably. Signed/notarized Apple Silicon and Intel macOS artifacts, unsigned Windows x64, Linux .deb/AppImage, real upgrade behavior, and updater promotion remain downstream release/manual-promotion verification—not author rework for this source-sound candidate.
Author action: none.
Verification owner: protected-branch CI, then post-merge release and manual promotion gates.
## Summary Repair the mock-backed desktop smoke fixtures blocking release PR #7817. No application unread logic, styling, audio component, scheduler, or release-tool changes. - Require an exact channel-scoped kind-9 subscription before injecting unread messages, including after navigation. The old readiness check could accept a global-only, wrong-channel, or wrong-kind consumer. The extracted predicate is used by the real mock bridge and has regression coverage for those false positives and legacy behavior. - Seed the 24 audio messages offscreen with distinct timestamps, then open the channel with all cards in the load margin. Same-second random event IDs previously reordered the settling timeline, causing different visible cards to start loads. This was viewport churn, not a component restart defect. - Expose the existing real audio scheduler snapshot through the E2E bridge. Assert 3 active / 21 queued before navigation and 0 active / 0 queued afterward. Preserve the peak-3 cap, exact 3 fetches / cancellations / releases, zero object URLs, and existing unread/bold assertions. No sleeps, retries, skipped tests, or relaxed limits were added. ## Validation - Before commit, all 30 tests in `channel-activity-popover.spec.ts`, `channel-mute.spec.ts`, and `voice-note.spec.ts` passed five repetitions with retries disabled: **150/150**. This was the working repair on base `312cf674f`, before final formatting/cleanup, not the entire smoke suite. - At committed head `1b126afbe75c2a2afbdfe13744f0938fa584764e`, normal pre-push hooks passed: **6,591/6,591 desktop unit tests**, desktop checks, TypeScript typechecking, differential file-size gate, and branch-skew check. Pre-commit Biome formatting passed; working tree is clean. - Independent sidebar and audio reviews found no substantive blocker. Their formatting findings are resolved in this commit. - Full repository `just ci`, native release packaging, and the entire Playwright smoke suite were not run locally. GitHub CI is the remaining broader gate; this PR is not a release certification. ## Release follow-up After this repair is merged and required checks pass, regenerate #7817 through the desktop release tooling and validate the new candidate's exact head. This PR does not merge or publish a release. Originating discussion: buzz://message?channel=3428ec3f-a58b-429b-afbc-dc6a77918ce8&id=3303565b14334696e9bbf433ef3ad1aea4307acc69834f7f685a412e81354493 Signed-off-by: Carl <32a2e2c9d428ee08902cab75d956da2c1d235a22d4766b0dd4138bf6e2e5db1d@buzz.block.builderlab.xyz> Co-authored-by: Carl <32a2e2c9d428ee08902cab75d956da2c1d235a22d4766b0dd4138bf6e2e5db1d@buzz.block.builderlab.xyz>
Co-authored-by: Release Automation <release-automation@users.noreply.github.com> Signed-off-by: Wes <wesbillman@users.noreply.github.com>
26ccc02 to
3befaf1
Compare
jedwards27
left a comment
There was a problem hiding this comment.
:bot: Jude’s code review agent — APPROVE at exact head 3befaf16002d802a97aa79007be29b23623ceb3f (base fe56d311a7156802408afb04023c3f75d4015007).
The refreshed head and base expired prior clearance. This re-review found no author-actionable defect.
The immutable release chain remains coherent: HEAD^, PR base, merge-base, and candidate base_sha all bind to fe56d311...; the candidate diff contains only the six allowed release files; all package/Tauri/Cargo version authorities remain 0.5.24; and the changelog now accounts for 75/75 unique expected non-merge commits with no missing, extra, or duplicate SHA. The refresh from the previously approved candidate is minimal: base/count metadata plus the three intervening commits (#7672, #7744, #7821). Tag, squash, publication, signing, promotion, and recovery contracts are unchanged.
Product/adversarial review found the three new entries truthful, including the test-fixture stabilization entry, and no unsupported user-facing promise. The packaging matrix remains the documented signed/notarized Apple Silicon + Intel macOS, Windows x64, and Linux DEB/AppImage contract.
Exact-head evidence:
scripts/desktop_release.py validate --candidate HEAD --version 0.5.24 --repo block/buzz: passed.- Candidate, release-ref, OSS promotion, and promotion-behavior contract suites: passed.
git diff --check, Desktop Release Candidate, DCO, Rust lint, Windows/macOS Desktop builds, relay producer, Semgrep, and zizmor: passed.- Live head/base remained exact, the PR is MERGEABLE, and the review tree was clean.
Confidence gaps, not author action: Windows Rust, Desktop Core, four smoke shards, and two relay-backed integration shards were still running at review submission. Protected CI owns merge readiness. Installers, signing/notarization, upgrade smoke, and updater promotion necessarily remain downstream post-tag release gates.
Author action: none.
jedwards27
left a comment
There was a problem hiding this comment.
:bot: Jude’s code review agent
Verdict: APPROVE
Reviewed: fe56d311a7156802408afb04023c3f75d4015007..3befaf16002d802a97aa79007be29b23623ceb3f (exact head 3befaf16002d802a97aa79007be29b23623ceb3f)
Risk: critical — this refresh reauthorizes immutable tagging, signed multi-platform publication, and later updater promotion.
Findings: No author-actionable defect found across the systems/release-integrity and adversarial product/package lanes.
Delta reviewed: Prior clearance at 26ccc0200b457bac1af30600d69d7bd46133ac9e expired. The refreshed candidate moves frozen main from 26ede6dfa2496993aa62ce5781d2112df4c2d009 to fe56d311a7156802408afb04023c3f75d4015007, updates ledger count 72 → 75, and adds exactly the three intervening commits: #7821 Desktop smoke-fixture stabilization, #7672 Inbox unread-only persistence, and #7744 development App Attest support. Release workflows and publication/promotion contracts are unchanged from the prior reviewed head.
Evidence:
- Live PR head, reviewed detached HEAD, candidate parent, PR base, and recorded
base_shabind correctly; the candidate still changes only the six allowed release files. 0.5.24remains synchronized across candidate metadata, package, Tauri config, Cargo manifest, and Tauri lock entry. Remotedesktop-v0.5.24remains absent.- The changelog contains 75 unique exact SHAs for all 75 expected non-merge commits from the recorded prior boundary through refreshed frozen main, excluding only the prior release squash. Independent reconciliation found no missing, extra, duplicate, or misleading added row.
- Packaging remains the documented signed/notarized Apple Silicon + Intel macOS, unsigned Windows x64, and Linux DEB/AppImage matrix (
RELEASING.md:231-239); this PR does not alter packaging configuration. - Squash/head-tag binding, trusted-check validation, create-once tag behavior, complete-set publication, separate promotion, and higher-patch recovery are byte-unchanged from the previously reviewed contracts.
Validation at matching clean HEAD:
- PASS:
python3 scripts/desktop_release.py validate --candidate HEAD --version 0.5.24 --repo block/buzz - PASS:
scripts/test-desktop-release-candidate.sh - PASS in independent lane:
scripts/test-release-ref-contract.sh,scripts/test-oss-desktop-promotion.sh, andscripts/test-oss-desktop-promotion-behavior.sh - PASS:
git diff --check fe56d311a7156802408afb04023c3f75d4015007..HEAD - Exact-head CI already green for Desktop Release Candidate, DCO, Rust Lint, Windows Desktop build, macOS Desktop build/results, relay producer, Semgrep, and zizmor; no check was red at submission.
Manual/native evidence: none. No 0.5.24 installer exists before immutable tagging, and the release PR itself has no product implementation or packaging-matrix delta.
Residual risk: Windows Rust, Desktop Core, Desktop Smoke, and relay-backed Desktop integration jobs were still running at submission. Protected CI owns those required gates; any red required gate must block merge. Artifact assembly, signing/notarization, real install/upgrade behavior, and updater promotion remain owned by post-merge release and manual-promotion gates.
Author action: none.
Verification owner: protected-branch CI, then post-merge release operator and manual promotion gates.
Buzz Desktop release v0.5.24
fe56d311a7156802408afb04023c3f75d40150073befaf16002d802a97aa79007be29b23623ceb3fdesktop-v0.5.23desktop-v0.5.24This PR may be squash merged after the Desktop Release Candidate check and all protected-branch checks pass. Merging authorizes publication of the exact reviewed candidate; later or unrelated changes on
maincannot alter it.The checked-in changelog accounts for every non-merge commit in the release range. The Desktop tag points to the reviewed candidate commit, not the later squash commit. Publication remains bound to that immutable candidate tag.