Skip to content
Merged

w #1

Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
61 commits
Select commit Hold shift + click to select a range
9213090
test(desktop): await thread scroll anchor (#3174)
cameronhotchkies Aug 6, 2026
6ca9641
Refine agent runtime controls (#5026)
klopez4212 Aug 6, 2026
bd2fdf4
fix(buzz-agent): classify read timeouts distinctly in LLM error messa…
wpfleger96 Aug 6, 2026
6eb6591
feat(identity): recover desktop identity from a signed-in phone (#4845)
tellaho Aug 6, 2026
c777d4f
chore(hooks): run desktop typecheck in pre-push (#5110)
wpfleger96 Aug 6, 2026
b08c8b1
fix(desktop): prevent sidebar prefs from reverting on stale-localStor…
wpfleger96 Aug 6, 2026
1399ec1
Alert community owners and admins when a new key joins (#4900)
tlongwell-block Aug 6, 2026
67b7734
fix(desktop): next/back navigation during key creation onboarding (#4…
tellaho Aug 7, 2026
f03de21
fix(desktop): preserve authoritative agent avatars (#4984)
tellaho Aug 7, 2026
769ac70
fix(media): require authenticated reads (#4610)
jmecom Aug 7, 2026
ad92335
feat(relay): accept kind:30179 private managed-agent events at ingest…
tlongwell-block Aug 7, 2026
f53bbd1
fix(bench): mention the orchestrator by pubkey when posting the task …
tlongwell-block Aug 7, 2026
ee9690a
fix(cli): emit structured JSON warning when archive/unarchive owner-a…
wpfleger96 Aug 7, 2026
c71f658
Polish advanced agent setup and Welcome composer (#4926)
klopez4212 Aug 7, 2026
cd2125c
Improve video review readiness and controls (#5161)
klopez4212 Aug 7, 2026
c293b3c
fix(agent): resolve oauth cache home cross-platform (#5151)
kalvinnchau Aug 7, 2026
346ae8c
fix(buzz-agent): escalate LLM timeouts per retry and log per-call lat…
wpfleger96 Aug 7, 2026
c8743b2
Remove agent creation success modal (#5063)
klopez4212 Aug 7, 2026
626e2c3
feat(mobile): add bee pull-to-refresh (#5059)
klopez4212 Aug 7, 2026
8476ea0
Mobile: add anchored reaction popover (#5025)
klopez4212 Aug 7, 2026
daa8877
Make public starter channels best effort (#5192)
wesbillman Aug 7, 2026
60ae74b
fix(desktop): use WEBKIT_DMABUF_RENDERER_FORCE_SHM for NVIDIA/AppImag…
Chessing234 Aug 7, 2026
cc9a2f7
fix(desktop): make terminal output selectable (#4980)
wesbillman Aug 7, 2026
8630e58
fix(desktop): fence localStorage SecurityError from killing the React…
iroiro147 Aug 7, 2026
e47894a
fix(desktop): drop unhandled rejection from throwing window.Notificat…
iroiro147 Aug 7, 2026
b2ac66c
refactor(cli): replace probe/decider/detail split with single typed e…
wpfleger96 Aug 7, 2026
fb73561
feat(desktop): Projects follow-ups — access restrictions, fast loadin…
thomaspblock Aug 7, 2026
ef2ecaf
fix(desktop): defer channel visibility change to Save (#5203)
kchung Aug 7, 2026
e9925db
fix(desktop): retain distinct agent instances in autocomplete (#5202)
atishpatel Aug 7, 2026
742e8d1
fix(buzz-agent): Responses reasoning summary, Anthropic display:summa…
wpfleger96 Aug 7, 2026
1922d49
feat(desktop): adding rich link previews to messages (#3818)
tellaho Aug 7, 2026
c3c39cc
bump @tauri-apps/cli to ~2.11.4 to fix linux app icon issue (#4858)
johan456789 Aug 7, 2026
78c87ae
fix(sdk): preserve self-mention p tags in message and forum event bui…
BradGroux Aug 7, 2026
0799942
fix(mobile): keep latest messages above composer (#4981)
tellaho Aug 7, 2026
3855687
chore(release): release Buzz Desktop version 0.5.6 (#5214)
wesbillman Aug 7, 2026
2b873cf
Recover from max-token response truncation (#5223)
tlongwell-block Aug 7, 2026
a5a9240
fix(desktop): let imported and recovered identities finish onboarding…
tellaho Aug 7, 2026
dcc1231
fix(desktop): externalize boot <style> to prevent Tauri CSP nonce ove…
wpfleger96 Aug 7, 2026
74b913c
fix(desktop): isolate relay admission tests (#5221)
wesbillman Aug 7, 2026
13c9e90
chore(release): release Buzz Desktop version 0.5.7 (#5252)
wesbillman Aug 7, 2026
65834d6
infra: bind development services to loopback (#4871)
Karniej Aug 7, 2026
c7b6636
fix(buzz-agent): budget summarizer reasoning separately so it cannot …
tlongwell-block Aug 7, 2026
02f640b
feat(desktop): unify add agent flows (#5015)
tellaho Aug 7, 2026
6a17d03
Revert "fix(acp): reject unattended permission requests" (#5323)
wesbillman Aug 8, 2026
261c460
fix(buzz-agent): recover from 400-shaped image rejections; unbound be…
tlongwell-block Aug 8, 2026
c815a9c
chore(release): release Buzz Desktop version 0.5.8 (#5326)
wesbillman Aug 8, 2026
6e5c462
chore(release): release Buzz Relay version 0.2.1 (#2856)
wpfleger96 Aug 8, 2026
fbf89e3
fix(desktop): prevent horizontal clipping in Prompt Context modal (#5…
wpfleger96 Aug 8, 2026
f029dea
fix(desktop): welcome banner overlap and missing dismiss control (#5330)
wpfleger96 Aug 8, 2026
5bf7867
fix(agent): retry LLM completion on malformed 2xx JSON body (#5351)
tlongwell-block Aug 8, 2026
97aa9e3
fix(desktop): preserve Welcome banner dismissal (#5406)
wesbillman Aug 9, 2026
e668c6b
chore(deps): update rust crate clap to v4.6.6 (#4465)
renovate[bot] Aug 9, 2026
7dd8791
chore(deps): update rust crate async-compression to v0.4.43 (#4456)
renovate[bot] Aug 9, 2026
d7cc724
chore(deps): update rust crate diffy to v0.5.1 (#4466)
renovate[bot] Aug 9, 2026
12b1f56
chore(deps): update rust crate async-trait to v0.1.91 (#4458)
renovate[bot] Aug 9, 2026
08de85c
chore(deps): update rust crate arc-swap to v1.9.2 (#4448)
renovate[bot] Aug 9, 2026
e1ff91e
chore(deps): update rust crate anyhow to v1.0.104 (#4447)
renovate[bot] Aug 9, 2026
856cdb8
chore(deps): update all non-major dependencies (#3049)
renovate[bot] Aug 9, 2026
c923e89
chore(deps): update dependency @tanstack/react-virtual to v3.14.9 (#4…
renovate[bot] Aug 9, 2026
d2ebaa9
ci(security): allow retired relay pool advisory (#5404)
wesbillman Aug 9, 2026
119a848
chore(deps): update react monorepo (#4441)
renovate[bot] Aug 9, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 4 additions & 5 deletions .env.example
Original file line number Diff line number Diff line change
Expand Up @@ -102,11 +102,10 @@ BUZZ_S3_ADDRESSING_STYLE=path
# BUZZ_MEDIA_MAX_CONCURRENT_UPLOADS=8
# BUZZ_MEDIA_MAX_CONCURRENT_UPLOADS_PER_PUBKEY=2
# BUZZ_MEDIA_UPLOADS_PER_MINUTE=30
# Require Blossom t=get auth and relay membership for GET/HEAD /media/*.
# Keep off until desktop/mobile/CLI clients that attach media read auth are deployed.
# BUZZ_REQUIRE_MEDIA_GET_AUTH=false
# Legacy alias accepted by the relay while rollout docs catch up:
# BUZZ_REQUIRE_MEDIA_READ_AUTH=false
# GET/HEAD /media/* always require Blossom t=get auth and relay membership.
# BUZZ_REQUIRE_MEDIA_GET_AUTH and BUZZ_REQUIRE_MEDIA_READ_AUTH are no longer
# read; setting either (including to false) changes nothing and the relay warns
# about it at startup.

# -----------------------------------------------------------------------------
# Ephemeral Channels (TTL testing)
Expand Down
15 changes: 14 additions & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ jobs:
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
with:
fetch-depth: 2
- uses: dorny/paths-filter@7b450fff21473bca461d4b92ce414b9d0420d706 # v4.0.2
- uses: dorny/paths-filter@ceb8a2b8f2d89434be7ff52d3de7ec3738c5cc9d # v4.0.3
id: filter
with:
token: ''
Expand Down Expand Up @@ -768,6 +768,19 @@ jobs:
env:
RELAY_URL: ws://localhost:3000
GIT_CREDENTIAL_NOSTR_BIN: ${{ github.workspace }}/target/ci/git-credential-nostr
- name: Media read-auth e2e
# Reads require kind:24242 `t=get` auth, so these binaries are the only
# coverage that a real relay rejects bare reads and honours host- and
# hash-scoped tokens. They were #[ignore]d and selected by no CI job, so
# the lane never ran; select it here, where MinIO and the seeded
# 'localhost:3000' community already exist.
# --no-fail-fast: without it cargo stops after the first failing binary,
# so one broken case hides every later binary's result.
run: |
cargo test -p buzz-test-client --no-fail-fast --test e2e_media --test e2e_media_extended --test e2e_media_video -- --ignored --nocapture
env:
RELAY_URL: ws://localhost:3000
RELAY_HTTP_URL: http://localhost:3000
- name: Upload relay logs
if: failure()
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7
Expand Down
14 changes: 8 additions & 6 deletions .release/desktop-candidate.json
Original file line number Diff line number Diff line change
@@ -1,8 +1,10 @@
{
"schema": 1,
"version": "0.5.5",
"base_sha": "25a9cf1be6d245fbd7373cb1160dbc790baf5bd5",
"previous_tag": "desktop-v0.5.4",
"tag": "desktop-v0.5.5",
"commit_count": 44
"schema": 2,
"version": "0.5.8",
"base_sha": "6a17d035f79ad582ca3f4f3cdc38d376f2c4087f",
"previous_tag": "desktop-v0.5.7",
"previous_base_sha": "74b913cff8512c015dc6f1a7473b253fa803f954",
"previous_merge_sha": "13c9e900c84cac1e2c8eeb7551bd1510ecb544d3",
"tag": "desktop-v0.5.8",
"commit_count": 4
}
9 changes: 5 additions & 4 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -100,10 +100,11 @@ Run `just test` for integration tests if you touched `buzz-relay`,
formatting via `stage_fixed`. Pre-commit runs fix variants in parallel (Rust
fmt, Tauri Rust fmt, desktop biome fix, web biome fix, mobile dart format).
Auto-fixable issues are fixed and re-staged; unfixable lint issues block the
commit. **Pre-push hooks** run clippy (workspace + Tauri) and fast unit tests
in parallel (Rust, desktop JS, Tauri Rust, mobile Flutter) — no overlap with
pre-commit. Builds are CI-only. Run `just fix-all` to auto-fix all formatting
in one shot. Run `just ci` for the full local gate. Run `just hooks` to
commit. **Pre-push hooks** run clippy (workspace + Tauri), desktop TypeScript
typechecking (`tsc --noEmit`), and fast unit tests in parallel (Rust, desktop
JS, Tauri Rust, mobile Flutter) — no overlap with pre-commit. Builds are
CI-only. Run `just fix-all` to auto-fix all formatting in one shot. Run
`just ci` for the full local gate. Run `just hooks` to
re-install hooks after env changes. Before agents run Git or hooks, activate the
repo's Hermit environment (`. ./bin/activate-hermit`); do not rewrite hook
commands to compensate for an unconfigured shell `PATH`.
Expand Down
113 changes: 113 additions & 0 deletions CHANGELOG.md

Large diffs are not rendered by default.

82 changes: 47 additions & 35 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 0 additions & 1 deletion TESTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -277,7 +277,6 @@ out of the box with `just setup` or `just relay`. Common overrides:
| `REDIS_URL` | `redis://localhost:6379` | |
| `BUZZ_REQUIRE_AUTH_TOKEN` | `false` | When true, REST requires NIP-98 (no `X-Pubkey` fallback) |
| `BUZZ_REQUIRE_RELAY_MEMBERSHIP` | `false` | When true, only pubkeys in `relay_members` can connect |
| `BUZZ_REQUIRE_MEDIA_GET_AUTH` | `false` | When true, `GET`/`HEAD /media/*` require Blossom kind 24242 `t=get` auth plus relay membership. |
| `BUZZ_DRAIN_JITTER_MS` | `0` (off) | Per-connection upper bound, in ms, for the random delay before each live WebSocket gets its `1012 Service Restart` close on graceful shutdown. `0` closes every socket at once (the previous behavior). A positive value spreads closes uniformly over `[1, value]` ms to avoid a reconnect thundering herd on rolling deploys. Values above `20000` are capped to `20000` (`MAX_DRAIN_JITTER_MS`) to leave close-frame delivery headroom under the relay's 30s hard-drain timeout. Empty or whitespace-only is treated as unset (off); a non-integer fails startup loudly. |
| `BUZZ_AUDIT_ENABLED` | `true` | Tamper-evident event/media audit log. Set `false`/`0`/`off` to skip its DB pool and writes. Does not disable the separate moderation audit trail. |
| `BUZZ_AUTO_MIGRATE` | `false` | Opt in with `true`/`1`/`yes`/`on` to run embedded SQLx migrations on relay startup |
Expand Down
Loading