Will Pfleger
8a236dffea
style: apply cargo fmt to persona_card.rs
2026-06-08 11:31:51 -04:00
Will Pfleger
1872e406f5
fix: round-trip provider field through persona dialog state
...
- Add provider field to ParsedPersonaPreview Rust struct and thread it
through parse_png_persona, parse_json_persona, parse_md_persona, and
parse_zip_pack (md and pack set it to None; JSON reads llmProvider key)
- Add llmProvider key support in extract_sprout_fields and encode_persona_json
so exported persona cards carry the LLM inference provider
- Update export_persona_to_json to include provider in the serialized card
- Update all encode_persona_json call sites (tests + commands) for new param
TypeScript side was already correct in this branch:
- RawParsedPersonaPreview and ParsedPersonaPreview already had provider field
- parsePersonaFiles mapping already passed provider through
- personaDialogState.ts already threaded provider in edit/duplicate/import
- personaDialogState.test.mjs already had provider round-trip tests
All 573 JS tests pass. Rust build clean (no new warnings).
2026-06-08 11:31:51 -04:00
Will Pfleger
7cf61d55f9
feat: normalized config schema with PersonaRecord.provider and SPROUT_AGENT_MODEL
...
sprout-agent personas all failed because the desktop never injected
SPROUT_AGENT_PROVIDER or model env vars at spawn time, and the goose
config fallback only understood the old flat format. Extract goose
config compat into an isolated submodule, add support for the newer
active_provider + nested providers format, and wire a normalized
config schema so Sprout injects the right env vars for any runtime.
Key changes:
- PersonaRecord.provider captures the LLM provider independently
- SPROUT_AGENT_MODEL works as a universal model fallback
- provider_env_var and model_env_var always injected at spawn time
- Pack import now stores resolved env vars (was always empty)
- runtime_env_vars() emits runtime-appropriate vars (SPROUT_AGENT_*
vs GOOSE_*)
2026-06-08 11:31:51 -04:00
Will Pfleger
953f0902dc
feat: consume runtime metadata for env injection and overhaul runtime dropdown UX
...
Replace hardcoded GOOSE_MODE injection with a metadata-driven
default_env loop on KnownAcpRuntime, and inject GOOSE_MODEL via
model_env_var for runtimes that don't support ACP model switching.
This ensures goose agents respect PersonaRecord.model even without
a persona pack.
Redesign the AddChannelBotDialog runtime dropdown: defaults to "Use
persona defaults" (unset) instead of auto-selecting the first runtime.
Explicit selection overrides all personas. Per-persona runtime badges
on chips show the effective runtime with warning styling when overridden
or when a stored preference is unavailable.
2026-06-08 11:31:51 -04:00
Will Pfleger
d8ee71e040
fix: suppress dead_code warnings on Phase 3 capability fields and remove stale conflict marker
2026-06-08 11:31:50 -04:00
Will Pfleger
05a9dc9110
fix: address code review findings from provider→runtime rename
...
localStorage key migration: useLastRuntime now reads the legacy
"sprout:last-runtime-provider" key as a fallback and clears it on
first write, preventing silent loss of saved runtime preference on
upgrade. Remaining stale local variable names (selectedProviderId,
acpProvidersQuery, etc.) renamed for consistency across 12 TS files.
Migration and template serde alias backward-compat tests added.
2026-06-08 11:31:50 -04:00
klopez4212 and GitHub
b384354e2b
Restyle settings sections ( #894 )
2026-06-08 14:59:26 +00:00
klopez4212 and GitHub
fdcbb696fe
Add emoji reaction particles ( #890 )
2026-06-08 07:37:47 -07:00
klopez4212 and GitHub
32039b9a25
Move settings into the app shell ( #893 )
2026-06-08 07:23:11 -07:00
klopez4212 and GitHub
45f3dfe5ba
Tune chat text sizing ( #891 )
2026-06-08 07:13:22 -07:00
klopez4212 and GitHub
29f6ccf9e9
Style channel header navigation ( #889 )
2026-06-08 07:03:06 -07:00
tlongwell-block and GitHub
2ebe551741
fix: rename missed known_acp_provider_exact → known_acp_runtime_exact ( #900 )
2026-06-08 09:29:12 -04:00
Will Pfleger and GitHub
0a6067ca1b
refactor: rename ACP "provider" to "runtime" across the codebase ( #783 )
2026-06-07 14:40:59 -04:00
klopez4212 and GitHub
056b87d3da
Unify avatar radius ( #892 )
2026-06-07 09:41:15 -04:00
Wes and GitHub
9bbb85b439
chore(release): release version 0.3.12 ( #886 )
2026-06-05 21:17:01 +00:00
1b7b6978fc
Show hover cards for inline message emoji ( #885 )
...
Signed-off-by: Wes <wesbillman@users.noreply.github.com >
Co-authored-by: Pinky <44b8e82baa6e0e254e0208d68f335c283c94e7b78dd1fa10d5a49d3f13dd0435@sprout-oss.stage.blox.sqprod.co >
2026-06-05 14:01:06 -07:00
5268fac2d8
Fix monotonic read-state merges ( #884 )
...
Signed-off-by: Wes <wesbillman@users.noreply.github.com >
Co-authored-by: Pinky <44b8e82baa6e0e254e0208d68f335c283c94e7b78dd1fa10d5a49d3f13dd0435@sprout-oss.stage.blox.sqprod.co >
2026-06-05 14:00:50 -07:00
klopez4212 and GitHub
0a4783c6f8
Refine sidebar behavior and borders ( #869 )
2026-06-05 14:00:37 -07:00
Will Pfleger and GitHub
5d7c748969
fix(presence): clear on disconnect, fix heartbeat/TTL, drop broken REST path ( #877 )
2026-06-05 13:28:00 -07:00
Will Pfleger and GitHub
2f50011bdd
docs(sprout-acp): add communication discipline rules to base prompt + deprecate --mention flag ( #883 )
2026-06-05 15:52:05 -04:00
klopez4212 and GitHub
5c2476a71e
Polish thread summaries and reactions ( #881 )
2026-06-05 20:50:19 +01:00
klopez4212 and GitHub
b84f8e6a01
Polish message row hover states ( #880 )
2026-06-05 20:32:35 +01:00
bc53008676
Improve emoji naming and custom emoji UX ( #878 )
...
Signed-off-by: Wes <wesbillman@users.noreply.github.com >
Co-authored-by: Pinky <44b8e82baa6e0e254e0208d68f335c283c94e7b78dd1fa10d5a49d3f13dd0435@sprout-oss.stage.blox.sqprod.co >
2026-06-05 18:51:46 +00: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
5bdac0566f
Fix custom emoji status in profile popover ( #874 )
...
Signed-off-by: Wes <wesbillman@users.noreply.github.com >
Co-authored-by: Pinky <44b8e82baa6e0e254e0208d68f335c283c94e7b78dd1fa10d5a49d3f13dd0435@sprout-oss.stage.blox.sqprod.co >
2026-06-05 09:26:13 -07:00
d4bb7f66e0
fix(desktop): simplify profile popover header ( #853 )
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-05 07:07:12 -07:00
ccff5464a4
fix(desktop): remove thread comment hover outline ( #861 )
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-05 07:04:59 -07:00
tlongwell-block and GitHub
ad7ab482eb
feat(desktop): always show channel section search/add buttons ( #856 )
...
Signed-off-by: Tyler Longwell <tlongwell@squareup.com >
2026-06-05 09:32:49 -04:00
Wes and GitHub
baf1f7705f
chore(release): release version 0.3.11 ( #865 )
2026-06-04 17:34:15 -07:00
Will Pfleger and GitHub
269b35e8de
fix(mobile+desktop): cross-device read state sync + diagnostic logging ( #843 )
2026-06-04 18:55:40 -04:00
Will Pfleger and GitHub
36d7dbd7ca
feat: desktop-screenshot skill to stop agents uploading relay media to PRs ( #862 )
2026-06-04 18:35:10 -04:00
c10b4f8f5c
feat(desktop): star channels (Slack-style favorites) ( #860 )
...
Signed-off-by: Wes <wesbillman@users.noreply.github.com >
Co-authored-by: Brain <21994759fc7a6fa6b965551d35cfd7897d262f2495467f2d78694ddcfa6a5c7e@sprout-oss.stage.blox.sqprod.co >
2026-06-04 15:32:28 -07:00
Will Pfleger and GitHub
f748f71268
fix(desktop): handle symlinked persona pack directories ( #859 )
2026-06-04 17:52:36 -04:00
Will Pfleger and GitHub
1fe7bf2872
feat: channel muting for desktop and mobile ( #838 )
2026-06-04 15:53:53 -04:00
759e5cd923
fix(desktop): eliminate image-hover layout jump in messages ( #813 )
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-04 09:55:02 -07:00
Wes and GitHub
249bec86cf
chore(release): release version 0.3.10 ( #849 )
2026-06-04 09:04:52 -07:00
tlongwell-block and GitHub
34ac3ba1d1
fix(desktop): harden relay mesh connect p-tag ( #834 )
2026-06-04 11:50:49 -04:00
b3aefae152
fix(desktop): scroll activity panel to bottom on open ( #848 )
...
Signed-off-by: Wes <wesbillman@users.noreply.github.com >
Co-authored-by: Brain <21994759fc7a6fa6b965551d35cfd7897d262f2495467f2d78694ddcfa6a5c7e@sprout-oss.stage.blox.sqprod.co >
2026-06-04 08:49:15 -07:00
a13691b620
Polish desktop profile menu interactions ( #836 )
...
Signed-off-by: Wes <wesbillman@users.noreply.github.com >
Co-authored-by: Cursor <cursoragent@cursor.com >
Co-authored-by: Wes <wesbillman@users.noreply.github.com >
Co-authored-by: Brain <21994759fc7a6fa6b965551d35cfd7897d262f2495467f2d78694ddcfa6a5c7e@sprout-oss.stage.blox.sqprod.co >
2026-06-04 08:48:57 -07:00
0d9b8148f8
fix(desktop): outline thread hover targets ( #845 )
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-04 08:39:56 -07:00
b3be9ecba7
fix(desktop): keep message actions hover-only ( #844 )
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-04 08:07:36 -07:00
db46c42546
fix(desktop): let inbox composer fill available width ( #841 )
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-06-04 08:00:03 -07:00
Will Pfleger and GitHub
3b78dc5690
feat(mobile+desktop): two-tier Slack-style app icon badge ( #802 )
2026-06-03 18:16:49 -07:00
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
d8b602a359
fix(desktop): robust emoji picker — unify picker + fix custom emoji in editing, status, reactions ( #837 )
...
Signed-off-by: Wes <wesbillman@users.noreply.github.com >
Co-authored-by: Brain <21994759fc7a6fa6b965551d35cfd7897d262f2495467f2d78694ddcfa6a5c7e@sprout-oss.stage.blox.sqprod.co >
2026-06-03 15:13:25 -07:00
Will Pfleger and GitHub
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
9f0c22a43a
desktop(mesh-llm): let a serving node route a different model ( #833 )
...
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-03 14:30:46 -04:00
Wes and GitHub
b4f8f40333
chore(release): release version 0.3.9 ( #832 )
2026-06-03 10:45:22 -07:00
82ae85f79a
fix: native arbitrary-file download + image context-menu flash ( #830 )
...
Signed-off-by: Wes <wesbillman@users.noreply.github.com >
Co-authored-by: Brain <21994759fc7a6fa6b965551d35cfd7897d262f2495467f2d78694ddcfa6a5c7e@sprout-oss.stage.blox.sqprod.co >
2026-06-03 09:59:57 -07:00
7797ae77f6
fix(desktop): custom emoji reaction rendering + picker autofocus ( #831 )
...
Signed-off-by: Wes <wesbillman@users.noreply.github.com >
Co-authored-by: Brain <21994759fc7a6fa6b965551d35cfd7897d262f2495467f2d78694ddcfa6a5c7e@sprout-oss.stage.blox.sqprod.co >
2026-06-03 08:53:43 -07:00