Commit Graph

367 Commits

Author SHA1 Message Date
npub1223z34hd7vtwc6qj4s7flsxkj644nlre2nthu7lrrmkumhu3xddsrx9r6w
e686f14407 test(desktop): cover agent-template listing, save upsert, and inbound echoes
Extract the pure cores of list_agent_templates (assemble_agent_templates)
and save_agent_as_template (upsert_template_persona) — behavior unchanged —
and pin them with unit tests: listing filters inactive and builtin-shadow
records and sorts saved templates case-insensitively after built-ins;
saving with an existing name updates the record in place (identity,
created_at, and stored env_vars preserved) instead of duplicating; a fresh
insert never carries credentials; and inactive or team-sourced records with
the same name are never hijacked. Also pin that an inbound persona echo
cannot resurrect a locally deactivated record — is_active is not a
projected field, so a stale relay echo leaves the local flag untouched.

Co-authored-by: Taylor Ho <taylorkmho@gmail.com>
Signed-off-by: Taylor Ho <taylorkmho@gmail.com>
2026-07-03 14:05:05 -07:00
Taylor Ho
28ca228e19 fix(desktop): unblock UI freeze when entering the create-agent details step
Clicking "Blank agent" or "Use template" froze the entire webview until
runtime discovery finished. The details dialog opens immediately, but on
mount it fires three Tauri commands that were synchronous — and Tauri 2
runs sync commands on the main thread, so the UI blocked while login
shells resolved each agent binary.

- desktop/src-tauri/src/commands/agent_discovery.rs: make
  discover_acp_providers and discover_managed_agent_prereqs async and
  move their shell-spawning work into tokio::task::spawn_blocking so
  the main thread never blocks; both now return Result to surface a
  panicked task instead of unwrapping
- desktop/src-tauri/src/commands/agent_providers.rs: same treatment
  for discover_backend_providers, which scans every PATH directory on
  disk for buzz-backend-* binaries
- desktop/src/features/agents/ui/CreateAgentDialog.tsx: show a spinner
  in the submit button while discovery is pending, so the disabled
  button reads as "loading" rather than broken

No frontend API changes needed — invokeTauri handles the Result return
transparently. Also fixes the same freeze anywhere these queries fire
(Edit Agent, Add Channel Bot, Settings > Doctor).

Co-authored-by: Taylor Ho <taylorkmho@gmail.com>
Signed-off-by: Taylor Ho <taylorkmho@gmail.com>
2026-07-03 02:19:45 -07:00
Taylor Ho
9c71264b4e feat(desktop): personas as catalog templates — unwind boot-time agent minting
Agents are now only ever minted explicitly through the Create Agent
wizard. Personas surface exclusively inside the New Agent catalog as
"saved templates" instead of rendering as cards on the Agents grid.

Remove the flatten/materialization migration:
- Delete managed_agents/flatten.rs and flatten_tests.rs — the boot-time
  migration minted a fresh keypair for every active persona with no
  linked agent, but keyed dedup on the persona_id link it erased itself,
  so relay persona echoes from other builds (dev vs release, d-tag
  drift) re-minted duplicate agents on every launch on both sides
- Remove the flatten_personas_into_agents boot hookup in lib.rs
- Remove materialize_pack_agents_locked from team pack install/sync in
  commands/teams.rs — installing a pack now lands its personas in the
  catalog without minting agents

Catalog = built-ins + saved templates:
- list_agent_templates merges static built-ins with active persona
  records (store lock held, spawn_blocking), skipping records that
  shadow a built-in id and sorting saved entries by display name
- AgentTemplate gains provider and source ("builtin" | "saved") on both
  the Rust struct and the TS type; templateAgentDraft carries provider
  through to the create form prefill
- CreateAgentStartDialog renders saved templates under a "Saved"
  sidebar group; detail pane labels the type accordingly

"Save as template" on minted agents:
- New save_agent_as_template Tauri command maps an agent's pinned
  config (name, instructions, avatar, runtime, model, provider — never
  env_vars) onto a persona record; re-saving the same name updates the
  existing template instead of duplicating; retained as kind:30175
  pending relay sync so templates reach other devices
