Commit Graph

36 Commits

Author SHA1 Message Date
npub1mn7jgtj4w2pd0g0zeuhxsa6jy6p0rewxz4kujt98my82ahfmp72sxjexk7
c8270dc429 fix(dev): reap orphaned agent processes on dev/staging exit
Ctrl+C on `just dev`/`just staging` tears down the Tauri app before its
in-process system sweep can finish, so agent workers spawned in their own
process groups survive as orphans and accumulate across sessions.

Add an EXIT trap that reaps this instance's agents via the PID-file receipts
the desktop already writes (one PGID per agent under
`<app-data>/agents/agent-pids/`). The app-data dir is keyed by the bundle
identifier, so the cleanup is scoped exactly to the instance that ran the
recipe — the main checkout never reaps a worktree's agents, or vice versa.

PID files are matched instead of the `SPROUT_MANAGED_AGENT` env marker because
macOS `pkill -f` matches only argv, not the environment, so an env-marker match
would silently reap nothing.

Co-authored-by: npub1mn7jgtj4w2pd0g0zeuhxsa6jy6p0rewxz4kujt98my82ahfmp72sxjexk7 <dcfd242e557282d7a1e2cf2e6877522682f1e5c6156dc92ca7d90eaedd3b0f95@sprout-oss.stage.blox.sqprod.co>
Signed-off-by: npub1mn7jgtj4w2pd0g0zeuhxsa6jy6p0rewxz4kujt98my82ahfmp72sxjexk7 <dcfd242e557282d7a1e2cf2e6877522682f1e5c6156dc92ca7d90eaedd3b0f95@sprout-oss.stage.blox.sqprod.co>
2026-06-10 15:18:05 -04:00
tlongwell-block
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
tlongwell-block
421593062f mesh: Rust-owned coordinator — fix saved-agent reconnect flakiness + DRY the start path (#879)
Signed-off-by: npub1qyvc0c5kl4gqv2fd97fsk46tu378sqgy35vc83rvgfwne90sel7s0ed67d <011987e296fd5006292d2f930b574be47c7801048d1983c46c425d3c95f0cffd@sprout-oss.stage.blox.sqprod.co>
Signed-off-by: npub1mprnacetjua2xx3p5eddmhxyk6wv929ymm5py8kd2xfxurxahspqqlgyta <d8473ee32b973aa31a21a65adddcc4b69cc2a8a4dee8121ecd51926e0cddbc02@sprout-oss.stage.blox.sqprod.co>
Co-authored-by: npub1qyvc0c5kl4gqv2fd97fsk46tu378sqgy35vc83rvgfwne90sel7s0ed67d <011987e296fd5006292d2f930b574be47c7801048d1983c46c425d3c95f0cffd@sprout-oss.stage.blox.sqprod.co>
Co-authored-by: npub1mprnacetjua2xx3p5eddmhxyk6wv929ymm5py8kd2xfxurxahspqqlgyta <d8473ee32b973aa31a21a65adddcc4b69cc2a8a4dee8121ecd51926e0cddbc02@sprout-oss.stage.blox.sqprod.co>
2026-06-09 10:59:28 -04:00
Will Pfleger
f1c672fea5 chore: deprecate sprout-mcp — fill CLI gaps, remove crate and all references (#850) 2026-06-05 12:31:52 -04:00
Will Pfleger
2a0572c0d8 fix: use immutable commit-SHA URLs in screenshot PR comments (#842) 2026-06-03 22:28:11 -04:00
Will Pfleger
3b78dc5690 feat(mobile+desktop): two-tier Slack-style app icon badge (#802) 2026-06-03 18:16:49 -07:00
Wes
0c225f4d7d chore: simplify file-size check to a flat 1000-line limit (#839)
Signed-off-by: Wes <wesbillman@users.noreply.github.com>
Co-authored-by: Brain <21994759fc7a6fa6b965551d35cfd7897d262f2495467f2d78694ddcfa6a5c7e@sprout-oss.stage.blox.sqprod.co>
2026-06-03 16:40:33 -07:00
Will Pfleger
06bc67fd34 feat(desktop): reusable screenshot workflow for agents (#826)
Signed-off-by: Will Pfleger <wpfleger@block.xyz>
2026-06-03 19:33:56 +00:00
Will Pfleger
2a03851527 refactor: consolidate infra management into justfile + add mobile-dev (#797) 2026-05-29 18:26:24 -04:00
Will Pfleger
11905d1fbc chore: activate lefthook hooks and add fmt-all, mobile-fmt recipes (#751)
## Summary

- Activate lefthook pre-commit and pre-push hooks that have existed in `lefthook.yml` since the initial desktop app but were never wired up.
- Add `just hooks` recipe: sets `core.hooksPath = .hooks` and runs `lefthook install --force` to generate hook scripts.
- Wire hook installation into `scripts/dev-setup.sh` so hooks activate automatically on `just setup`.
- Enable `parallel: true` for pre-commit hooks (pre-push already had it) — all 5 format/lint checks run simultaneously.
- Add `just mobile-fmt` recipe (`dart format .`) and `just fmt-all` recipe (Rust root + Tauri Rust + Dart) as one-shot formatters.
- `.hooks/` is gitignored since lefthook generates machine-specific scripts.
- Update `AGENTS.md`: document pre-commit/pre-push hooks in Quality Gates, add `just fmt-all` and `just hooks` usage, upgrade worktree fmt gotcha from CI note to commit blocker, add `just mobile-fmt` to mobile commands; also backfill CLI-first updates (`SPROUT_AUTH_TAG`, complete exit codes, `--format compact` flag position, two new gotchas).

All hook commands delegate to `just` recipes as the single source of truth.
2026-05-26 22:05:42 +00:00
Will Pfleger
582cfc8885 Bundle sprout CLI in DMG release + agent PATH discoverability (#614) 2026-05-19 20:53:46 -04:00
Will Pfleger
50b350dc58 fix(desktop): worktree support — workspace boundary + shared identity (#610) 2026-05-18 19:11:34 -04:00
tlongwell-block
70cb53e2c7 Add Sprig all-in-one agent binary (#605)
Signed-off-by: Tyler Longwell <tlongwell@squareup.com>
2026-05-17 13:31:58 -04:00
tlongwell-block
6ba46f21da ci: publish Sprout Agent Bundle (sprout-acp + sprout-agent + sprout-dev-mcp) to GitHub Releases (#603)
Signed-off-by: Tyler Longwell <109685178+tlongwell-block@users.noreply.github.com>
2026-05-16 21:04:00 +00:00
tlongwell-block
22f1e0b724 Launch sprout-agent from the desktop GUI (#529) 2026-05-11 12:36:53 -04:00
tlongwell-block
70a691517b feat: automatic git auth and signing for sprout agents (#528) 2026-05-11 10:38:45 -04:00
Wes
0dcfa86f84 chore: remove dead API token references from GUI, docs, and config (#498)
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-05-07 19:07:44 +00:00
Wes
9c6b770aa5 feat(web): scaffold browser-based Sprout web client (#474)
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-05-04 12:49:48 -07:00
tlongwell-block
1feb18e2e0 feat(git-sign-nostr): implement NIP-GS git object signing with Nostr keys (#459) 2026-05-03 10:05:30 -04:00
tlongwell-block
c9f287958d feat(desktop): wire git-credential-nostr into agent spawn path (#451) 2026-05-02 11:46:49 -04:00
tlongwell-block
3cabe94c2b feat: relay membership with NIP-43 compliance (#448) 2026-05-01 19:11:32 -04:00
tlongwell-block
3899ca566d feat(git): Role-based push permissions with service-bound auth (#441)
Signed-off-by: Tyler Longwell <tlongwell@squareup.com>
Co-authored-by: Tyler Longwell <tlongwell@block.xyz>
2026-05-01 00:25:33 -04:00
Wes
28bf8bfeee fix(desktop): remove stale sprout-admin prereq, add sidecar tooling (#371) 2026-04-20 12:30:37 -07:00
Taylor Ho
e7652c8a56 fix: pre-create index on partitioned table to unblock dev setup (#325)
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-15 08:44:30 -07:00
tlongwell-block
61efb883a1 feat: Phase 1 video upload support (Blossom-compliant-ish) (#285) 2026-04-10 12:23:29 -04:00
Matt Toohey
89aa68d769 feat: support multiple sprout instances with stable ports (#264) 2026-04-08 11:39:51 +10:00
tlongwell-block
67706c93be NIP-33: d-tag keyed replacement for parameterized replaceable events (#246) 2026-04-06 21:15:01 -04:00
Wes
243d8734f2 Improve README and dev setup (#189)
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-26 10:35:28 -07:00
Wes
d074a408c0 Fix dev setup Postgres migration detection (#116) 2026-03-19 09:58:30 -07:00
Alec Thomas
6093fc6066 feat: migrate from MySQL to Postgres with pgschema (#114)
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-authored-by: Tyler Longwell <tlongwell@squareup.com>
2026-03-19 12:35:22 -04:00
tlongwell-block
975b7be4a8 feat(proxy): NIP-28 translation proxy for third-party Nostr clients (#43) 2026-03-12 22:16:00 -04:00
Wes
1feab79543 feat: add channel browser for discovering and joining channels (#42)
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-12 12:53:59 -07:00
Wes
272708cb14 fix: just reset race condition (#41) 2026-03-12 11:12:12 -07:00
Bradley Axen
3fb469917d Remove IF NOT EXISTS from migrations and drop mysql CLI fallback (#19) 2026-03-10 14:46:15 -07:00
Wes
6e51cc0b12 Add desktop Playwright e2e harness (#11) 2026-03-09 19:16:43 -07:00
tlongwell-block
058c4b92a9 Initial release — Sprout Nostr relay with enterprise extensions (#2) 2026-03-09 15:15:25 -04:00