Repository navigation
docs(agents): design relay-facing paths for the whole fleet at once - #2620
Merged
Merged
Conversation
A relay rollout or network blip makes every client reconnect, renew, and catch up in the same few seconds. Add the client-side checks from block/buzz Review-Proven Rule 9: count relay reads per client, reconnect from a cursor, jitter and cap backoff, and prefer event-driven refresh over short polls. Co-authored-by: Elrond <28d6302a099e5225b02c4155ac4236e4912603df2ab08dbfc2f4fef08ce598c8@buzz.block.builderlab.xyz> Co-Authored-By: Claude Opus 5.5 <[email protected]> Signed-off-by: Luke Tornquist <[email protected]>
TheSentinel454
marked this pull request as ready for review
November 5, 2026 15:49
Address review: skipping a reconnect repair read needs proven continuity and full reconciliation of every touched projection. Co-authored-by: Elrond <28d6302a099e5225b02c4155ac4236e4912603df2ab08dbfc2f4fef08ce598c8@buzz.block.builderlab.xyz> Co-Authored-By: Claude Opus 5.5 <[email protected]> Signed-off-by: Luke Tornquist <[email protected]>
Address review: block/buzz Review-Proven Rule 9 is not on main yet, so the paragraph no longer cites it. Drop the open #2206 citation, write the 306-filter cost in the past tense now that #2308 combined filters, and link the cited buzz-app PRs explicitly. Co-authored-by: Elrond <28d6302a099e5225b02c4155ac4236e4912603df2ab08dbfc2f4fef08ce598c8@buzz.block.builderlab.xyz> Co-Authored-By: Claude Opus 5.5 <[email protected]> Signed-off-by: Luke Tornquist <[email protected]>
bradseiler
approved these changes
Nov 5, 2026
johnmatthewtennant
added a commit
that referenced
this pull request
Nov 5, 2026
Signed-off-by: John Tennant <[email protected]> * origin/main: (47 commits) fix(messages): pass verified labels to the forward recipient picker (#2633) feat(messages): forward a message to a person (#2167) docs(agents): design relay-facing paths for the whole fleet at once (#2620) Route debug sessions through the credential helper (#2541) perf(search): skip no-op slow-search resets on each keystroke (#2605) perf(agents): dedupe channel members only for dm connection setup (#2603) perf(search): keep the search tab row across palette keystrokes (#2588) perf(sidebar): skip the hidden actions menu in solo and team headers (#2582) perf(search): rank each palette name once per render (#2606) perf(sidebar): skip re-rendering unchanged animated channel rows (#2572) feat(settings): follow the system clock and let people hide message times (#2440) feat(plugins): repository access rules for Git imports (#2484) feat(desktop): add Settings to the macOS app menu (#2594) Preserve and renew external app approval (#2464) fix(direct-messages): show verified identity in new message recipient search (#2585) Offer plugin updates from the Buzz shell (#2491) fix(messages): keep decoded images across virtualized remounts (#2474) Keep /leave commands out of channel history (#2476) fix(agents): ask before switching or closing drops unsaved edits (#2503) fix(agents): keep the Model settings row full width (#2577) ...
wpfleger96
added a commit
that referenced
this pull request
Nov 5, 2026
…-service * origin/main: fix(messages): pass verified labels to the forward recipient picker (#2633) feat(messages): forward a message to a person (#2167) docs(agents): design relay-facing paths for the whole fleet at once (#2620) Route debug sessions through the credential helper (#2541) perf(search): skip no-op slow-search resets on each keystroke (#2605) perf(agents): dedupe channel members only for dm connection setup (#2603) perf(search): keep the search tab row across palette keystrokes (#2588) perf(sidebar): skip the hidden actions menu in solo and team headers (#2582) perf(search): rank each palette name once per render (#2606) perf(sidebar): skip re-rendering unchanged animated channel rows (#2572)
cheng-block
added a commit
to cheng-block/buzz-app
that referenced
this pull request
Nov 5, 2026
…ettings-shift-esc * upstream/main: (40 commits) feat(conversation): let plugin rows manage messages without visiting a channel (block#2512) feat(github): make side-panel link opening optional (block#2629) feat(messages): show a blurred thumbnail until an image loads (block#2556) fix(relay): give large roster and read-state reads a 30s deadline (block#2627) fix(user-status): show a status emoji's :name: on hover where the full status shows (block#2384) fix(inbox): keep the list's place when returning in the same session (block#2134) fix(messages): pass verified labels to the forward recipient picker (block#2633) feat(messages): forward a message to a person (block#2167) docs(agents): design relay-facing paths for the whole fleet at once (block#2620) Route debug sessions through the credential helper (block#2541) perf(search): skip no-op slow-search resets on each keystroke (block#2605) perf(agents): dedupe channel members only for dm connection setup (block#2603) perf(search): keep the search tab row across palette keystrokes (block#2588) perf(sidebar): skip the hidden actions menu in solo and team headers (block#2582) perf(search): rank each palette name once per render (block#2606) perf(sidebar): skip re-rendering unchanged animated channel rows (block#2572) feat(settings): follow the system clock and let people hide message times (block#2440) feat(plugins): repository access rules for Git imports (block#2484) feat(desktop): add Settings to the macOS app menu (block#2594) Preserve and renew external app approval (block#2464) ... Signed-off-by: Cheng Peng <[email protected]> Co-authored-by: Cursor <[email protected]>
johnmatthewtennant
added a commit
that referenced
this pull request
Nov 5, 2026
…thumbnails * origin/main: (120 commits) feat(conversation): let plugin rows manage messages without visiting a channel (#2512) feat(github): make side-panel link opening optional (#2629) feat(messages): show a blurred thumbnail until an image loads (#2556) fix(relay): give large roster and read-state reads a 30s deadline (#2627) fix(user-status): show a status emoji's :name: on hover where the full status shows (#2384) fix(inbox): keep the list's place when returning in the same session (#2134) fix(messages): pass verified labels to the forward recipient picker (#2633) feat(messages): forward a message to a person (#2167) docs(agents): design relay-facing paths for the whole fleet at once (#2620) Route debug sessions through the credential helper (#2541) perf(search): skip no-op slow-search resets on each keystroke (#2605) perf(agents): dedupe channel members only for dm connection setup (#2603) perf(search): keep the search tab row across palette keystrokes (#2588) perf(sidebar): skip the hidden actions menu in solo and team headers (#2582) perf(search): rank each palette name once per render (#2606) perf(sidebar): skip re-rendering unchanged animated channel rows (#2572) feat(settings): follow the system clock and let people hide message times (#2440) feat(plugins): repository access rules for Git imports (#2484) feat(desktop): add Settings to the macOS app menu (#2594) Preserve and renew external app approval (#2464) ... Signed-off-by: John Tennant <[email protected]> # Conflicts: # src-tauri/src/relay.rs
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Adds one paragraph to the "Engineering standard" section of
AGENTS.md: design every relay-facing path (connect, reconnect, renewal, poll, catch-up) for the whole fleet running it at once. It asks authors to state relay reads per client, reconnect from a cursor, jitter and cap backoff, and prefer event-driven refresh over short polls.Why
A relay rollout, restart, or network blip makes every client run these paths in the same few seconds. Relay load tests keep finding the same class of defect: a path that is cheap for one client but heavy for the relay when every client runs it, for example per-channel replay filters (#2308), re-reading channels whose replay already completed (#2206), and a 60-second full channel-list poll (#2215).
This is the client-side half of the relay-side guidance proposed in block/buzz#9106. The paragraph is self-contained and does not cite that rule by number, so the two PRs can merge in either order.
What got simpler
Nothing in code. Reviewers get one stated rule instead of rediscovering the same reconnect cost in each review.
Validation
Docs-only. Checked the diff and that the two PRs linked from
AGENTS.md(#2308, #2215) are merged.🤖 Generated with Claude Code