- AgentActionsMenu gains a "Save as template" entry wired through
  UnifiedAgentsSection/AgentsView with success toast and
  agent-templates/personas query invalidation

Tests:
- e2eBridge mocks the merged template list and save_agent_as_template
- agents.spec.ts covers the new menu entry and the save-as-template →
  Saved group → detail pane flow
- Stale flatten references in persona/teams test comments cleaned up

873 Tauri unit tests, 69 Playwright tests, and the full just ci gate
pass.

Co-authored-by: Taylor Ho <taylorkmho@gmail.com>
Signed-off-by: Taylor Ho <taylorkmho@gmail.com>
2026-07-03 01:36:09 -07:00
Taylor Ho
ce88863d78 feat(desktop): agents own their config — team agent members, flattening migration, built-in templates (Tauri)
Backend half of removing personas from the UI. User-created agents no
longer have a backing persona record; persona records are quarantined to
team packs, which genuinely need them for directory install/sync and
writeback.

- types.rs, team_events.rs: add agent_pubkeys to TeamRecord, the
  create/update team inputs, and the kind:30176 payload. The field is
  additive — events published by older clients parse with empty agent
  membership (round-trip and tolerance tests included)
- commands/teams.rs: normalize and validate agent pubkeys on team
  create/update; team export resolves agent members into the interchange
  member shape alongside persona members; pack install/sync materialize
  pack personas as stopped agents so they appear in the grid immediately
- commands/personas/mod.rs: inbound kind:30176 reconcile applies
  agent_pubkeys from remote events
- managed_agents/flatten.rs (new): idempotent boot migration —
  materialize a stopped agent for every active persona without one,
  rewrite non-pack team persona members to agent pubkeys, pin persona
  config onto linked agents and clear persona_id, then deactivate the
  flattened non-pack personas (records stay on disk/relay for rollback).
  flatten_tests.rs covers materialization, team rewrite, pack
  quarantine, and re-run idempotency
- managed_agents/personas.rs: stop seeding built-in personas as records;
  the same data is now a static AgentTemplate list, and merge_personas
  only demotes stale is_builtin flags
- commands/agent_templates.rs (new): list_agent_templates and
  export_agent_to_json — agent-record export to the .persona.json
  interchange format (env vars excluded, matching persona export)
- commands/agents.rs: create_managed_agent accepts an explicit provider
  so templates and duplicates can pin the LLM provider at create time
- lib.rs: run the flatten migration post-identity, before event sync, so
  rewritten teams/personas are what get reconciled and published;
  register the new template commands
- team_repair.rs, personas/writeback.rs, inbound_tests.rs,
  personas/tests.rs: fixtures and merge-semantics tests updated for the
  new fields and the removal of built-in seeding; the shared test UUID
  constant avoids a digit run the secret scanner reads as a card number

Co-authored-by: Taylor Ho <taylorkmho@gmail.com>
Signed-off-by: Taylor Ho <taylorkmho@gmail.com>
2026-07-02 22:39:27 -07:00
Taylor Ho
b38a412345 chore(desktop): clear pre-existing clippy failures in the Tauri crate
These predate the agents-first work but fail desktop-tauri-clippy
(-D warnings) and therefore block `just ci`, so they land first as a
standalone mechanical cleanup.

- agent_models.rs: drop the vestigial preserve_first_separator parameter
  from title_case_model_suffix — both branches were identical
  (if_same_then_else)
- config_bridge/claude.rs: build RuntimeFileConfig via struct-literal
  init in the test helper (field_reassign_with_default)
- config_bridge/reader.rs: annotate build_model_field with
  too_many_arguments and resolve_with_override with type_complexity —
  pre-existing shapes, allowed rather than refactored to keep this
  change mechanical
- runtime.rs: use slice::contains instead of iter().any
  (manual_contains)

Co-authored-by: Taylor Ho <taylorkmho@gmail.com>
Signed-off-by: Taylor Ho <taylorkmho@gmail.com>
2026-07-02 22:37:20 -07:00
klopez4212
228122fddc Add agent catalog modal (#1302)
Signed-off-by: Taylor Ho <taylorkmho@gmail.com>
Co-authored-by: npub1223z34hd7vtwc6qj4s7flsxkj644nlre2nthu7lrrmkumhu3xddsrx9r6w <52a228d6edf316ec6812ac3c9fc0d696ab59fc7954d77e7be31eedcddf91335b@sprout-oss.stage.blox.sqprod.co>
Co-authored-by: Taylor Ho <taylorkmho@gmail.com>
2026-07-02 16:26:31 -07:00
Will Pfleger
3e282a2418 feat(buzz-agent): config parity — thinking effort, model switching, normalized token limits (#1470)
Signed-off-by: Will Pfleger <pfleger.will@gmail.com>
Co-authored-by: npub1mn7jgtj4w2pd0g0zeuhxsa6jy6p0rewxz4kujt98my82ahfmp72sxjexk7 <dcfd242e557282d7a1e2cf2e6877522682f1e5c6156dc92ca7d90eaedd3b0f95@sprout-oss.stage.blox.sqprod.co>
2026-07-02 22:52:38 +00:00
Will Pfleger
02ff06cac2 fix(relay-reconnect): resilient reconnect with fast-path, escalation, and polling (#1456)
Signed-off-by: Will Pfleger <pfleger.will@gmail.com>
Co-authored-by: npub1mn7jgtj4w2pd0g0zeuhxsa6jy6p0rewxz4kujt98my82ahfmp72sxjexk7 <dcfd242e557282d7a1e2cf2e6877522682f1e5c6156dc92ca7d90eaedd3b0f95@sprout-oss.stage.blox.sqprod.co>
2026-07-02 19:30:24 +00:00
Wes
5bfd5ca270 feat: per-community workspace icon set by admins, served via NIP-11 (#1463)
Signed-off-by: Wes <wesbillman@users.noreply.github.com>
Co-authored-by: Brain <21994759fc7a6fa6b965551d35cfd7897d262f2495467f2d78694ddcfa6a5c7e@sprout-oss.stage.blox.sqprod.co>
2026-07-02 11:58:42 -07:00
Taylor Ho
c48006fc3e fix(profile): consolidate agent profile runtime metadata (#1451)
Signed-off-by: Taylor Ho <taylorkmho@gmail.com>
Co-authored-by: npub1223z34hd7vtwc6qj4s7flsxkj644nlre2nthu7lrrmkumhu3xddsrx9r6w <52a228d6edf316ec6812ac3c9fc0d696ab59fc7954d77e7be31eedcddf91335b@sprout-oss.stage.blox.sqprod.co>
Co-authored-by: npub14vtk7pvazqrq9639qu7e560wnqtl0d53ca4gjuvq6jzf3k2el23qqlwa7f <ab176f059d100602ea25073d9a69ee9817f7b691c76a897180d48498d959faa2@sprout-oss.stage.blox.sqprod.co>
2026-07-02 10:13:15 -07:00
Tyler
7da936fff8 fix(read-path): reach complete threads, dense-second timelines, and all people in the GUI (#1418)
Signed-off-by: Tyler Longwell <tlongwell@block.xyz>
Co-authored-by: npub12gtutshhh76rx0jx697f32f9tffd4hhp3hx58fp4x6u4uemkm7sqf8f757 <5217c5c2f7bfb4333e46d17c98a9255a52dadee18dcd43a43536b95e6776dfa0@sprout-oss.stage.blox.sqprod.co>
Co-authored-by: Tyler Longwell <tlongwell@block.xyz>
Co-authored-by: npub1qyvc0c5kl4gqv2fd97fsk46tu378sqgy35vc83rvgfwne90sel7s0ed67d <011987e296fd5006292d2f930b574be47c7801048d1983c46c425d3c95f0cffd@sprout-oss.stage.blox.sqprod.co>
2026-07-02 10:36:11 -04:00
Wes
b32db5e0fd chore(release): release Buzz Desktop version 0.3.41 (#1435) 2026-07-01 12:46:57 -06:00
klopez4212
db2a970115 Update Buzz app icon (#1430) 2026-07-01 10:58:43 -07:00
Wes
461c24ab3f chore(release): release Buzz Desktop version 0.3.40 (#1414) 2026-06-30 17:16:32 -07:00
Will Pfleger
5784ff0f1a chore(release): release Buzz Desktop version 0.3.39 (#1410) 2026-06-30 18:52:02 -04:00
Will Pfleger
e8adc3383f fix: close cross-process keychain race and namespace dev-build nest (#1409)
Signed-off-by: Will Pfleger <pfleger.will@gmail.com>
Co-authored-by: npub1mn7jgtj4w2pd0g0zeuhxsa6jy6p0rewxz4kujt98my82ahfmp72sxjexk7 <dcfd242e557282d7a1e2cf2e6877522682f1e5c6156dc92ca7d90eaedd3b0f95@sprout-oss.stage.blox.sqprod.co>
2026-06-30 18:40:02 -04:00
Will Pfleger
f061ae9c87 fix(desktop): fold baked build env into in-process model discovery (#1376)
Signed-off-by: Will Pfleger <pfleger.will@gmail.com>
Co-authored-by: npub1mn7jgtj4w2pd0g0zeuhxsa6jy6p0rewxz4kujt98my82ahfmp72sxjexk7 <dcfd242e557282d7a1e2cf2e6877522682f1e5c6156dc92ca7d90eaedd3b0f95@sprout-oss.stage.blox.sqprod.co>
2026-06-30 17:43:28 -04:00
Will Pfleger
36f32291e7 test(desktop): gate keychain-write test behind --ignored (#1404)
Signed-off-by: Will Pfleger <pfleger.will@gmail.com>
Co-authored-by: npub1mn7jgtj4w2pd0g0zeuhxsa6jy6p0rewxz4kujt98my82ahfmp72sxjexk7 <dcfd242e557282d7a1e2cf2e6877522682f1e5c6156dc92ca7d90eaedd3b0f95@sprout-oss.stage.blox.sqprod.co>
2026-06-30 15:29:00 -04:00
Wes
34d61acc95 perf(desktop): stop beachballs on agents menu and thread open (#1402)
Signed-off-by: Wes <wesbillman@users.noreply.github.com>
Co-authored-by: Brain <21994759fc7a6fa6b965551d35cfd7897d262f2495467f2d78694ddcfa6a5c7e@sprout-oss.stage.blox.sqprod.co>
Co-authored-by: Pinky <44b8e82baa6e0e254e0208d68f335c283c94e7b78dd1fa10d5a49d3f13dd0435@sprout-oss.stage.blox.sqprod.co>
2026-06-30 12:26:46 -07:00
Taylor Ho
5cc09e6989 feat(desktop): rebuild agent activity feed around a classifier registry and twelve render classes (#1381)
Signed-off-by: Taylor Ho <taylorkmho@gmail.com>
Co-authored-by: npub1223z34hd7vtwc6qj4s7flsxkj644nlre2nthu7lrrmkumhu3xddsrx9r6w <52a228d6edf316ec6812ac3c9fc0d696ab59fc7954d77e7be31eedcddf91335b@sprout-oss.stage.blox.sqprod.co>
Co-authored-by: npub14vtk7pvazqrq9639qu7e560wnqtl0d53ca4gjuvq6jzf3k2el23qqlwa7f <ab176f059d100602ea25073d9a69ee9817f7b691c76a897180d48498d959faa2@sprout-oss.stage.blox.sqprod.co>
2026-06-30 12:19:06 -07:00
Wes
67c47de69c fix(ci): restore main to green — tauri fmt, personas.rs file-size split, Windows path test (#1399)
Signed-off-by: Wes <wesbillman@users.noreply.github.com>
Co-authored-by: Brain <21994759fc7a6fa6b965551d35cfd7897d262f2495467f2d78694ddcfa6a5c7e@sprout-oss.stage.blox.sqprod.co>
2026-06-30 09:47:49 -07:00
Will Pfleger
b74ed858ff fix(desktop): enable buzz-dev-mcp MCP server for Codex agents (#1394)
Signed-off-by: Will Pfleger <pfleger.will@gmail.com>
Co-authored-by: npub1mn7jgtj4w2pd0g0zeuhxsa6jy6p0rewxz4kujt98my82ahfmp72sxjexk7 <dcfd242e557282d7a1e2cf2e6877522682f1e5c6156dc92ca7d90eaedd3b0f95@sprout-oss.stage.blox.sqprod.co>
2026-06-30 12:08:56 -04:00
Will Pfleger
a7e1202cc5 fix(personas): persist pack-backed persona UI edits across reboot (#1392)
Signed-off-by: Will Pfleger <pfleger.will@gmail.com>
Co-authored-by: npub1mn7jgtj4w2pd0g0zeuhxsa6jy6p0rewxz4kujt98my82ahfmp72sxjexk7 <dcfd242e557282d7a1e2cf2e6877522682f1e5c6156dc92ca7d90eaedd3b0f95@sprout-oss.stage.blox.sqprod.co>
2026-06-30 11:44:41 -04:00
Will Pfleger
5a64ee4a69 fix(desktop): skip keychain write when blob contents are unchanged (#1377)
Signed-off-by: Will Pfleger <pfleger.will@gmail.com>
Co-authored-by: npub1mn7jgtj4w2pd0g0zeuhxsa6jy6p0rewxz4kujt98my82ahfmp72sxjexk7 <dcfd242e557282d7a1e2cf2e6877522682f1e5c6156dc92ca7d90eaedd3b0f95@sprout-oss.stage.blox.sqprod.co>
2026-06-30 11:09:14 -04:00
Will Pfleger
325b3fdb0d chore(release): release Buzz Desktop version 0.3.38 (#1375) 2026-06-29 22:50:46 -04:00
Will Pfleger
eacbbe880a feat(desktop): provider-agnostic model selection + databricks discovery (#1307)
Signed-off-by: Will Pfleger <pfleger.will@gmail.com>
Co-authored-by: npub1fgdl5qqnh3k3f2xkqrvt7cujalhm623x4s7fdjdj5yrtp5fzjl9qrjpucw <4a1bfa0013bc6d14a8d600d8bf6392efefbd2a26ac3c96c9b2a106b0d12297ca@sprout-oss.stage.blox.sqprod.co>
2026-06-29 22:41:07 -04:00
Will Pfleger
59be27ff3f fix(desktop): check PGID in orphan sweep and signal correct process groups (#1359)
Signed-off-by: Will Pfleger <pfleger.will@gmail.com>
Co-authored-by: npub1mn7jgtj4w2pd0g0zeuhxsa6jy6p0rewxz4kujt98my82ahfmp72sxjexk7 <dcfd242e557282d7a1e2cf2e6877522682f1e5c6156dc92ca7d90eaedd3b0f95@sprout-oss.stage.blox.sqprod.co>
2026-06-29 17:13:59 -04:00
Will Pfleger
c65989a61b feat(desktop): harness-agnostic config bridge (#887)
Signed-off-by: Will Pfleger <pfleger.will@gmail.com>
Signed-off-by: Will Pfleger <wpfleger@block.xyz>
Co-authored-by: npub1mn7jgtj4w2pd0g0zeuhxsa6jy6p0rewxz4kujt98my82ahfmp72sxjexk7 <dcfd242e557282d7a1e2cf2e6877522682f1e5c6156dc92ca7d90eaedd3b0f95@sprout-oss.stage.blox.sqprod.co>
2026-06-29 16:51:32 -04:00
Will Pfleger
50873ef98d fix: unconditionally replace CLI symlink on boot (#1357)
Signed-off-by: Will Pfleger <pfleger.will@gmail.com>
Co-authored-by: npub1mn7jgtj4w2pd0g0zeuhxsa6jy6p0rewxz4kujt98my82ahfmp72sxjexk7 <dcfd242e557282d7a1e2cf2e6877522682f1e5c6156dc92ca7d90eaedd3b0f95@sprout-oss.stage.blox.sqprod.co>
Co-authored-by: npub1fgdl5qqnh3k3f2xkqrvt7cujalhm623x4s7fdjdj5yrtp5fzjl9qrjpucw <4a1bfa0013bc6d14a8d600d8bf6392efefbd2a26ac3c96c9b2a106b0d12297ca@sprout-oss.stage.blox.sqprod.co>
2026-06-29 14:12:02 -04:00
Wes
6ae8bdfbfd chore(release): release Buzz Desktop version 0.3.37 (#1355) 2026-06-29 17:30:45 +00:00
Tyler
e567491a19 feat(buzz-acp): steering as the default mid-turn mention delivery (#1160)
Signed-off-by: Tyler Longwell <tlongwell@block.xyz>
Signed-off-by: Will Pfleger <pfleger.will@gmail.com>
Co-authored-by: npub1qyvc0c5kl4gqv2fd97fsk46tu378sqgy35vc83rvgfwne90sel7s0ed67d <011987e296fd5006292d2f930b574be47c7801048d1983c46c425d3c95f0cffd@sprout-oss.stage.blox.sqprod.co>
Co-authored-by: Tyler Longwell <tlongwell@block.xyz>
Co-authored-by: npub17jjz49l9jjmhhk7cac63j8yt9z555n9cw8vk7v5jz4vzw4ppld5qgj57cc <f4a42a97e594b77bdbd8ee35191c8b28a94a4cb871d96f32921558275421fb68@sprout-oss.stage.blox.sqprod.co>
Co-authored-by: npub1mn7jgtj4w2pd0g0zeuhxsa6jy6p0rewxz4kujt98my82ahfmp72sxjexk7 <dcfd242e557282d7a1e2cf2e6877522682f1e5c6156dc92ca7d90eaedd3b0f95@sprout-oss.stage.blox.sqprod.co>
Co-authored-by: Will Pfleger <pfleger.will@gmail.com>
Co-authored-by: npub1fgdl5qqnh3k3f2xkqrvt7cujalhm623x4s7fdjdj5yrtp5fzjl9qrjpucw <4a1bfa0013bc6d14a8d600d8bf6392efefbd2a26ac3c96c9b2a106b0d12297ca@sprout-oss.stage.blox.sqprod.co>
2026-06-29 13:18:56 -04:00
Tyler
14fba21e57 Multi-tenant Buzz relay: community_id as a server-resolved key (comprehensive rewrite) (#1321)
Signed-off-by: tlongwell-block <109685178+tlongwell-block@users.noreply.github.com>
Signed-off-by: npub1jh9wn95s0472h86ahapupaf7m6kx4v9sx2n0atj2hltcfer8k06s5n3pyf <95cae996907d7cab9f5dbf43c0f53edeac6ab0b032a6feae4abfd784e467b3f5@sprout-oss.stage.blox.sqprod.co>
Signed-off-by: Tyler Longwell <tlongwell@block.xyz>
Signed-off-by: npub1t2tgm7d8f995uqvmnm8h88sg3wnpp9a5xysjf6dg3tjmgt3ltulqdp8ehr <5a968df9a7494b4e019b9ecf739e088ba61097b4312124e9a88ae5b42e3f5f3e@sprout-oss.stage.blox.sqprod.co>
Signed-off-by: npub17jjz49l9jjmhhk7cac63j8yt9z555n9cw8vk7v5jz4vzw4ppld5qgj57cc <f4a42a97e594b77bdbd8ee35191c8b28a94a4cb871d96f32921558275421fb68@sprout-oss.stage.blox.sqprod.co>
Co-authored-by: Eva <011987e296fd5006292d2f930b574be47c7801048d1983c46c425d3c95f0cffd@sprout-oss.stage.blox.sqprod.co>
Co-authored-by: Mari <95cae996907d7cab9f5dbf43c0f53edeac6ab0b032a6feae4abfd784e467b3f5@sprout-oss.stage.blox.sqprod.co>
Co-authored-by: Sami <f4a42a97e594b77bdbd8ee35191c8b28a94a4cb871d96f32921558275421fb68@sprout-oss.stage.blox.sqprod.co>
Co-authored-by: Max <d8473ee32b973aa31a21a65adddcc4b69cc2a8a4dee8121ecd51926e0cddbc02@sprout-oss.stage.blox.sqprod.co>
Co-authored-by: Quinn <96f056ad5f2305c8ddf637dc65d048aa4c12d7daeb8867690e34fca46b0ef64c@sprout-oss.stage.blox.sqprod.co>
Co-authored-by: Dawn <c6237ef84fa537c78dcee78efd2d4e59f728859c7f194da42ac51ededfa0be05@sprout-oss.stage.blox.sqprod.co>
Co-authored-by: Tyler Longwell <tlongwell@block.xyz>
Co-authored-by: Sami <sami@sprout-oss.stage.blox.sqprod.co>
Co-authored-by: npub1t2tgm7d8f995uqvmnm8h88sg3wnpp9a5xysjf6dg3tjmgt3ltulqdp8ehr <5a968df9a7494b4e019b9ecf739e088ba61097b4312124e9a88ae5b42e3f5f3e@sprout-oss.stage.blox.sqprod.co>
2026-06-29 12:39:02 -04:00
klopez4212
b58f671b4e Allow Huddle between 2 humans in DM (#1347) 2026-06-29 16:49:16 +01:00
Wes
72dee87c8a chore(release): release Buzz Desktop version 0.3.36 (#1352) 2026-06-29 15:11:08 +00:00
klopez4212
a3c4f3f625 Polish agent runtime cards (#1327) 2026-06-29 14:58:23 +00:00
klopez4212
bc925780ee Add rich link previews (#1334) 2026-06-29 06:36:21 -07:00
klopez4212
826d735fe6 Revamp new agent dialog (#1201) 2026-06-29 06:35:00 -07:00
Wes
433b1794d5 Reset prevent-sleep cap on agent activity (#1335)
Signed-off-by: Wes <wesbillman@users.noreply.github.com>
Co-authored-by: Pinky <44b8e82baa6e0e254e0208d68f335c283c94e7b78dd1fa10d5a49d3f13dd0435@sprout-oss.stage.blox.sqprod.co>
2026-06-28 08:18:13 -07:00
Wes
6c60cb59ab fix(desktop): reserve PTT shortcut only during active huddle (#1315)
Signed-off-by: Wes <wesbillman@users.noreply.github.com>
Co-authored-by: Brain <21994759fc7a6fa6b965551d35cfd7897d262f2495467f2d78694ddcfa6a5c7e@sprout-oss.stage.blox.sqprod.co>
2026-06-26 16:31:24 -07:00
Wes
8de7d8f2ff chore(release): release Buzz Desktop version 0.3.35 (#1318) 2026-06-26 16:26:49 -07:00
Wes
e7d43dc225 fix(desktop): split lib modules under size guard (#1314)
Signed-off-by: Wes <wesbillman@users.noreply.github.com>
Co-authored-by: Pinky <44b8e82baa6e0e254e0208d68f335c283c94e7b78dd1fa10d5a49d3f13dd0435@sprout-oss.stage.blox.sqprod.co>
Co-authored-by: Brain <21994759fc7a6fa6b965551d35cfd7897d262f2495467f2d78694ddcfa6a5c7e@sprout-oss.stage.blox.sqprod.co>
2026-06-26 14:29:54 -07:00
benthecarman
ca50d83289 Fix desktop notifications on GNOME 46+ Linux (#1246)
Signed-off-by: benthecarman <benthecarman@live.com>
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-26 11:56:54 -07:00
Wes
c6e3e947ab perf(desktop): debounce channel-list refetch + profile get_channels (#1310)
Signed-off-by: Wes <wesbillman@users.noreply.github.com>
Co-authored-by: Brain <21994759fc7a6fa6b965551d35cfd7897d262f2495467f2d78694ddcfa6a5c7e@sprout-oss.stage.blox.sqprod.co>
2026-06-26 11:50:21 -07:00
Taylor Ho
d32f3c0a58 feat(media): transcode HEIC/HEIF to JPEG on desktop upload (#1257)
Signed-off-by: Taylor Ho <taylorkmho@gmail.com>
Co-authored-by: npub1223z34hd7vtwc6qj4s7flsxkj644nlre2nthu7lrrmkumhu3xddsrx9r6w <52a228d6edf316ec6812ac3c9fc0d696ab59fc7954d77e7be31eedcddf91335b@sprout-oss.stage.blox.sqprod.co>
2026-06-26 09:34:26 -07:00
Wes
59b21592c9 feat(mobile): harden unread badges and float tabs (#1298)
Signed-off-by: Wes <wesbillman@users.noreply.github.com>
Co-authored-by: Pinky <44b8e82baa6e0e254e0208d68f335c283c94e7b78dd1fa10d5a49d3f13dd0435@sprout-oss.stage.blox.sqprod.co>
2026-06-25 17:40:00 -07:00
Taylor Ho
4fce5aab2e feat(desktop): restore archive identity UI in profile panel (#961)
Signed-off-by: Taylor Ho <taylorkmho@gmail.com>
Signed-off-by: npub1mprnacetjua2xx3p5eddmhxyk6wv929ymm5py8kd2xfxurxahspqqlgyta <d8473ee32b973aa31a21a65adddcc4b69cc2a8a4dee8121ecd51926e0cddbc02@sprout-oss.stage.blox.sqprod.co>
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Co-authored-by: npub1223z34hd7vtwc6qj4s7flsxkj644nlre2nthu7lrrmkumhu3xddsrx9r6w <52a228d6edf316ec6812ac3c9fc0d696ab59fc7954d77e7be31eedcddf91335b@sprout-oss.stage.blox.sqprod.co>
Co-authored-by: npub1mprnacetjua2xx3p5eddmhxyk6wv929ymm5py8kd2xfxurxahspqqlgyta <d8473ee32b973aa31a21a65adddcc4b69cc2a8a4dee8121ecd51926e0cddbc02@sprout-oss.stage.blox.sqprod.co>
2026-06-25 20:34:49 -04:00
Will Pfleger
f072032aaf fix(runtime): sweep node wrapper processes hosting managed agent shims (#1296)
Signed-off-by: Will Pfleger <pfleger.will@gmail.com>
Co-authored-by: npub1mn7jgtj4w2pd0g0zeuhxsa6jy6p0rewxz4kujt98my82ahfmp72sxjexk7 <dcfd242e557282d7a1e2cf2e6877522682f1e5c6156dc92ca7d90eaedd3b0f95@sprout-oss.stage.blox.sqprod.co>
Co-authored-by: npub1fgdl5qqnh3k3f2xkqrvt7cujalhm623x4s7fdjdj5yrtp5fzjl9qrjpucw <4a1bfa0013bc6d14a8d600d8bf6392efefbd2a26ac3c96c9b2a106b0d12297ca@sprout-oss.stage.blox.sqprod.co>
2026-06-25 17:06:59 -04:00
Wes
116a445aab chore(release): release Buzz Desktop version 0.3.34 (#1289) 2026-06-25 18:42:01 +00:00
Will Pfleger
9a59e30817 feat(desktop): refresh Agents tab live on inbound relay sync (#1256)
Signed-off-by: Will Pfleger <pfleger.will@gmail.com>
Co-authored-by: npub1mn7jgtj4w2pd0g0zeuhxsa6jy6p0rewxz4kujt98my82ahfmp72sxjexk7 <dcfd242e557282d7a1e2cf2e6877522682f1e5c6156dc92ca7d90eaedd3b0f95@sprout-oss.stage.blox.sqprod.co>
2026-06-25 14:10:06 -04:00
Tyler
73cc31cc52 chore: remove LLM-slop comments across the codebase (#1277)
Signed-off-by: Tyler Longwell <tlongwell@block.xyz>
Co-authored-by: npub1qyvc0c5kl4gqv2fd97fsk46tu378sqgy35vc83rvgfwne90sel7s0ed67d <011987e296fd5006292d2f930b574be47c7801048d1983c46c425d3c95f0cffd@sprout-oss.stage.blox.sqprod.co>
Co-authored-by: Max <d8473ee32b973aa31a21a65adddcc4b69cc2a8a4dee8121ecd51926e0cddbc02@sprout-oss.stage.blox.sqprod.co>
Co-authored-by: Mari <95cae996907d7cab9f5dbf43c0f53edeac6ab0b032a6feae4abfd784e467b3f5@sprout-oss.stage.blox.sqprod.co>
Co-authored-by: Quinn <96f056ad5f2305c8ddf637dc65d048aa4c12d7daeb8867690e34fca46b0ef64c@sprout-oss.stage.blox.sqprod.co>
Co-authored-by: Sami <f4a42a97e594b77bdbd8ee35191c8b28a94a4cb871d96f32921558275421fb68@sprout-oss.stage.blox.sqprod.co>
Co-authored-by: Perci <5a968df9a7494b4e019b9ecf739e088ba61097b4312124e9a88ae5b42e3f5f3e@sprout-oss.stage.blox.sqprod.co>
Co-authored-by: Tyler Longwell <tlongwell@block.xyz>
2026-06-25 11:03:05 -04:00