npub1223z34hd7vtwc6qj4s7flsxkj644nlre2nthu7lrrmkumhu3xddsrx9r6w
65e41bbc48
feat(agents): add opt-in save-as-persona-template to create dialog
...
Adds an opt-in 'Save as persona template' toggle (off by default) to the
end of the create-agent flow. On submit the persona-less agent is created
first (unchanged, never sets personaId); if the toggle is on, a persona
template is then minted from the same field values via createPersonaMutation.
The template mint is non-fatal and byproduct-ordered: the agent is the
primary goal, so a failed template surfaces as a toast and never blocks or
rolls back the just-created agent. No backend or IPC change — both mutations
already exist.
The toggle is a self-contained block placed after the env-vars editor so a
later avatar-forward visual reskin can relocate it without touching the
submit behavior.
Co-authored-by: Taylor Ho <taylorkmho@gmail.com >
Signed-off-by: Taylor Ho <taylorkmho@gmail.com >
2026-06-26 13:55:21 -07:00
npub1223z34hd7vtwc6qj4s7flsxkj644nlre2nthu7lrrmkumhu3xddsrx9r6w
c9debf3620
feat(agents): re-home save-as-persona-template onto an existing agent
...
Adds a 'Save as persona template' action to an existing agent's menus,
re-homing the #1301 logic onto main's surfaces:
- saveAsPersonaTemplateDialogState() prefills the persona editor from a
ManagedAgent, reverse-mapping the agent's harness command to a runtime
id via commandsMatch (graceful fallback to no runtime). provider is
omitted intentionally: ManagedAgent has no top-level provider field on
main, so there is nothing lossless to carry.
- useSaveAsPersonaTemplate() is a self-contained hook (dialog + mutation)
so a later visual reskin can move the trigger without untangling the
behavior. Derives dialog state from agent + live runtimes via a memo to
avoid the lazy-runtime-query first-open race.
- Wired into ManagedAgentRow's actions menu (gated personaId === null) and
the sidebar agent profile (gated canEditAgent + persona-less).
- personaLibraryCopy.ts documents the UI<->backend vocabulary boundary:
'persona template' is the product term for a backend persona (kind:30175).
Tests cover the dialog-state mapping: vocabulary, command reverse-map hit,
miss/empty-catalog fallback, null-command catalog entries, field carry-over,
provider omission, and null systemPrompt/model tolerance.
Co-authored-by: Taylor Ho <taylorkmho@gmail.com >
Signed-off-by: Taylor Ho <taylorkmho@gmail.com >
2026-06-26 13:55:01 -07:00
Wes
3e91ce274e
chore(release): release Buzz Desktop version 0.3.31 ( #1223 )
2026-06-23 15:49:04 -07:00
thomaspblock
6ad68a6b09
fix(desktop): align settings section headers ( #1165 )
...
Signed-off-by: Thomas Petersen <thomasp@squareup.com >
2026-06-23 15:32:38 -07:00
Will Pfleger
1011cea268
fix(desktop): ground agent workspace, migrate legacy nest, configurable repos_dir ( #1194 )
...
Signed-off-by: Will Pfleger <pfleger.will@gmail.com >
Co-authored-by: npub1mn7jgtj4w2pd0g0zeuhxsa6jy6p0rewxz4kujt98my82ahfmp72sxjexk7 <dcfd242e557282d7a1e2cf2e6877522682f1e5c6156dc92ca7d90eaedd3b0f95@sprout-oss.stage.blox.sqprod.co >
2026-06-23 18:30:12 -04:00
Will Pfleger
e35e84b08b
fix(desktop): move crypto commands off the main thread ( #1222 )
2026-06-23 18:02:24 -04:00
Will Pfleger
c58e9880bf
fix: tolerate missing private_key_nsec in agent store ( #1220 )
...
Signed-off-by: Will Pfleger <pfleger.will@gmail.com >
Co-authored-by: npub1mn7jgtj4w2pd0g0zeuhxsa6jy6p0rewxz4kujt98my82ahfmp72sxjexk7 <dcfd242e557282d7a1e2cf2e6877522682f1e5c6156dc92ca7d90eaedd3b0f95@sprout-oss.stage.blox.sqprod.co >
2026-06-23 17:55:13 -04:00
klopez4212
6b5cf325c2
Update navigation header height ( #1212 )
...
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-23 14:40:38 -07:00
klopez4212
5130a6a0b6
Improve global search ( #1195 )
2026-06-23 14:31:06 -07:00
Wes
89ff950444
fix(desktop): keep settings shortcut from opening search ( #1204 )
...
Signed-off-by: Wes <wesbillman@users.noreply.github.com >
Co-authored-by: Pinky <44b8e82baa6e0e254e0208d68f335c283c94e7b78dd1fa10d5a49d3f13dd0435@sprout-oss.stage.blox.sqprod.co >
2026-06-23 14:15:44 -07:00
klopez4212
c0a872e898
Polish sidebar channel navigation ( #1213 )
2026-06-23 14:15:04 -07:00
Wes
89aaa26443
fix(desktop): restore channel unread badges ( #1218 )
...
Signed-off-by: Wes <wesbillman@users.noreply.github.com >
Co-authored-by: Pinky <44b8e82baa6e0e254e0208d68f335c283c94e7b78dd1fa10d5a49d3f13dd0435@sprout-oss.stage.blox.sqprod.co >
2026-06-23 13:59:21 -07:00
thomaspblock
b4e75a1e41
Fix collapsed home header chrome overlap ( #1215 )
...
Signed-off-by: Thomas Petersen <thomasp@squareup.com >
2026-06-23 13:45:57 -07:00
Wes
2a522826ed
fix(desktop): dedupe welcome intro per channel ( #1216 )
...
Signed-off-by: Wes <wesbillman@users.noreply.github.com >
Co-authored-by: Pinky <44b8e82baa6e0e254e0208d68f335c283c94e7b78dd1fa10d5a49d3f13dd0435@sprout-oss.stage.blox.sqprod.co >
2026-06-23 12:47:11 -07:00
Wes
bee2d64cf7
fix(desktop): defer agent page secondary requests ( #1217 )
...
Signed-off-by: Wes <wesbillman@users.noreply.github.com >
Co-authored-by: Pinky <44b8e82baa6e0e254e0208d68f335c283c94e7b78dd1fa10d5a49d3f13dd0435@sprout-oss.stage.blox.sqprod.co >
2026-06-23 12:46:47 -07:00
Tyler
ed556f3deb
Hydrate reactions for rendered messages ( #1205 )
...
Signed-off-by: npub1mprnacetjua2xx3p5eddmhxyk6wv929ymm5py8kd2xfxurxahspqqlgyta <d8473ee32b973aa31a21a65adddcc4b69cc2a8a4dee8121ecd51926e0cddbc02@sprout-oss.stage.blox.sqprod.co >
Co-authored-by: npub1mprnacetjua2xx3p5eddmhxyk6wv929ymm5py8kd2xfxurxahspqqlgyta <d8473ee32b973aa31a21a65adddcc4b69cc2a8a4dee8121ecd51926e0cddbc02@sprout-oss.stage.blox.sqprod.co >
2026-06-23 13:39:01 -04:00
Wes
40070a5855
fix(desktop): show NIP-OA owners in profile pane ( #1198 )
...
Signed-off-by: Wes <wesbillman@users.noreply.github.com >
Co-authored-by: Pinky <44b8e82baa6e0e254e0208d68f335c283c94e7b78dd1fa10d5a49d3f13dd0435@sprout-oss.stage.blox.sqprod.co >
2026-06-23 09:07:50 -07:00
Tyler
29978b6f93
fix(desktop): preserve login-shell PATH for managed agents ( #1193 )
...
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-23 11:58:25 -04:00
Tyler
b3b0704efb
Fix nav chrome offset in fullscreen ( #1192 )
...
Signed-off-by: npub1t2tgm7d8f995uqvmnm8h88sg3wnpp9a5xysjf6dg3tjmgt3ltulqdp8ehr <5a968df9a7494b4e019b9ecf739e088ba61097b4312124e9a88ae5b42e3f5f3e@sprout-oss.stage.blox.sqprod.co >
Co-authored-by: npub1t2tgm7d8f995uqvmnm8h88sg3wnpp9a5xysjf6dg3tjmgt3ltulqdp8ehr <5a968df9a7494b4e019b9ecf739e088ba61097b4312124e9a88ae5b42e3f5f3e@sprout-oss.stage.blox.sqprod.co >
2026-06-23 10:58:02 -04:00
Will Pfleger
c0858dac12
fix(desktop): show due-reminder count in the Inbox nav badge ( #1191 )
...
Signed-off-by: Will Pfleger <pfleger.will@gmail.com >
Co-authored-by: npub1mn7jgtj4w2pd0g0zeuhxsa6jy6p0rewxz4kujt98my82ahfmp72sxjexk7 <dcfd242e557282d7a1e2cf2e6877522682f1e5c6156dc92ca7d90eaedd3b0f95@sprout-oss.stage.blox.sqprod.co >
2026-06-23 10:46:18 -04:00
Will Pfleger
45eae7c0ec
chore(release): release version 0.3.30 ( #1190 )
2026-06-23 10:02:52 -04:00
Will Pfleger
ce994df74e
fix(desktop): collapse mark-read/unread menu into one toggling item ( #1188 )
...
Signed-off-by: Will Pfleger <pfleger.will@gmail.com >
Co-authored-by: npub1mn7jgtj4w2pd0g0zeuhxsa6jy6p0rewxz4kujt98my82ahfmp72sxjexk7 <dcfd242e557282d7a1e2cf2e6877522682f1e5c6156dc92ca7d90eaedd3b0f95@sprout-oss.stage.blox.sqprod.co >
2026-06-22 23:24:58 -04:00
Will Pfleger
28db41dfd3
fix(channels): replace thread-unread badge frontier with per-message read markers ( #1178 )
...
Signed-off-by: Will Pfleger <pfleger.will@gmail.com >
Co-authored-by: npub1mn7jgtj4w2pd0g0zeuhxsa6jy6p0rewxz4kujt98my82ahfmp72sxjexk7 <dcfd242e557282d7a1e2cf2e6877522682f1e5c6156dc92ca7d90eaedd3b0f95@sprout-oss.stage.blox.sqprod.co >
2026-06-22 22:25:10 -04:00
Wes
d389bf0b85
chore(release): release version 0.3.29 ( #1184 )
2026-06-22 22:44:29 +00:00
Wes
ce5261067d
build: make mesh-llm opt-in for dev/staging to speed up iteration ( #1183 )
...
Signed-off-by: Wes <wesbillman@users.noreply.github.com >
Co-authored-by: npub1yxv5wk0u0fh6dwt925wntn7h397jvteyj4r87ttcd9xae7n2t3lqqj9jmm <21994759fc7a6fa6b965551d35cfd7897d262f2495467f2d78694ddcfa6a5c7e@sprout-oss.stage.blox.sqprod.co >
2026-06-22 22:11:50 +00:00
Will Pfleger
4b518fc4b3
feat(desktop): default temporary channels to 7-day expiry ( #1182 )
...
Signed-off-by: Will Pfleger <pfleger.will@gmail.com >
Co-authored-by: npub1mn7jgtj4w2pd0g0zeuhxsa6jy6p0rewxz4kujt98my82ahfmp72sxjexk7 <dcfd242e557282d7a1e2cf2e6877522682f1e5c6156dc92ca7d90eaedd3b0f95@sprout-oss.stage.blox.sqprod.co >
2026-06-22 18:10:01 -04:00
Will Pfleger
ff727af926
fix(desktop): render lightbox image sharply at full resolution ( #1181 )
...
Signed-off-by: Will Pfleger <pfleger.will@gmail.com >
Co-authored-by: npub1mn7jgtj4w2pd0g0zeuhxsa6jy6p0rewxz4kujt98my82ahfmp72sxjexk7 <dcfd242e557282d7a1e2cf2e6877522682f1e5c6156dc92ca7d90eaedd3b0f95@sprout-oss.stage.blox.sqprod.co >
2026-06-22 18:03:04 -04:00
Wes
781d1acf8a
fix(desktop): keep thread guides behind the reply composer ( #1179 )
...
Signed-off-by: Wes <wesbillman@users.noreply.github.com >
Co-authored-by: Pinky <44b8e82baa6e0e254e0208d68f335c283c94e7b78dd1fa10d5a49d3f13dd0435@sprout-oss.stage.blox.sqprod.co >
2026-06-22 14:15:10 -07:00
Wes
04df2c8dc6
Sort direct messages alphabetically ( #1180 )
...
Signed-off-by: Wes <wesbillman@users.noreply.github.com >
Co-authored-by: Pinky <44b8e82baa6e0e254e0208d68f335c283c94e7b78dd1fa10d5a49d3f13dd0435@sprout-oss.stage.blox.sqprod.co >
2026-06-22 13:53:16 -07:00
klopez4212
7dcf22d50e
Add composer selection formatting tray ( #1133 )
2026-06-22 13:27:35 -07:00
Will Pfleger
ea97e21989
fix(desktop): honor per-agent relay override, default to workspace relay ( #1131 )
...
Signed-off-by: Will Pfleger <pfleger.will@gmail.com >
Co-authored-by: npub1mn7jgtj4w2pd0g0zeuhxsa6jy6p0rewxz4kujt98my82ahfmp72sxjexk7 <dcfd242e557282d7a1e2cf2e6877522682f1e5c6156dc92ca7d90eaedd3b0f95@sprout-oss.stage.blox.sqprod.co >
2026-06-22 15:49:30 -04:00
Wes
141f7118ae
[codex] Stabilize desktop E2E flakes ( #1174 )
...
Signed-off-by: Wes <wesbillman@users.noreply.github.com >
Co-authored-by: npub1yxv5wk0u0fh6dwt925wntn7h397jvteyj4r87ttcd9xae7n2t3lqqj9jmm <21994759fc7a6fa6b965551d35cfd7897d262f2495467f2d78694ddcfa6a5c7e@sprout-oss.stage.blox.sqprod.co >
2026-06-22 12:32:34 -07:00
Will Pfleger
1186ea48b9
feat(desktop): show reminder author + source and click-to-navigate in inbox ( #1176 )
...
Signed-off-by: Will Pfleger <pfleger.will@gmail.com >
Co-authored-by: npub1mn7jgtj4w2pd0g0zeuhxsa6jy6p0rewxz4kujt98my82ahfmp72sxjexk7 <dcfd242e557282d7a1e2cf2e6877522682f1e5c6156dc92ca7d90eaedd3b0f95@sprout-oss.stage.blox.sqprod.co >
2026-06-22 15:06:56 -04:00
klopez4212
de3f21abcd
Improve inbox thread updates ( #1114 )
...
Co-authored-by: Wes <wesbillman@users.noreply.github.com >
2026-06-22 11:48:32 -07:00
Will Pfleger
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
Wes
603c9381ec
chore(release): release version 0.3.28 ( #1170 )
2026-06-22 10:51:31 -07:00
klopez4212
342a251a91
Improve thread branch display ( #1166 )
2026-06-22 10:05:37 -07:00
Tyler
a96d173e99
Copy channel name from header ( #1157 )
...
Signed-off-by: npub1mprnacetjua2xx3p5eddmhxyk6wv929ymm5py8kd2xfxurxahspqqlgyta <d8473ee32b973aa31a21a65adddcc4b69cc2a8a4dee8121ecd51926e0cddbc02@sprout-oss.stage.blox.sqprod.co >
Signed-off-by: Wes <wesbillman@users.noreply.github.com >
Co-authored-by: npub1mprnacetjua2xx3p5eddmhxyk6wv929ymm5py8kd2xfxurxahspqqlgyta <d8473ee32b973aa31a21a65adddcc4b69cc2a8a4dee8121ecd51926e0cddbc02@sprout-oss.stage.blox.sqprod.co >
Co-authored-by: Wes <wesbillman@users.noreply.github.com >
Co-authored-by: Pinky <44b8e82baa6e0e254e0208d68f335c283c94e7b78dd1fa10d5a49d3f13dd0435@sprout-oss.stage.blox.sqprod.co >
2026-06-22 16:55:33 +00:00
klopez4212
c243a01362
Use accent color for video timecodes ( #1167 )
2026-06-22 09:27:36 -07:00
klopez4212
f218b8158e
Add video playback speed control ( #1164 )
2026-06-22 16:59:25 +01:00
Wes
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
Tyler
fa10871df6
fix(desktop): keep channel chrome clear of window controls ( #1159 )
...
Signed-off-by: npub1jh9wn95s0472h86ahapupaf7m6kx4v9sx2n0atj2hltcfer8k06s5n3pyf <95cae996907d7cab9f5dbf43c0f53edeac6ab0b032a6feae4abfd784e467b3f5@sprout-oss.stage.blox.sqprod.co >
Co-authored-by: npub1jh9wn95s0472h86ahapupaf7m6kx4v9sx2n0atj2hltcfer8k06s5n3pyf <95cae996907d7cab9f5dbf43c0f53edeac6ab0b032a6feae4abfd784e467b3f5@sprout-oss.stage.blox.sqprod.co >
2026-06-21 10:03:23 -04:00
Wes
5f79830e19
desktop: polish sidebar search dialog ( #1155 )
...
Signed-off-by: Wes <wesbillman@users.noreply.github.com >
Co-authored-by: Pinky <44b8e82baa6e0e254e0208d68f335c283c94e7b78dd1fa10d5a49d3f13dd0435@sprout-oss.stage.blox.sqprod.co >
2026-06-20 19:30:12 -07:00
Wes
6cca75993b
desktop: fix scrollback paging and visible history depth ( #1153 )
...
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-20 14:07:18 -07:00
Wes
4c7df9b0b3
Fix ACP activity tool title detection ( #1149 )
...
Signed-off-by: npub1v9a0cp05uazvvx3ph34jcfqr4ts3j7wwcve0tvgh4nuhphdkfe2sg7jw4q <617afc05f4e744c61a21bc6b2c2403aae11979cec332f5b117acf970ddb64e55@sprout-oss.stage.blox.sqprod.co >
Co-authored-by: npub1v9a0cp05uazvvx3ph34jcfqr4ts3j7wwcve0tvgh4nuhphdkfe2sg7jw4q <617afc05f4e744c61a21bc6b2c2403aae11979cec332f5b117acf970ddb64e55@sprout-oss.stage.blox.sqprod.co >
2026-06-19 17:03:19 -07:00
Wes
7c3e411fa8
fix(desktop): clear channel unread badges from thread reads ( #1148 )
...
Signed-off-by: npub1v9a0cp05uazvvx3ph34jcfqr4ts3j7wwcve0tvgh4nuhphdkfe2sg7jw4q <617afc05f4e744c61a21bc6b2c2403aae11979cec332f5b117acf970ddb64e55@sprout-oss.stage.blox.sqprod.co >
Signed-off-by: Wes <wesbillman@users.noreply.github.com >
Co-authored-by: npub1v9a0cp05uazvvx3ph34jcfqr4ts3j7wwcve0tvgh4nuhphdkfe2sg7jw4q <617afc05f4e744c61a21bc6b2c2403aae11979cec332f5b117acf970ddb64e55@sprout-oss.stage.blox.sqprod.co >
Co-authored-by: Pinky <44b8e82baa6e0e254e0208d68f335c283c94e7b78dd1fa10d5a49d3f13dd0435@sprout-oss.stage.blox.sqprod.co >
2026-06-19 16:58:21 -07:00
Tyler
c488d8452c
desktop: move global search into sidebar header and remove vestigial top band ( #1150 )
...
Signed-off-by: Tyler Longwell <tlongwell@block.xyz >
Co-authored-by: Tyler Longwell <tlongwell@block.xyz >
2026-06-19 17:08:41 -04:00
Tyler
7aa6daa496
Hide channel intro actions until history start ( #1151 )
...
Signed-off-by: npub1t2tgm7d8f995uqvmnm8h88sg3wnpp9a5xysjf6dg3tjmgt3ltulqdp8ehr <5a968df9a7494b4e019b9ecf739e088ba61097b4312124e9a88ae5b42e3f5f3e@sprout-oss.stage.blox.sqprod.co >
Co-authored-by: npub1t2tgm7d8f995uqvmnm8h88sg3wnpp9a5xysjf6dg3tjmgt3ltulqdp8ehr <5a968df9a7494b4e019b9ecf739e088ba61097b4312124e9a88ae5b42e3f5f3e@sprout-oss.stage.blox.sqprod.co >
2026-06-19 16:09:39 -04:00
Tyler
0c5dbf3452
fix(desktop): remount timeline scroll node per channel ( #1147 )
...
Signed-off-by: npub1t2tgm7d8f995uqvmnm8h88sg3wnpp9a5xysjf6dg3tjmgt3ltulqdp8ehr <5a968df9a7494b4e019b9ecf739e088ba61097b4312124e9a88ae5b42e3f5f3e@sprout-oss.stage.blox.sqprod.co >
Co-authored-by: npub1t2tgm7d8f995uqvmnm8h88sg3wnpp9a5xysjf6dg3tjmgt3ltulqdp8ehr <5a968df9a7494b4e019b9ecf739e088ba61097b4312124e9a88ae5b42e3f5f3e@sprout-oss.stage.blox.sqprod.co >
2026-06-19 15:31:25 -04:00
Tyler
39626197c0
Render custom emoji in the inbox; DRY up emoji derivation ( #1146 )
...
Signed-off-by: Tyler Longwell <tlongwell@squareup.com >
Co-authored-by: npub1cc3ha7z055mu0rwwu7806t2wt8mj3pvu0uv5mfp2c50dahaqhczshdalg6 <c6237ef84fa537c78dcee78efd2d4e59f728859c7f194da42ac51ededfa0be05@sprout-oss.stage.blox.sqprod.co >
2026-06-19 13:53:29 -04:00