Commit Graph
1115 Commits
Author SHA1 Message Date
npub1mn7jgtj4w2pd0g0zeuhxsa6jy6p0rewxz4kujt98my82ahfmp72sxjexk7andWill Pfleger d659e90ffe feat(desktop): add databricks v1+v2 model discovery via buzz-agent lib
Implements in-process Databricks model catalog discovery (Option C) so
PKCE token-cache hits are covered without spawning a subprocess.

buzz-agent changes:
- catalog.rs: new pub module with discover_databricks_models(cfg) —
  v1 (serving-endpoints) and v2 (ai-gateway/v2/endpoints, paginated)
  HTTP fetch + parse helpers; 7 unit tests
- auth.rs: bearer_no_browser() trait default + PkceOAuthTokenSource
  override that stops before the browser step (returns Err(LlmAuth)
  when cache is empty)
- config.rs: Config::for_discovery() minimal constructor — avoids
  requiring DATABRICKS_MODEL/other fields irrelevant to discovery
- llm.rs: build_token_source() pub(crate) for catalog.rs access
- lib.rs: re-exports discover_databricks_models, ModelEntry,
  DATABRICKS_V2_KNOWN_MODELS, Provider, AgentError

desktop changes:
- Cargo.toml: buzz_agent_pkg path dep added
- agent_models.rs: discover_databricks_models wrapper calls
  buzz_agent_pkg::discover_databricks_models directly; LlmAuth ->
  Ok(None) fallthrough; other errors redacted; ~270 lines removed
- agent_models_tests.rs: stale parse/URL tests removed (moved to
  catalog::tests); is_databricks_provider test retained
- check-file-sizes.mjs: TEMP override lowered from 1244 -> 1066

Co-authored-by: Will Pfleger <pfleger.will@gmail.com>
Signed-off-by: Will Pfleger <pfleger.will@gmail.com>
2026-06-29 22:04:53 -04:00
npub1mn7jgtj4w2pd0g0zeuhxsa6jy6p0rewxz4kujt98my82ahfmp72sxjexk7andWill Pfleger fd9270e8fd fix(desktop): address Wes review comments on #1307
FIX 1 — extract agent_env.rs to fix file-size guard:
runtime.rs was 2172 lines (gate limit 2150). Extracted
build_buzz_agent_provider_defaults + parse_agent_env_lines into a new
focused module managed_agents/agent_env.rs. Moved the 10 associated
tests (parse_agent_env_lines_*, buzz_agent_provider_defaults_*,
base64_round_trip, baked_defaults_ordering) into agent_env.rs's own
#[cfg(test)] mod. Re-exported build_buzz_agent_provider_defaults via
mod.rs pub(crate) use so agent_models.rs call site is unchanged.
runtime.rs is now 2120 lines (gate sees 2121); check-file-sizes.mjs
passes.

FIX 2 — rewrite stale E2E spec:
persona-env-vars.spec.ts 'persona model options follow the selected LLM
provider' asserted the deleted static roster (GPT-5.5, Claude Sonnet
4.6) and clicked 'Databricks (default)' (now just 'Default'). Rewrote
to assert provider-agnostic behavior: Default model present without
discovery, provider switch updates API-key field label/value, Default
provider resets model to 'Default model'. No hardcoded model IDs remain.
E2E harness requires a built app (webServer) — not runnable locally
without dist; CI validates.

FIX 3 — drop dead providers filter branch:
With the static roster gone, PersonaModelOption.providers was always
undefined. Removed the providers field from the type and simplified
getPersonaModelOptions to drop the dead option.providers?.includes()
branch. typecheck clean.

Co-authored-by: Will Pfleger <pfleger.will@gmail.com>
Signed-off-by: Will Pfleger <pfleger.will@gmail.com>
2026-06-29 19:49:16 -04:00
npub1mn7jgtj4w2pd0g0zeuhxsa6jy6p0rewxz4kujt98my82ahfmp72sxjexk7andWill Pfleger 8a4d12b437 fix(desktop): address Thufir Pass 1 blocking defects on #1307
FIX 1 — base64-encode BUZZ_BUILD_AGENT_ENV for Cargo round-trip:
Cargo build-script output is line-oriented; a raw multiline value was
silently truncated to the first line. build.rs now base64-encodes the
validated value before emitting; runtime.rs decodes it before parsing.
Adds base64 to [build-dependencies]. New test: round-trip with 2-pair
value containing URL-embedded '=' survives encode→decode→parse.

FIX 2 — move baked defaults before record metadata env vars:
build_buzz_agent_provider_defaults() was called after
runtime_metadata_env_vars() wrote BUZZ_AGENT_PROVIDER/MODEL from the
record, so an internal baked provider/model clobbered the persona's
choice (last-write-wins). Moved the call to just before the
runtime_metadata_env_vars loop; removed the old call site. New test:
record provider written after baked default wins.

FIX 3 — README no longer documents removed Databricks fallback:
config.rs now errors when BUZZ_AGENT_PROVIDER is unset; the README
still described the auto-fallback. Rewrote the BUZZ_AGENT_PROVIDER row,
ANTHROPIC/OPENAI key rows, DATABRICKS_HOST/MODEL rows, and the fallback
paragraph to match the actual behavior. Provider examples (Tested with
column) preserved — those are illustrative, not a baked registry.

FIX 4 — personaModelDiscoveryStatus.ts matcher string:
config.rs emits 'BUZZ_AGENT_PROVIDER is required' but the UI matched
'BUZZ_AGENT_PROVIDER required' (no 'is'), causing the missing-provider
case to fall through to the generic warning instead of returning null.

MINOR — env_clear() on passthrough tests for isolation.

Co-authored-by: Will Pfleger <pfleger.will@gmail.com>
Signed-off-by: Will Pfleger <pfleger.will@gmail.com>
2026-06-29 19:35:58 -04:00
npub1fgdl5qqnh3k3f2xkqrvt7cujalhm623x4s7fdjdj5yrtp5fzjl9qrjpucwandWill Pfleger 428187009d refactor(desktop): make agent provider/model selection provider-agnostic
OSS Buzz must stay provider/model-agnostic; Block-internal defaults belong
in buzz-releases via env vars, not baked into the OSS tree. This removes the
implicit Databricks fallback and the hardcoded Block-specific contamination
introduced by #1201, across three layers:

- buzz-agent config: resolve_provider/resolve_model no longer auto-infer
  Databricks. BUZZ_AGENT_PROVIDER is required; BUZZ_AGENT_MODEL wins over
  provider-specific env vars.
- desktop build/runtime: add a generic BUZZ_BUILD_AGENT_ENV passthrough
  (newline-delimited KEY=VALUE). build.rs validates and emits
  BUZZ_DESKTOP_BUILD_AGENT_ENV; runtime.rs parses it via parse_agent_env_lines()
  and injects each pair onto spawned agents (user env still wins). This lets
  internal builds bake DATABRICKS_HOST without naming Databricks in OSS; OSS
  builds leave it unset and inject nothing.
- persona dialog UI: delete the hardcoded Block model registry (goose-claude-*,
  databricks-gpt-*, etc.) sourced from squareup/goose-releases. Models now come
  exclusively from live discovery (usePersonaModelDiscovery -> discoverAgentModels);
  the only static fallback is the generic 'Default model' + freeform custom input.
  Drops the Databricks-default behavior. databricks_v2 remains a selectable
  provider option (parallel to the Rust enum), not a default.

Co-authored-by: Will Pfleger <pfleger.will@gmail.com>
Signed-off-by: Will Pfleger <pfleger.will@gmail.com>
2026-06-29 19:13:29 -04:00
Kalvin CandGitHub 15a73aa27f feat(buzz-agent): add databricks_v2 provider for AI Gateway v2 (#1311) 2026-06-29 15:46:02 -07:00
e6738c5015 refactor(desktop): centralize auxiliary panel shell (#1343)
Signed-off-by: Taylor Ho <taylorkmho@gmail.com>
Co-authored-by: npub1223z34hd7vtwc6qj4s7flsxkj644nlre2nthu7lrrmkumhu3xddsrx9r6w <52a228d6edf316ec6812ac3c9fc0d696ab59fc7954d77e7be31eedcddf91335b@sprout-oss.stage.blox.sqprod.co>
2026-06-29 16:19:48 -06:00
db1b617ab1 perf(desktop): stop typing from re-rendering the channel pane + timeline (#1364)
Signed-off-by: Wes <wesbillman@users.noreply.github.com>
Co-authored-by: Brain <21994759fc7a6fa6b965551d35cfd7897d262f2495467f2d78694ddcfa6a5c7e@sprout-oss.stage.blox.sqprod.co>
2026-06-29 21:30:10 +00:00
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
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
401bb51bf2 fix(acp): enable sandbox network access for Codex MCP subprocesses (#1363)
Signed-off-by: Will Pfleger <pfleger.will@gmail.com>
Co-authored-by: npub1mn7jgtj4w2pd0g0zeuhxsa6jy6p0rewxz4kujt98my82ahfmp72sxjexk7 <dcfd242e557282d7a1e2cf2e6877522682f1e5c6156dc92ca7d90eaedd3b0f95@sprout-oss.stage.blox.sqprod.co>
2026-06-29 16:35:15 -04:00
cf57bcbea4 perf(desktop): don't block channel create on channel-list refetch (#1360)
Signed-off-by: Wes <wesbillman@users.noreply.github.com>
Co-authored-by: Brain <21994759fc7a6fa6b965551d35cfd7897d262f2495467f2d78694ddcfa6a5c7e@sprout-oss.stage.blox.sqprod.co>
2026-06-29 12:55:31 -07:00
c27b4251a9 refactor(desktop): split global styles and markdown renderers (#1361)
Signed-off-by: Wes <wesbillman@users.noreply.github.com>
Co-authored-by: Pinky <44b8e82baa6e0e254e0208d68f335c283c94e7b78dd1fa10d5a49d3f13dd0435@sprout-oss.stage.blox.sqprod.co>
2026-06-29 12:49:36 -07:00
2612324fd9 feat(read-state): multi-slot splitting + no-op suppression for oversized blobs (#1309)
Signed-off-by: Will Pfleger <pfleger.will@gmail.com>
Co-authored-by: npub1fgdl5qqnh3k3f2xkqrvt7cujalhm623x4s7fdjdj5yrtp5fzjl9qrjpucw <4a1bfa0013bc6d14a8d600d8bf6392efefbd2a26ac3c96c9b2a106b0d12297ca@sprout-oss.stage.blox.sqprod.co>
2026-06-29 14:20:28 -04:00
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
WesandGitHub 6ae8bdfbfd chore(release): release Buzz Desktop version 0.3.37 (#1355) v0.3.37 2026-06-29 17:30:45 +00:00
dc612c9af6 feat(chart): render extraManifests and serviceMonitor (#1348)
Signed-off-by: tlongwell-block <109685178+tlongwell-block@users.noreply.github.com>
Co-authored-by: Dawn (sprout agent) <c6237ef84fa537c78dcee78efd2d4e59f728859c7f194da42ac51ededfa0be05@sprout-oss.stage.blox.sqprod.co>
Co-authored-by: npub1qyvc0c5kl4gqv2fd97fsk46tu378sqgy35vc83rvgfwne90sel7s0ed67d <011987e296fd5006292d2f930b574be47c7801048d1983c46c425d3c95f0cffd@sprout-oss.stage.blox.sqprod.co>
2026-06-29 13:26:40 -04:00
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
+1 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
klopez4212andGitHub 92a5f1fc66 Disable persona start while runtime discovery runs (#1353) 2026-06-29 09:37:08 -07:00
renovate[bot]GitHubrenovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
1c221eaafd chore(deps): update dependency @tanstack/react-virtual to v3.14.4 (#1342)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-06-29 16:35:27 +00:00
51b2613c0e Fix sidebar unread indicator placement (#1319)
Signed-off-by: Wes <wesbillman@users.noreply.github.com>
Co-authored-by: Pinky <44b8e82baa6e0e254e0208d68f335c283c94e7b78dd1fa10d5a49d3f13dd0435@sprout-oss.stage.blox.sqprod.co>
2026-06-29 09:18:16 -07:00
7adbd05b45 fix(desktop): un-clip hover action bar's upward bleed under content-visibility (#1354)
Signed-off-by: Wes <wesbillman@users.noreply.github.com>
Co-authored-by: Brain <21994759fc7a6fa6b965551d35cfd7897d262f2495467f2d78694ddcfa6a5c7e@sprout-oss.stage.blox.sqprod.co>
2026-06-29 09:17:08 -07:00
klopez4212andGitHub b58f671b4e Allow Huddle between 2 humans in DM (#1347) 2026-06-29 16:49:16 +01:00
WesandGitHub 72dee87c8a chore(release): release Buzz Desktop version 0.3.36 (#1352) v0.3.36 2026-06-29 15:11:08 +00:00
klopez4212andGitHub a3c4f3f625 Polish agent runtime cards (#1327) 2026-06-29 14:58:23 +00:00
4d6196934e Rework desktop message-timeline scrolling: de-virtualize + native overflow-anchor (#1338)
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-29 07:56:48 -07:00
klopez4212andGitHub c1d6f3f291 Keep wave huddles pending for placeholder profiles (#1349) 2026-06-29 07:39:55 -07:00
klopez4212andGitHub e3fc0e0278 Polish profile hover cards (#1346) 2026-06-29 13:45:48 +00:00
thomaspblockandGitHub 360d2e5440 Fix channel header shared blur layering (#1336)
Signed-off-by: Thomas Petersen <thomasp@squareup.com>
2026-06-29 06:42:31 -07:00
klopez4212andGitHub bc925780ee Add rich link previews (#1334) 2026-06-29 06:36:21 -07:00
klopez4212andGitHub 826d735fe6 Revamp new agent dialog (#1201) 2026-06-29 06:35:00 -07:00
klopez4212andGitHub 7d3ee68336 Image attachment gallery lightbox (#1345) 2026-06-29 06:30:15 -07:00
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
Aaron GoldsmithandGitHub 52b6365e17 docs: update sprout repository references and document buzz mem (#1333)
Signed-off-by: Aaron Goldsmith <aargoldsmith@gmail.com>
2026-06-28 14:53:03 +00:00
744c77bc2d fix(buzz-agent): charge images a token-equivalent for the handoff gate (#1332)
Signed-off-by: Tyler Longwell <tlongwell@block.xyz>
Co-authored-by: npub1qyvc0c5kl4gqv2fd97fsk46tu378sqgy35vc83rvgfwne90sel7s0ed67d <011987e296fd5006292d2f930b574be47c7801048d1983c46c425d3c95f0cffd@sprout-oss.stage.blox.sqprod.co>
Co-authored-by: Tyler Longwell <tlongwell@block.xyz>
2026-06-27 16:16:28 -04:00
klopez4212andGitHub aca40b6289 Polish thread reply hover states (#1329) 2026-06-27 06:27:51 -07:00
klopez4212andGitHub f00c86e744 Add persona and team import polish (#1203) 2026-06-26 16:33:04 -07:00
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
WesandGitHub 8de7d8f2ff chore(release): release Buzz Desktop version 0.3.35 (#1318) v0.3.35 2026-06-26 16:26:49 -07:00
ccf1bfe3a0 Simplify agents and teams cards (#1199)
Signed-off-by: Taylor Ho <taylorkmho@gmail.com>
Co-authored-by: Bart Simpson <bart@buzz.local>
Co-authored-by: Taylor Ho <taylorkmho@gmail.com>
Co-authored-by: npub1223z34hd7vtwc6qj4s7flsxkj644nlre2nthu7lrrmkumhu3xddsrx9r6w <52a228d6edf316ec6812ac3c9fc0d696ab59fc7954d77e7be31eedcddf91335b@sprout-oss.stage.blox.sqprod.co>
2026-06-26 23:24:23 +00:00
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
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
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
8d40150c83 feat(desktop): move agent management into profile sidebar (#1274)
Signed-off-by: Taylor Ho <taylorkmho@gmail.com>
Co-authored-by: klopez4212 <klopez4212@gmail.com>
Co-authored-by: npub14vtk7pvazqrq9639qu7e560wnqtl0d53ca4gjuvq6jzf3k2el23qqlwa7f <ab176f059d100602ea25073d9a69ee9817f7b691c76a897180d48498d959faa2@sprout-oss.stage.blox.sqprod.co>
Co-authored-by: Marge <marge@users.noreply.github.com>
Co-authored-by: npub1223z34hd7vtwc6qj4s7flsxkj644nlre2nthu7lrrmkumhu3xddsrx9r6w <52a228d6edf316ec6812ac3c9fc0d696ab59fc7954d77e7be31eedcddf91335b@sprout-oss.stage.blox.sqprod.co>
2026-06-26 11:39:42 -07:00
8c3d0c92e8 feat(desktop): re-land virtualized timeline to fix macOS beachball (#1250)
Signed-off-by: Will Pfleger <pfleger.will@gmail.com>
Co-authored-by: npub1mn7jgtj4w2pd0g0zeuhxsa6jy6p0rewxz4kujt98my82ahfmp72sxjexk7 <dcfd242e557282d7a1e2cf2e6877522682f1e5c6156dc92ca7d90eaedd3b0f95@sprout-oss.stage.blox.sqprod.co>
Co-authored-by: npub1067mpdna4vy22u9eltmmhtdfw56kww6ve2aze025dtfm4pxg07nqztjfhm <7ebdb0b67dab08a570b9faf7bbada97535673b4ccaba2cbd546ad3ba84c87fa6@sprout-oss.stage.blox.sqprod.co>
2026-06-26 18:09:07 +00:00
1a61d783ad feat(acp): add BUZZ_ACP_ALLOWED_RESPOND_TO and BUZZ_ALLOWED_CHANNEL_ADD_POLICIES gates (#1304)
Signed-off-by: Will Pfleger <pfleger.will@gmail.com>
Co-authored-by: npub1mn7jgtj4w2pd0g0zeuhxsa6jy6p0rewxz4kujt98my82ahfmp72sxjexk7 <dcfd242e557282d7a1e2cf2e6877522682f1e5c6156dc92ca7d90eaedd3b0f95@sprout-oss.stage.blox.sqprod.co>
2026-06-26 10:39:11 -07:00
6b0564618b fix(read-state): enforce byte-budget eviction in currentContexts() (#1305)
Signed-off-by: Will Pfleger <pfleger.will@gmail.com>
Co-authored-by: npub1mn7jgtj4w2pd0g0zeuhxsa6jy6p0rewxz4kujt98my82ahfmp72sxjexk7 <dcfd242e557282d7a1e2cf2e6877522682f1e5c6156dc92ca7d90eaedd3b0f95@sprout-oss.stage.blox.sqprod.co>
2026-06-26 13:31:22 -04:00
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
1843a05747 Bring mobile sidebar unread and DM parity (#1303)
Signed-off-by: Wes <wesbillman@users.noreply.github.com>
Co-authored-by: Pinky <44b8e82baa6e0e254e0208d68f335c283c94e7b78dd1fa10d5a49d3f13dd0435@sprout-oss.stage.blox.sqprod.co>
2026-06-26 09:06:46 -07:00
2ecdcce7bd Multi-tenant relay: spec + mechanized formal proof (S1–S8) (#1285)
Signed-off-by: Tyler Longwell <tlongwell@block.xyz>
Co-authored-by: npub1qyvc0c5kl4gqv2fd97fsk46tu378sqgy35vc83rvgfwne90sel7s0ed67d <011987e296fd5006292d2f930b574be47c7801048d1983c46c425d3c95f0cffd@sprout-oss.stage.blox.sqprod.co>
Co-authored-by: Tyler Longwell <tlongwell@block.xyz>
Co-authored-by: Mari <95cae996907d7cab9f5dbf43c0f53edeac6ab0b032a6feae4abfd784e467b3f5@sprout-oss.stage.blox.sqprod.co>
Co-authored-by: npub1mprnacetjua2xx3p5eddmhxyk6wv929ymm5py8kd2xfxurxahspqqlgyta <d8473ee32b973aa31a21a65adddcc4b69cc2a8a4dee8121ecd51926e0cddbc02@sprout-oss.stage.blox.sqprod.co>
Co-authored-by: npub1jmc9dt2lyvzu3h0kxlwxt5zg4fxp9476awyxw6gwxn72g6cw7exqs64whm <96f056ad5f2305c8ddf637dc65d048aa4c12d7daeb8867690e34fca46b0ef64c@sprout-oss.stage.blox.sqprod.co>
2026-06-26 11:15:59 -04:00