npub1mn7jgtj4w2pd0g0zeuhxsa6jy6p0rewxz4kujt98my82ahfmp72sxjexk7 and Will Pfleger
23b522d992
fix(relay/core): close result-level read gate for kind:44200 (NIP-AM)
...
reader_authorized_for_event in filter.rs now gates KIND_AGENT_TURN_METRIC
alongside KIND_DM_VISIBILITY — reader must match the #p tag (owner).
This single function closes all kindless-ids retrieval paths: WS
historical pull (req.rs:330, req.rs:652), HTTP bridge (bridge.rs:608,
bridge.rs:863), and live fan-out (event.rs).
Live fan-out extended likewise: owner_only_kind now covers both 44200
and 30622, so kindless-ids subscriptions cannot receive 44200 events
for non-owners.
Tests added: reader_authorized_for_event_gates_agent_turn_metric_by_p
(owner allow, non-owner deny, authoring-agent deny).
Case-2 rationale in the existing req.rs test updated: pass-through at
the filter-authorization gate is correct because the result-level gate
is now the enforcement point for this path.
NIP-AM ref: docs/nips/NIP-AM.md at 19889ba0c (PR #1441 ).
Resolves blocking gap from PR #1445 review.
Co-authored-by: Will Pfleger <pfleger.will@gmail.com >
Signed-off-by: Will Pfleger <pfleger.will@gmail.com >
2026-07-01 16:58:25 -04:00
npub1mn7jgtj4w2pd0g0zeuhxsa6jy6p0rewxz4kujt98my82ahfmp72sxjexk7 and Will Pfleger
b7480e875c
feat(core/relay): add NIP-AM kind 44200 (agent turn metrics) with relay plumbing
...
Add kind:44200 (KIND_AGENT_TURN_METRIC) as the durable, p-gated, owner-encrypted
per-turn token-usage event defined in NIP-AM (docs/nips/NIP-AM.md, PR #1441 ).
Changes:
- buzz-core/kind.rs: add KIND_AGENT_TURN_METRIC = 44200 to P_GATED_KINDS and
ALL_KINDS; compile-time asserts confirm regular (non-ephemeral, non-replaceable)
kind shape
- buzz-core/agent_turn_metric.rs (new): AgentTurnMetricPayload type matching
the NIP schema (harness+timestamp required; nullable token fields; turn/cumulative
objects; sessionId+turnSeq required when cumulative present; deltaReliable;
stopReason enum); encrypt_agent_turn_metric/decrypt_agent_turn_metric helpers
reusing encrypt_observer_payload/decrypt_observer_payload from observer.rs;
round-trip, wrong-key, null-field, and stop-reason tests
- buzz-relay/handlers/req.rs: extend p_gated_filters_authorized to deny the
ids-filter exemption for kind:44200 (same carve-out shape as KIND_DM_VISIBILITY);
new test covering both {kinds:[44200], ids:[...]} deny and the kindless-ids
pass-through path (with documented defense-in-depth note)
- buzz-relay/handlers/ingest.rs: validate_agent_turn_metric_envelope (p tag,
agent tag == event.pubkey, no h tag, NIP-44 content); async is_agent_owner
ownership check; required_scope_for_kind → MessagesWrite; is_global_only_kind
addition; envelope and ownership tests
- migrations/0001_initial_schema.sql + schema/schema.sql: add 44200 to the NULL
search_tsv CASE so the p_gated_persistent_kinds_have_storage_null_tsvector
drift test passes
No emit logic, no adapters — Task B (goose adapter, buzz-acp) is a separate PR.
Co-authored-by: Will Pfleger <pfleger.will@gmail.com >
Signed-off-by: Will Pfleger <pfleger.will@gmail.com >
2026-07-01 16:51:57 -04:00
fec7684366
feat(desktop): restore observer-feed regressions from #1381 and classify 4 new session/update types ( #1412 )
...
Signed-off-by: Will Pfleger <pfleger.will@gmail.com >
Co-authored-by: npub1mn7jgtj4w2pd0g0zeuhxsa6jy6p0rewxz4kujt98my82ahfmp72sxjexk7 <dcfd242e557282d7a1e2cf2e6877522682f1e5c6156dc92ca7d90eaedd3b0f95@sprout-oss.stage.blox.sqprod.co >
2026-07-01 16:33:26 -04:00
bdeab23b59
fix(desktop): disable spellcheck/autocorrect/autocapitalize on emoji picker search ( #1438 )
...
Signed-off-by: Will Pfleger <pfleger.will@gmail.com >
Co-authored-by: npub1mn7jgtj4w2pd0g0zeuhxsa6jy6p0rewxz4kujt98my82ahfmp72sxjexk7 <dcfd242e557282d7a1e2cf2e6877522682f1e5c6156dc92ca7d90eaedd3b0f95@sprout-oss.stage.blox.sqprod.co >
2026-07-01 16:23:55 -04:00
b1d9d955de
feat(relay): add OpenTelemetry tracing, keep Prometheus metrics ( #1398 )
...
Signed-off-by: Will Pfleger <pfleger.will@gmail.com >
Co-authored-by: npub1mn7jgtj4w2pd0g0zeuhxsa6jy6p0rewxz4kujt98my82ahfmp72sxjexk7 <dcfd242e557282d7a1e2cf2e6877522682f1e5c6156dc92ca7d90eaedd3b0f95@sprout-oss.stage.blox.sqprod.co >
2026-07-01 16:05:59 -04:00
9f2a11b338
feat(buzz-agent): emit agent_thought_chunk for reasoning content ( #1436 )
...
Signed-off-by: Will Pfleger <pfleger.will@gmail.com >
Co-authored-by: npub1mn7jgtj4w2pd0g0zeuhxsa6jy6p0rewxz4kujt98my82ahfmp72sxjexk7 <dcfd242e557282d7a1e2cf2e6877522682f1e5c6156dc92ca7d90eaedd3b0f95@sprout-oss.stage.blox.sqprod.co >
2026-07-01 14:57:05 -04:00
e5aa4a2132
feat(git): move repo-name registry to Postgres + relax RWM chart gate (HA relay) ( #1432 )
...
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-07-01 14:50:18 -04:00
Wes and GitHub
b32db5e0fd
chore(release): release Buzz Desktop version 0.3.41 ( #1435 )
v0.3.41
2026-07-01 12:46:57 -06:00
323a86ade8
fix(desktop): sort reaction pills by earliest created_at ascending ( #1434 )
...
Signed-off-by: Will Pfleger <pfleger.will@gmail.com >
Co-authored-by: npub1mn7jgtj4w2pd0g0zeuhxsa6jy6p0rewxz4kujt98my82ahfmp72sxjexk7 <dcfd242e557282d7a1e2cf2e6877522682f1e5c6156dc92ca7d90eaedd3b0f95@sprout-oss.stage.blox.sqprod.co >
2026-07-01 14:28:58 -04:00
klopez4212 and GitHub
3d08c3b02b
Group consecutive desktop messages ( #1429 )
2026-07-01 18:13:22 +00:00
klopez4212 and GitHub
db2a970115
Update Buzz app icon ( #1430 )
2026-07-01 10:58:43 -07:00
ce1f13e8f7
feat(desktop): add workspace rail unread observer ( #1428 )
...
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-07-01 10:55:30 -07:00
8fb33bdbca
Prioritize channel members in mention autocomplete ( #1431 )
...
Signed-off-by: Wes <wesbillman@users.noreply.github.com >
Co-authored-by: Pinky <44b8e82baa6e0e254e0208d68f335c283c94e7b78dd1fa10d5a49d3f13dd0435@sprout-oss.stage.blox.sqprod.co >
2026-07-01 10:54:32 -07:00
klopez4212 and GitHub
6a08a3f4c8
Tighten message density ( #1426 )
2026-07-01 16:50:50 +01:00
klopez4212 and GitHub
c0e10d67e0
Tighten sidebar section actions ( #1424 )
2026-07-01 15:22:09 +00:00
6c0e6f0bb7
Add memory copy actions ( #1427 )
...
Signed-off-by: Wes <wesbillman@users.noreply.github.com >
Co-authored-by: Pinky <44b8e82baa6e0e254e0208d68f335c283c94e7b78dd1fa10d5a49d3f13dd0435@sprout-oss.stage.blox.sqprod.co >
2026-07-01 08:05:40 -07:00
klopez4212 and GitHub
177fe5a3bf
Limit agent profile quick actions ( #1425 )
2026-07-01 07:54:30 -07:00
klopez4212 and GitHub
3e4e9dda94
Fade sidebar pinned chrome edges ( #1423 )
2026-07-01 07:51:05 -07:00
klopez4212 and GitHub
2fc8b9cf5f
Apply smooth corners to inline media ( #1422 )
2026-07-01 07:50:26 -07:00
klopez4212 and GitHub
4ae5a0d5e3
Align thread summary rows ( #1421 )
2026-07-01 07:48:58 -07:00
klopez4212 and GitHub
8c38847913
Keep channel day dividers sticky ( #1420 )
2026-07-01 07:46:12 -07:00
86d6388e68
fix(deps): pin aws-creds to fork with EKS Pod Identity support ( #1419 )
...
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-30 22:26:59 -04:00
3292b502aa
fix(relay): enable Redis TLS for rediss:// (ElastiCache) ( #1417 )
...
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-30 21:14:43 -04:00
Wes and GitHub
461c24ab3f
chore(release): release Buzz Desktop version 0.3.40 ( #1414 )
v0.3.40
2026-06-30 17:16:32 -07:00
4fdc68f156
fix(desktop): stabilize channel-timeline scrollback with per-row height reserves ( #1413 )
...
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 16:53:18 -07:00
697f63ddcc
fix(sidebar): trim working badge label and name working agents in tooltip ( #1408 )
...
Signed-off-by: Taylor Ho <taylorkmho@gmail.com >
Co-authored-by: npub1223z34hd7vtwc6qj4s7flsxkj644nlre2nthu7lrrmkumhu3xddsrx9r6w <52a228d6edf316ec6812ac3c9fc0d696ab59fc7954d77e7be31eedcddf91335b@sprout-oss.stage.blox.sqprod.co >
2026-06-30 16:27:34 -07:00
c444e3445b
Mobile tab bar polish ( #1368 )
...
Signed-off-by: Wes <wesb@block.xyz >
Signed-off-by: Wes <wesbillman@users.noreply.github.com >
Co-authored-by: Wes <wesb@block.xyz >
Co-authored-by: Pinky <44b8e82baa6e0e254e0208d68f335c283c94e7b78dd1fa10d5a49d3f13dd0435@sprout-oss.stage.blox.sqprod.co >
Co-authored-by: Wes <wesbillman@users.noreply.github.com >
Co-authored-by: Brain <21994759fc7a6fa6b965551d35cfd7897d262f2495467f2d78694ddcfa6a5c7e@sprout-oss.stage.blox.sqprod.co >
2026-06-30 23:20:38 +00:00
f86f97bbde
feat(desktop): let thread pane expand on ultrawide monitors ( #1407 )
...
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-30 18:55:08 -04:00
Will Pfleger and GitHub
5784ff0f1a
chore(release): release Buzz Desktop version 0.3.39 ( #1410 )
v0.3.39
2026-06-30 18:52:02 -04:00
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
0042c8e106
feat(relay): allow agent owners to edit/manage agent-owned content ( #1403 )
...
Signed-off-by: Will Pfleger <pfleger.will@gmail.com >
Co-authored-by: npub1mn7jgtj4w2pd0g0zeuhxsa6jy6p0rewxz4kujt98my82ahfmp72sxjexk7 <dcfd242e557282d7a1e2cf2e6877522682f1e5c6156dc92ca7d90eaedd3b0f95@sprout-oss.stage.blox.sqprod.co >
2026-06-30 18:31:47 -04:00
06ef533ec7
fix(media): support IRSA/credential-chain S3 auth and configurable signing region ( #1406 )
...
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-30 18:26:43 -04:00
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
aa1042b162
docs: link VISION_ACTIVITY from the VISION index ( #1405 )
...
Signed-off-by: Taylor Ho <taylorkmho@gmail.com >
Co-authored-by: npub14vtk7pvazqrq9639qu7e560wnqtl0d53ca4gjuvq6jzf3k2el23qqlwa7f <ab176f059d100602ea25073d9a69ee9817f7b691c76a897180d48498d959faa2@sprout-oss.stage.blox.sqprod.co >
2026-06-30 12:41:40 -07:00
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
71b2c41e92
Refactor oversized mobile widgets ( #1401 )
...
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-30 12:27:37 -07:00
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
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
42ec17f137
fix(thread): stop mid-scroll content jump in live threads ( #1397 )
...
Signed-off-by: Wes <wesbillman@users.noreply.github.com >
Co-authored-by: Brain <21994759fc7a6fa6b965551d35cfd7897d262f2495467f2d78694ddcfa6a5c7e@sprout-oss.stage.blox.sqprod.co >
2026-06-30 10:04:34 -07:00
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
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
fdf29c457d
fix(ci): restore E2E flakiness fixes for pgschema, docker-pull, and spec timing ( #1396 )
...
Signed-off-by: Will Pfleger <pfleger.will@gmail.com >
Co-authored-by: npub1mn7jgtj4w2pd0g0zeuhxsa6jy6p0rewxz4kujt98my82ahfmp72sxjexk7 <dcfd242e557282d7a1e2cf2e6877522682f1e5c6156dc92ca7d90eaedd3b0f95@sprout-oss.stage.blox.sqprod.co >
2026-06-30 15:46:06 +00:00
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
10aaa72f01
fix(buzz-acp): clear steer_rx on all run_prompt_task exit paths ( #1391 )
...
Signed-off-by: Will Pfleger <pfleger.will@gmail.com >
Co-authored-by: npub1mn7jgtj4w2pd0g0zeuhxsa6jy6p0rewxz4kujt98my82ahfmp72sxjexk7 <dcfd242e557282d7a1e2cf2e6877522682f1e5c6156dc92ca7d90eaedd3b0f95@sprout-oss.stage.blox.sqprod.co >
2026-06-30 11:41:17 -04:00
klopez4212 and GitHub
0827171d5e
Restore channel date divider rule ( #1395 )
2026-06-30 15:33:03 +00:00
klopez4212 and GitHub
2fc5dd35b1
Speed up profile wave action ( #1379 )
2026-06-30 08:27:12 -07:00
klopez4212 and GitHub
8d8fc6331f
Restore visible links for rich previews ( #1378 )
2026-06-30 08:26:45 -07:00
09d8965ab6
Mobile channel list polish ( #1367 )
...
Signed-off-by: Wes <wesbillman@users.noreply.github.com >
Co-authored-by: Wes <wesbillman@users.noreply.github.com >
Co-authored-by: Pinky <44b8e82baa6e0e254e0208d68f335c283c94e7b78dd1fa10d5a49d3f13dd0435@sprout-oss.stage.blox.sqprod.co >
2026-06-30 08:25:16 -07:00
2f496debce
style(desktop): unify corner radii to rounded-2xl (16px) ( #1393 )
...
Signed-off-by: Kenny Lopez <kennylopez@block.xyz >
Co-authored-by: npub1qmhy2ax8zfuwa935x3g9sczmqsnykvrj88gy5e9v7qw8ez6atpqssdvu6y <06ee4574c71278ee9634345058605b04264b307239d04a64acf01c7c8b5d5841@sprout-oss.stage.blox.sqprod.co >
Co-authored-by: Kenny Lopez <kennylopez@block.xyz >
2026-06-30 08:11:34 -07:00
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