Skip to content

Bump block/buzz to pick up messages search --before - #3362

Merged
tmellor-block merged 2 commits into
mainfrom
tmellor/bump-buzz-messages-search-before
Nov 12, 2026
Merged

tmellor-block merged 2 commits into
mainfrom
tmellor/bump-buzz-messages-search-before

Conversation

@tmellor-block

@tmellor-block tmellor-block commented Nov 12, 2026 •

Copy link
Copy Markdown
Contributor

What this does

Moves the block/buzz pin from c8d736642e1c to 0e6037c74d67 (block/buzz#9382). That one pin, the buzz-audio-client git dependency in src-tauri/Cargo.toml, also picks the revision that scripts/build-buzz-cli.mjs builds the bundled buzz CLI from. So the bundled CLI gains buzz messages search --before and --before-id, for paging back through an author's messages.

Two commits:

  1. The bump. Two lines: the rev in src-tauri/Cargo.toml and the matching source line in Cargo.lock. Nothing else in the lock file moves, and --locked builds accept it.
  2. A build-folder fix in scripts/build-buzz-cli.mjs. All revisions used to share one Cargo build folder, target/buzz-cli-build. Cargo treats a git checkout as unchanging, so after a pin bump it trusted the old revision's build and staged the old CLI under the new revision's name. This bump hit that: on a machine that had built the old rev, the staged buzz had no --before. Each revision now builds in target/buzz-cli-build/<rev>. The cost: the first build after each bump compiles the CLI from scratch (a few minutes), and each revision's build folder stays on disk until someone deletes it, as the target/buzz-cli/<rev> install folders already do. docs/releases.md explains why, and tests/integration/buzz-cli.test.mjs checks that two revisions get different folders.

What the bump brings in

The range has 88 block/buzz commits. Only two things from block/buzz ship in Buzz Desktop: the buzz-audio-client crate and the bundled buzz CLI, plus the in-repo crates it builds with (buzz-core, buzz-sdk, buzz-ws-client, buzz-persona).

Huddle audio client (crates/buzz-audio-client, one change)

  • feat: send a User-Agent on relay WebSocket upgrades buzz#9246: the audio WebSocket upgrade now sends User-Agent: buzz-audio-client/<version> when the caller didn't set one. Buzz Desktop sets no User-Agent on the audio socket (src-tauri/src/relay/huddle/audio.rs), so huddle audio connections now carry this header. No API change; the desktop code compiles unchanged.

Bundled buzz CLI

Not shipped in this app (no effect on Buzz Desktop)

  • Mobile app: about 45 commits (iOS gallery and video, Solo chats, Activity, notifications, pickers).
  • Relay and server: about 28 commits (cross-node delivery, filter fixes, DM rules for agents, invite previews, NIP-FI policy, single-community mode, database pool recovery, Buzz Relay 0.3.0 release).
  • CI, release tooling, docs and the old desktop client in block/buzz: about 10 commits.

Testing

Run by an agent on macOS (Apple Silicon):

  • cargo fmt --all --check: pass.
  • cargo clippy --workspace --locked --all-targets -- -D warnings: pass.
  • cargo test --manifest-path src-tauri/Cargo.toml --locked: 1121 + 24 passed, 0 failed, with 15 tests skipped for local reasons that have nothing to do with the bump. The 21 relay::huddle::audio tests pass. Skipped: the media-conversion tests (media_preparation, converted_spool), because this machine's Homebrew ffmpeg can't load libx265, and window_state::tests::onboarding_snapshot_is_kept_until_next_launch_restore, which crashes the test process (SIGSEGV) on this machine with the old pin too. CI runs the full suite on Linux.
  • node scripts/test-buzz-cli.mjs (stages the CLI the way a desktop build does, then runs it): pass. The staged buzz messages search --help lists --before and --before-id.
  • Build-folder fix, from an empty Cargo target folder with no cache clearing in between: node scripts/build-buzz-cli.mjs --dev at the old rev staged a CLI without --before-id. Then, at the new rev, Cargo recompiled buzz-cli in its own folder and the staged CLI listed --before-id. Before the fix, the same sequence on a real machine reported Fresh buzz-cli and staged the old binary.
  • node --test tests/integration/buzz-cli.test.mjs tests/integration/dev-commands.test.mjs: 63 pass.
  • Desktop pairing against a running Buzz Desktop: buzz auth desktop list with the new CLI reports an existing pairing as accepted. That path runs the new same-user socket check on macOS.
  • Live paging through that pairing, read-only: an author search with --since … --before <now> --limit 5, then a second page with --before <last created_at> --before-id <last id>. Page 2 started right after page 1's last event, with no overlap and nothing newer than the cursor. The old CLI rejects --before as an unknown argument.

Not tested:

  • A live huddle. Audio is covered only by the existing relay::huddle::audio unit tests, not by a real call.
  • Pairing a new CLI from scratch (buzz auth desktop pair), which needs a person to click Allow.
  • messages edit against a live relay (it writes).
  • Windows and Linux builds; CI covers Linux.

buzz-review-completed

🤖 Generated with Claude Code

tmellor-block and others added 2 commits November 11, 2026 22:14
Move the buzz-audio-client pin, which also selects the bundled buzz CLI
revision, from c8d736642e1c to 0e6037c74d67 (block/buzz#9382). The
bundled CLI gains `messages search --before` and `--before-id` for
paging back through an author's messages.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Signed-off-by: Tim Mellor <[email protected]>
… rev

All revisions shared target/buzz-cli-build. Cargo trusts an earlier build
of a git checkout even after the revision changes, so after a pin bump it
reused the old revision's buzz-cli and staged the old binary under the
new revision's name. Each revision now builds in
target/buzz-cli-build/<rev>.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Signed-off-by: Tim Mellor <[email protected]>
@tmellor-block
tmellor-block marked this pull request as ready for review November 12, 2026 16:18
@tmellor-block
tmellor-block requested a review from a team as a code owner November 12, 2026 16:18

@wpfleger96 wpfleger96 left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🤖 LGTM. The pin bump is the only lock change, and keying the CLI build folder by revision fixes the stale-binary staging cleanly. I checked the shipped upstream range: the audio client's User-Agent default, messages search --before/--before-id, the desktop pairing ownership retry, and attachment-preserving messages edit.

Nonblocking FYI: the bundled CLI's messages edit now refuses on relays without the effective-edit lookup (block/buzz#9226). The production relays (bb-block, bb-public, bb-square) still run pre-0.3.0 images, so CLI edits will fail there until the relay deploy lands. The app's MCP edit already behaves this way since #2937, so this PR adds no new ordering constraint.

@tmellor-block

Copy link
Copy Markdown
Contributor Author

🤖 Thanks for the review. Agreed on the messages edit note: the description already says it refuses on relays without the effective-edit lookup (block/buzz#9226) until they run Buzz Relay 0.3.0 or later. No change needed in this PR.

@kazemek21 kazemek21 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Kyle reviewed this PR and the Nexus review-tracker notes. Approved with no comments.

Posted by Codex (gpt-6.1-sol) on behalf of kylez.

@tmellor-block
tmellor-block merged commit 6b5191a into main Nov 12, 2026
47 checks passed
@tmellor-block
tmellor-block deleted the tmellor/bump-buzz-messages-search-before branch November 12, 2026 18:56
johnmatthewtennant added a commit that referenced this pull request Nov 12, 2026
Co-authored-by: Simone <0828be588d5c9c4d092c5b1cf01761d5aef63d6b104807fd8e8284d517dd1a99@buzz.block.builderlab.xyz>
Co-Authored-By: Claude Opus 5.5 <[email protected]>

* origin/main: (260 commits)
  feat(markdown): share one Markdown renderer across messages and documents (#3319)
  fix(solo): reload workspaces by themselves after a relay pause (#3262)
  fix(agents): apply prompt and core memory changes at each conversation's next turn (#3170)
  Bind plugin operations to active native agent calls (#3303)
  Reopen recently closed threads without the loading mark (#3204)
  [buzz-app] Restore the last selected thread tab on Back and Forward (#3350)
  fix(notifications): keep alert sounds out of media controls (#3298)
  feat(shell): find on screen with Cmd/Ctrl+Shift+F (#2550)
  Bump block/buzz to pick up messages search --before (#3362)
  fix(media): save relay images from the native Download Image menu on macOS (#3337)
  feat(plugins): let plugins lift a message image's subject (#2470)
  feat(decisions): guide TypeSafe setup and align API key controls (#3365)
  Fix live sidebar updates after CLI moves (#3213)
  End desktop Huddles when the creator is the last human (#3328)
  Skip unchanged artifact row and index writes (#3364)
  fix(goose): propagate ACP work cancellation to plugin tools (#3351)
  Keep Solo source selection when opening a channel (#3356)
  fix(desktop): sign a channel-less deletion of one reaction (#3288)
  AIDA-2426: Set a default User-Agent for plugins (#2697)
  fix(plugins): explain Git import refs (#3314)
  ...

Signed-off-by: John Tennant <[email protected]>
johnmatthewtennant added a commit that referenced this pull request Nov 12, 2026
…o jtennant/martha/activity-step-previews

* origin/chung/feat-enriced-activity: (121 commits)
  feat(markdown): share one Markdown renderer across messages and documents (#3319)
  fix(solo): reload workspaces by themselves after a relay pause (#3262)
  fix(agents): apply prompt and core memory changes at each conversation's next turn (#3170)
  Bind plugin operations to active native agent calls (#3303)
  Reopen recently closed threads without the loading mark (#3204)
  [buzz-app] Restore the last selected thread tab on Back and Forward (#3350)
  fix(notifications): keep alert sounds out of media controls (#3298)
  feat(shell): find on screen with Cmd/Ctrl+Shift+F (#2550)
  Bump block/buzz to pick up messages search --before (#3362)
  fix(media): save relay images from the native Download Image menu on macOS (#3337)
  feat(plugins): let plugins lift a message image's subject (#2470)
  feat(decisions): guide TypeSafe setup and align API key controls (#3365)
  Fix live sidebar updates after CLI moves (#3213)
  End desktop Huddles when the creator is the last human (#3328)
  Skip unchanged artifact row and index writes (#3364)
  fix(goose): propagate ACP work cancellation to plugin tools (#3351)
  Keep Solo source selection when opening a channel (#3356)
  fix(desktop): sign a channel-less deletion of one reaction (#3288)
  AIDA-2426: Set a default User-Agent for plugins (#2697)
  fix(plugins): explain Git import refs (#3314)
  ...

Signed-off-by: John Tennant <[email protected]>

# Conflicts:
#	src/features/messages/TypingIndicator.test.tsx
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants