tlongwell-block and Eva
8ff38c07bf
test(e2e): seed community before relay boot in desktop e2e integration
...
The desktop e2e integration relay-boot still used BUZZ_AUTO_MIGRATE with no
pre-boot community seed, so the channel reconciler bound the deployment
community ONCE at boot (outside its retry loop) before setup-desktop-test-data.sh
seeded it, hit UnmappedHost, and exited permanently. The reconciler's retry
loop only covers late-seeded channels, not a late-seeded community — so the
9 seeded channels were never reconciled and 'loads channels from the relay'
saw 0 channels (60s timeout). Both Desktop E2E Integration shards red.
Mirror the proven backend-integration ordering: apply schema + seed the
localhost:3000 community BEFORE the relay starts, and drop BUZZ_AUTO_MIGRATE
(schema is now applied pre-boot). setup-desktop-test-data.sh's own idempotent
community seed becomes a no-op; its channel INSERTs are then picked up by the
reconciler's retry loop.
Co-authored-by: Eva <011987e296fd5006292d2f930b574be47c7801048d1983c46c425d3c95f0cffd@sprout-oss.stage.blox.sqprod.co >
Signed-off-by: tlongwell-block <109685178+tlongwell-block@users.noreply.github.com >
2026-06-26 21:58:31 -04:00
tlongwell-block and Eva
107aa6977e
test(e2e): converge e2e host on localhost + seed before relay boot
...
Two CI-honesty follow-ups after the first seed surfaced host/ordering
mismatches in the MT e2e path (no product behavior):
1. Desktop E2E 404: the seed-readiness helper queried 127.0.0.1:3000
while the relay reconciles + the community is seeded for localhost:3000.
normalize_host keeps the non-default port and 127.0.0.1 != localhost,
so the inbound host resolved to no community and every /query 404'd.
Default the helper to http://localhost:3000 , matching the rest of the
desktop e2e suite (e2eBridge.ts / bridge.ts already use localhost) and
the relay's RELAY_URL.
2. Backend Integration UnmappedHost: the reminder scheduler binds the
deployment community once at boot and exits permanently on an unmapped
host (no retry, unlike the channel reconciler). The community was being
seeded after relay start, leaving the scheduler dead. Apply the schema
and seed the community BEFORE starting the relay (dropping
BUZZ_AUTO_MIGRATE since the schema is now applied up front), so the
scheduler binds on its single boot-time attempt.
Both are test/CI wiring. The Relay E2E suite stays red on a separate,
gated body-level bug (command_executor.rs inserts events without
community_id) tracked for the §4 scoping slice.
Co-authored-by: Eva <011987e296fd5006292d2f930b574be47c7801048d1983c46c425d3c95f0cffd@sprout-oss.stage.blox.sqprod.co >
Signed-off-by: tlongwell-block <109685178+tlongwell-block@users.noreply.github.com >
2026-06-26 21:43:06 -04:00
tlongwell-block and Eva
528c4a918a
test(e2e): seed localhost:3000 community for multi-tenant e2e suites
...
The relay resolves each connection's tenant from the durable communities
host map and fails closed on an unmapped host. Under the MT schema,
channels.community_id is NOT NULL with a FK to communities, so the
pre-MT e2e seed (unscoped channel/member INSERTs against an empty
communities table) fails, and every e2e client connection 404s at
host-binding. The relay never auto-seeds a community
(ensure_configured_community has no callers).
Seed the deployment community (host=localhost:3000, matching
RELAY_URL=ws://localhost:3000 after normalize_host keeps the non-default
port) and thread community_id through the channel/member INSERTs:
- setup-desktop-test-data.sh: insert the community row first, then scope
every channel/member INSERT (Desktop E2E Integration).
- start-relay-for-tests.sh: seed the community after schema apply
(Relay E2E); psql-or-docker fallback since psql is not on PATH in hermit.
- ci.yml backend-integration: seed after relay start (reconciler retries
for 2min), before the NIP-ER reminder suite.
ON CONFLICT targets lower(host) to match idx_communities_host, keeping
the seed idempotent.
Verified against live PG: schema apply clean (165 stmts), seed inserts
9 scoped channels + 19 scoped members with zero nulls, host resolves,
re-run is idempotent. Adversarial: an unscoped channel INSERT fails
not-null and a channel against a nonexistent community fails the FK,
proving the community row is load-bearing.
Co-authored-by: Eva <011987e296fd5006292d2f930b574be47c7801048d1983c46c425d3c95f0cffd@sprout-oss.stage.blox.sqprod.co >
Signed-off-by: tlongwell-block <109685178+tlongwell-block@users.noreply.github.com >
2026-06-26 21:24:24 -04:00
d256935c36
feat: publish personas, teams, and managed agents as relay events ( #939 )
...
Signed-off-by: Will Pfleger <pfleger.will@gmail.com >
Co-authored-by: npub1mn7jgtj4w2pd0g0zeuhxsa6jy6p0rewxz4kujt98my82ahfmp72sxjexk7 <dcfd242e557282d7a1e2cf2e6877522682f1e5c6156dc92ca7d90eaedd3b0f95@sprout-oss.stage.blox.sqprod.co >
Co-authored-by: Will Pfleger <pfleger.will@gmail.com >
2026-06-24 22:28:25 +00:00
549b7d2481
fix(release): publish versioned relay Docker tags via independent release lanes ( #1173 )
...
Signed-off-by: Will Pfleger <pfleger.will@gmail.com >
Co-authored-by: npub1mn7jgtj4w2pd0g0zeuhxsa6jy6p0rewxz4kujt98my82ahfmp72sxjexk7 <dcfd242e557282d7a1e2cf2e6877522682f1e5c6156dc92ca7d90eaedd3b0f95@sprout-oss.stage.blox.sqprod.co >
2026-06-23 18:35:30 -04:00
fa1262a92c
fix(desktop): enable mesh llm for release builds ( #1221 )
...
Signed-off-by: Wes <wesbillman@users.noreply.github.com >
Co-authored-by: Pinky <44b8e82baa6e0e254e0208d68f335c283c94e7b78dd1fa10d5a49d3f13dd0435@sprout-oss.stage.blox.sqprod.co >
2026-06-23 15:10:36 -07:00
3ef2a8e5c7
ci(release): enable Tauri auto-updater on Windows and Linux builds ( #1206 )
...
Signed-off-by: Will Pfleger <pfleger.will@gmail.com >
Co-authored-by: npub1mn7jgtj4w2pd0g0zeuhxsa6jy6p0rewxz4kujt98my82ahfmp72sxjexk7 <dcfd242e557282d7a1e2cf2e6877522682f1e5c6156dc92ca7d90eaedd3b0f95@sprout-oss.stage.blox.sqprod.co >
2026-06-23 15:34:11 -04:00
592508addd
feat(windows): bundle full Git-for-Windows toolchain for the shell tool ( #1145 )
...
Signed-off-by: Will Pfleger <pfleger.will@gmail.com >
Co-authored-by: npub1mn7jgtj4w2pd0g0zeuhxsa6jy6p0rewxz4kujt98my82ahfmp72sxjexk7 <dcfd242e557282d7a1e2cf2e6877522682f1e5c6156dc92ca7d90eaedd3b0f95@sprout-oss.stage.blox.sqprod.co >
2026-06-22 14:31:31 -04:00
ae8165f8bb
chore(release): release version 0.3.27 ( #1161 )
...
Signed-off-by: Wes <wesbillman@users.noreply.github.com >
Co-authored-by: Pinky <44b8e82baa6e0e254e0208d68f335c283c94e7b78dd1fa10d5a49d3f13dd0435@sprout-oss.stage.blox.sqprod.co >
2026-06-21 17:38:40 -07:00
Will Pfleger and GitHub
ceb5eff537
ci: cache Flutter pub packages in the Mobile job ( #1128 )
2026-06-18 22:25:08 -04:00
4d2eb52a6c
fix(buzz-dev-mcp): resolve non-WSL bash so the MCP shell works on Windows ( #1119 )
...
Signed-off-by: Will Pfleger <pfleger.will@gmail.com >
Co-authored-by: npub1mn7jgtj4w2pd0g0zeuhxsa6jy6p0rewxz4kujt98my82ahfmp72sxjexk7 <dcfd242e557282d7a1e2cf2e6877522682f1e5c6156dc92ca7d90eaedd3b0f95@sprout-oss.stage.blox.sqprod.co >
2026-06-18 19:33:35 -04:00
e99105edc4
ci: key main-push concurrency group on SHA to stop run eviction ( #1124 )
...
Signed-off-by: Will Pfleger <pfleger.will@gmail.com >
Co-authored-by: npub16v54tttfqacx9ycvc3k0ut0npj564ahcuajzy6qjvh57ntmsf4uq4806j2 <d32955ad69077062930cc46cfe2df30ca9aaf6f8e76422681265e9e9af704d78@sprout-oss.stage.blox.sqprod.co >
2026-06-18 19:27:23 -04:00
629fb57bf0
feat(deploy): add production Helm chart for Buzz ( #990 )
...
Signed-off-by: Tyler Longwell <tlongwell@squareup.com >
Co-authored-by: npub1jmc9dt2lyvzu3h0kxlwxt5zg4fxp9476awyxw6gwxn72g6cw7exqs64whm <96f056ad5f2305c8ddf637dc65d048aa4c12d7daeb8867690e34fca46b0ef64c@sprout-oss.stage.blox.sqprod.co >
Co-authored-by: Eva <011987e296fd5006292d2f930b574be47c7801048d1983c46c425d3c95f0cffd@sprout-oss.stage.blox.sqprod.co >
2026-06-17 21:26:33 -04:00
466bb993ca
ci: move reminder e2e to a dedicated backend-integration job ( #1098 )
...
Signed-off-by: Will Pfleger <pfleger.will@gmail.com >
Co-authored-by: npub1mn7jgtj4w2pd0g0zeuhxsa6jy6p0rewxz4kujt98my82ahfmp72sxjexk7 <dcfd242e557282d7a1e2cf2e6877522682f1e5c6156dc92ca7d90eaedd3b0f95@sprout-oss.stage.blox.sqprod.co >
2026-06-17 19:27:42 -04:00
4201311821
fix: make managed-agent spawn and teardown portable to Windows ( #1097 )
...
Signed-off-by: Will Pfleger <pfleger.will@gmail.com >
Co-authored-by: npub1mn7jgtj4w2pd0g0zeuhxsa6jy6p0rewxz4kujt98my82ahfmp72sxjexk7 <dcfd242e557282d7a1e2cf2e6877522682f1e5c6156dc92ca7d90eaedd3b0f95@sprout-oss.stage.blox.sqprod.co >
2026-06-17 18:49:01 -04:00
ff824a365e
feat(desktop): add NIP-ER reminder UI — create, view, and manage encrypted reminders ( #963 )
...
Signed-off-by: Will Pfleger <pfleger.will@gmail.com >
Signed-off-by: Will Pfleger <wpfleger@squareup.com >
Signed-off-by: Will Pfleger <wpfleger@block.xyz >
Co-authored-by: npub1mn7jgtj4w2pd0g0zeuhxsa6jy6p0rewxz4kujt98my82ahfmp72sxjexk7 <dcfd242e557282d7a1e2cf2e6877522682f1e5c6156dc92ca7d90eaedd3b0f95@sprout-oss.stage.blox.sqprod.co >
2026-06-17 11:03:45 -04:00
Will Pfleger and GitHub
d879fac4c4
fix(release): format changelog as linked markdown bullets ( #1075 )
2026-06-16 18:44:12 -04:00
Will Pfleger and GitHub
07efae7b5b
perf(ci): speed up PR CI wall clock and local dev builds ( #1028 )
2026-06-16 12:44:13 -04:00
e3736f08b7
ci: use running postgres for pgschema desired-state planning ( #1070 )
...
Signed-off-by: Will Pfleger <pfleger.will@gmail.com >
Co-authored-by: npub1mn7jgtj4w2pd0g0zeuhxsa6jy6p0rewxz4kujt98my82ahfmp72sxjexk7 <dcfd242e557282d7a1e2cf2e6877522682f1e5c6156dc92ca7d90eaedd3b0f95@sprout-oss.stage.blox.sqprod.co >
2026-06-16 11:52:19 -04:00
9b410325a7
fix(release): publish manifest from successful platforms ( #1039 )
...
Signed-off-by: Wes <wesbillman@users.noreply.github.com >
Co-authored-by: Pinky <44b8e82baa6e0e254e0208d68f335c283c94e7b78dd1fa10d5a49d3f13dd0435@sprout-oss.stage.blox.sqprod.co >
2026-06-13 22:11:41 -07:00
5d995d928b
chore(release): release version 0.3.22 ( #1038 )
...
Signed-off-by: Wes <wesbillman@users.noreply.github.com >
Co-authored-by: Pinky <44b8e82baa6e0e254e0208d68f335c283c94e7b78dd1fa10d5a49d3f13dd0435@sprout-oss.stage.blox.sqprod.co >
2026-06-13 21:01:25 -07:00
4d19a5901d
fix(release): use signed NSIS installer for updates ( #1036 )
...
Signed-off-by: Wes <wesbillman@users.noreply.github.com >
Co-authored-by: Pinky <44b8e82baa6e0e254e0208d68f335c283c94e7b78dd1fa10d5a49d3f13dd0435@sprout-oss.stage.blox.sqprod.co >
2026-06-13 20:09:54 -07:00
5c2f46e627
fix(desktop): make Windows release compile cleanly ( #1029 )
...
Signed-off-by: Will Pfleger <pfleger.will@gmail.com >
Co-authored-by: npub1mn7jgtj4w2pd0g0zeuhxsa6jy6p0rewxz4kujt98my82ahfmp72sxjexk7 <dcfd242e557282d7a1e2cf2e6877522682f1e5c6156dc92ca7d90eaedd3b0f95@sprout-oss.stage.blox.sqprod.co >
2026-06-13 13:28:55 -04:00
c7dd4295b8
fix(release): resolve Windows sidecar path and Linux AppImage updater format ( #1024 )
...
Signed-off-by: Will Pfleger <pfleger.will@gmail.com >
Co-authored-by: npub1mn7jgtj4w2pd0g0zeuhxsa6jy6p0rewxz4kujt98my82ahfmp72sxjexk7 <dcfd242e557282d7a1e2cf2e6877522682f1e5c6156dc92ca7d90eaedd3b0f95@sprout-oss.stage.blox.sqprod.co >
2026-06-12 22:12:12 -04:00
2fef8d6643
fix(release): replace hermit with native tool setup on Windows job ( #1018 )
...
Signed-off-by: Will Pfleger <pfleger.will@gmail.com >
Co-authored-by: Will Pfleger <pfleger.will@gmail.com >
Co-authored-by: npub1mn7jgtj4w2pd0g0zeuhxsa6jy6p0rewxz4kujt98my82ahfmp72sxjexk7 <dcfd242e557282d7a1e2cf2e6877522682f1e5c6156dc92ca7d90eaedd3b0f95@sprout-oss.stage.blox.sqprod.co >
2026-06-12 17:58:55 -04:00
59a7e5da8a
fix(release): mark prerelease versions so they do not become latest ( #1013 )
...
Signed-off-by: Will Pfleger <pfleger.will@gmail.com >
Co-authored-by: npub1mn7jgtj4w2pd0g0zeuhxsa6jy6p0rewxz4kujt98my82ahfmp72sxjexk7 <dcfd242e557282d7a1e2cf2e6877522682f1e5c6156dc92ca7d90eaedd3b0f95@sprout-oss.stage.blox.sqprod.co >
2026-06-12 15:40:09 -04:00
d07c8216cc
fix(release): update repository name check from block/sprout to block/buzz ( #1012 )
...
Signed-off-by: Will Pfleger <pfleger.will@gmail.com >
Co-authored-by: npub1mn7jgtj4w2pd0g0zeuhxsa6jy6p0rewxz4kujt98my82ahfmp72sxjexk7 <dcfd242e557282d7a1e2cf2e6877522682f1e5c6156dc92ca7d90eaedd3b0f95@sprout-oss.stage.blox.sqprod.co >
2026-06-12 15:00:26 -04:00
de641fce52
feat(release): all-OS desktop builds + universal auto-update manifest ( #1011 )
...
Signed-off-by: Will Pfleger <wpfleger@block.xyz >
Signed-off-by: Will Pfleger <pfleger.will@gmail.com >
Co-authored-by: npub1mn7jgtj4w2pd0g0zeuhxsa6jy6p0rewxz4kujt98my82ahfmp72sxjexk7 <dcfd242e557282d7a1e2cf2e6877522682f1e5c6156dc92ca7d90eaedd3b0f95@sprout-oss.stage.blox.sqprod.co >
2026-06-12 14:50:03 -04:00
Will Pfleger and GitHub
39d9aa8260
ci: add fork guards to docker, release, and auto-tag workflows ( #1007 )
2026-06-12 13:53:43 -04:00
1fa63badad
ci(docker): publish public ghcr.io/block/buzz image (native multi-arch) ( #986 )
...
Signed-off-by: Tyler Longwell <tlongwell@squareup.com >
Co-authored-by: npub17jjz49l9jjmhhk7cac63j8yt9z555n9cw8vk7v5jz4vzw4ppld5qgj57cc <f4a42a97e594b77bdbd8ee35191c8b28a94a4cb871d96f32921558275421fb68@sprout-oss.stage.blox.sqprod.co >
2026-06-12 11:20:44 -04:00
a1c28f487d
Shard desktop Playwright CI jobs ( #992 )
...
Signed-off-by: Wes <wesbillman@users.noreply.github.com >
Co-authored-by: Pinky <44b8e82baa6e0e254e0208d68f335c283c94e7b78dd1fa10d5a49d3f13dd0435@sprout-oss.stage.blox.sqprod.co >
2026-06-11 15:42:02 -07:00
Wes and GitHub
50986406ff
fix(release): use legacy updater key secret ( #991 )
...
Signed-off-by: Wes <wesbillman@users.noreply.github.com >
2026-06-11 13:59:45 -07:00
79bcee55cb
docs: finish Buzz rename cleanup ( #974 )
...
Signed-off-by: Wes <wesbillman@users.noreply.github.com >
Co-authored-by: Pinky <44b8e82baa6e0e254e0208d68f335c283c94e7b78dd1fa10d5a49d3f13dd0435@sprout-oss.stage.blox.sqprod.co >
2026-06-11 09:28:18 -07:00
8f580f308c
Rename desktop app to Buzz ( #960 )
...
Signed-off-by: Wes <wesbillman@users.noreply.github.com >
Co-authored-by: Pinky <44b8e82baa6e0e254e0208d68f335c283c94e7b78dd1fa10d5a49d3f13dd0435@sprout-oss.stage.blox.sqprod.co >
2026-06-11 15:06:24 +00:00
d99ad131f1
refactor: rename sprout backend to buzz ( #958 )
...
Signed-off-by: Will Pfleger <pfleger.will@gmail.com >
Signed-off-by: Will Pfleger <wpfleger@block.xyz >
Signed-off-by: Will Pfleger <wpfleger@squareup.com >
Signed-off-by: Will Pfleger <wpfleger96@gmail.com >
Co-authored-by: npub1mn7jgtj4w2pd0g0zeuhxsa6jy6p0rewxz4kujt98my82ahfmp72sxjexk7 <dcfd242e557282d7a1e2cf2e6877522682f1e5c6156dc92ca7d90eaedd3b0f95@sprout-oss.stage.blox.sqprod.co >
Co-authored-by: npub1fgdl5qqnh3k3f2xkqrvt7cujalhm623x4s7fdjdj5yrtp5fzjl9qrjpucw <4a1bfa0013bc6d14a8d600d8bf6392efefbd2a26ac3c96c9b2a106b0d12297ca@sprout-oss.stage.blox.sqprod.co >
Co-authored-by: npub16v54tttfqacx9ycvc3k0ut0npj564ahcuajzy6qjvh57ntmsf4uq4806j2 <d32955ad69077062930cc46cfe2df30ca9aaf6f8e76422681265e9e9af704d78@sprout-oss.stage.blox.sqprod.co >
Co-authored-by: Will Pfleger <wpfleger96@gmail.com >
2026-06-10 19:29:51 -04:00
tlongwell-block and GitHub
4b78fe3bea
ci(release): add Intel macOS (x86_64) DMG as a release target ( #748 )
...
Signed-off-by: tlongwell-block <109685178+tlongwell-block@users.noreply.github.com >
2026-06-09 11:52:41 -04:00
4a93100e19
chore(deps): update actions/checkout digest to df4cb1c ( #897 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-06-07 22:31:08 -04:00
Will Pfleger and GitHub
f1c672fea5
chore: deprecate sprout-mcp — fill CLI gaps, remove crate and all references ( #850 )
2026-06-05 12:31:52 -04:00
tlongwell-block and GitHub
ede8ddb425
Sprout × mesh-llm: in-process mesh node (serve/consume) + relay admission ( #798 )
2026-06-02 10:28:20 -04:00
33e37de6e3
chore(deps): update all non-major dependencies ( #804 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-06-01 08:26:26 -07:00
Wes and GitHub
30654e95f6
Polish desktop Pulse and Home views ( #764 )
...
Signed-off-by: Wes <wesbillman@users.noreply.github.com >
2026-05-28 08:17:02 -07:00
Will Pfleger
516dc8303f
fix(release): guard CHANGELOG.md read and fix macOS head -n -1
...
The release notes extraction failed on two counts: awk errors when
CHANGELOG.md doesn't exist (first release has no changelog), and
head -n -1 is a GNU extension unsupported on macOS runners. Guard
with a file existence check and replace head with sed '$d'.
2026-05-27 19:45:20 -04:00
Will Pfleger and GitHub
bcd903edcc
feat(release): automate OSS release pipeline with just release ( #757 )
2026-05-27 19:25:09 -04:00
Will Pfleger and GitHub
cbad8ff1be
fix(ci): prevent cache poisoning in release builds ( #744 )
2026-05-25 17:24:15 +00:00
57f480a555
chore(deps): update taiki-e/install-action action to v2.79.5 ( #747 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-05-25 15:33:57 +00:00
86eca930af
chore(deps): update all non-major dependencies ( #735 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-05-24 03:03:36 +00:00
renovate[bot] and GitHub
fa3e0d1ed4
chore(deps): update dorny/paths-filter action to v4 ( #741 )
2026-05-24 00:32:26 +00:00
16a0188caf
chore(deps): update github artifact actions (major) ( #671 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Will Pfleger <pfleger.will@gmail.com >
2026-05-23 02:08:06 +00:00
ce8d67c0c9
chore(deps): update actions/cache action to v5 ( #666 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-05-22 21:31:41 -04:00
Will Pfleger and GitHub
f8a0cb0147
perf(ci): add caching, path filtering, and nextest to speed up CI ( #723 )
2026-05-22 17:28:13 -04:00