Skip to content

feat(chart): add relay horizontal autoscaling#2077

Merged
tlongwell-block merged 3 commits into
mainfrom
chart-release/0.1.4
Jul 18, 2026
Merged

feat(chart): add relay horizontal autoscaling#2077
tlongwell-block merged 3 commits into
mainfrom
chart-release/0.1.4

Conversation

@tlongwell-block

Copy link
Copy Markdown
Collaborator

Summary

  • replace tauri-plugin-websocket with a small Buzz-owned tokio-tungstenite lifecycle adapter
  • isolate each connection behind a bounded queue and cancellable owner task, with native connect/write deadlines and EOF/error cleanup
  • add authoritative disconnect / disconnect_all commands and tear down native sockets before Cmd+R reload
  • register explicit Tauri ACL permissions and update the browser test bridge

Why

The upstream plugin keeps every writer behind one global mutex, awaits network I/O while holding it, has no force-disconnect command, and can retain native sockets across webview reload. A half-open transport can therefore survive JS reset/reload and block unrelated connections.

This is lifecycle hardening, not a claim that it was the proven root cause of Mat's report: Mat was on 0.4.16 before #2060, and the observed trigger aligns with a relay pod bounce.

Validation

  • just ci (Hermit Rust 1.95): pass
  • Desktop Tauri suite: 1471 passed, 13 ignored
  • Desktop JS suite: 3158 passed
  • focused native lifecycle tests: EOF cleanup, bounded/idempotent forced shutdown, cross-connection queue isolation, teardown gate ordering
  • independent red-team found three blockers; fixed the TS resurrection-prone approach by dropping ordered per-client awaits, held native connect gate through disconnect_all, and added the inlined-plugin ACL/default permission
  • generated ACL confirms websocket:default allows connect/send/disconnect/disconnect_all

Not run

  • signed/package release build: requires real bundled sidecar artifacts; compile, clippy, unit, frontend build, and generated ACL all ran locally

npub1jh9wn95s0472h86ahapupaf7m6kx4v9sx2n0atj2hltcfer8k06s5n3pyf added 2 commits July 18, 2026 13:26
Co-authored-by: npub1jh9wn95s0472h86ahapupaf7m6kx4v9sx2n0atj2hltcfer8k06s5n3pyf <95cae996907d7cab9f5dbf43c0f53edeac6ab0b032a6feae4abfd784e467b3f5@sprout-oss.stage.blox.sqprod.co>
Signed-off-by: npub1jh9wn95s0472h86ahapupaf7m6kx4v9sx2n0atj2hltcfer8k06s5n3pyf <95cae996907d7cab9f5dbf43c0f53edeac6ab0b032a6feae4abfd784e467b3f5@sprout-oss.stage.blox.sqprod.co>
Co-authored-by: npub1jh9wn95s0472h86ahapupaf7m6kx4v9sx2n0atj2hltcfer8k06s5n3pyf <95cae996907d7cab9f5dbf43c0f53edeac6ab0b032a6feae4abfd784e467b3f5@sprout-oss.stage.blox.sqprod.co>
Signed-off-by: npub1jh9wn95s0472h86ahapupaf7m6kx4v9sx2n0atj2hltcfer8k06s5n3pyf <95cae996907d7cab9f5dbf43c0f53edeac6ab0b032a6feae4abfd784e467b3f5@sprout-oss.stage.blox.sqprod.co>
@tlongwell-block
tlongwell-block requested a review from a team as a code owner July 18, 2026 17:44
This reverts commit b3c4740.

Co-authored-by: npub1jh9wn95s0472h86ahapupaf7m6kx4v9sx2n0atj2hltcfer8k06s5n3pyf <95cae996907d7cab9f5dbf43c0f53edeac6ab0b032a6feae4abfd784e467b3f5@sprout-oss.stage.blox.sqprod.co>
Signed-off-by: npub1jh9wn95s0472h86ahapupaf7m6kx4v9sx2n0atj2hltcfer8k06s5n3pyf <95cae996907d7cab9f5dbf43c0f53edeac6ab0b032a6feae4abfd784e467b3f5@sprout-oss.stage.blox.sqprod.co>
@tlongwell-block
tlongwell-block merged commit f584bbd into main Jul 18, 2026
28 checks passed
@tlongwell-block
tlongwell-block deleted the chart-release/0.1.4 branch July 18, 2026 19:38
tlongwell-block pushed a commit that referenced this pull request Jul 19, 2026
Signed-off-by: Tyler Longwell <tlongwell@block.xyz>
Co-authored-by: Tyler Longwell <tlongwell@block.xyz>

* origin/main:
  test(desktop): fix Escape-before-mount race in channel browser e2e (#2101)
  style(desktop): match PendingInviteGate to startup interstitials (#2097)
  Remove additional agents gallery (#2098)
  fix(agents): stop the reply loop and the premature kickoff closer (#2094)
  chore(release): release Buzz Desktop version 0.4.18 (#2091)
  fix(desktop): recover first community joins (#2087)
  fix(chart): support CPU-only relay autoscaling (#2086)
  feat(chart): add relay horizontal autoscaling (#2077)
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.

1 participant