Commit Graph
769 Commits
Author SHA1 Message Date
npub1223z34hd7vtwc6qj4s7flsxkj644nlre2nthu7lrrmkumhu3xddsrx9r6w 40d0916f73 fix(desktop): composer↔timeline parity round 3 — text color, tables, code-block fixups
- Editor wrapper gains text-foreground/90 to match markdown.tsx outer
  default-variant wrapper. Default paragraph text is now the same shade
  in composer and timeline.
- Add table/td/th rules + table adjacency (mt-3.5) mirroring timeline
  tokens. StarterKit has no Table extension so they only fire via raw
  HTML paste — defensive parity. overflow-x-auto requires a block-mode
  container which we can't add without a NodeView; intentionally omitted.
- Drop the rounded-none/bg-transparent/p-0 extras on pre code that
  weren't in CODE_BLOCK_CLASS — parent <pre> reset is enough.
- Extend the p+ul/p+ol companion to cover div+ul/div+ol, matching the
  timeline's [&>div+ul]:mt-1.5 [&>div+ol]:mt-1.5 rule. No-op in the
  composer today (no block-media divs) but token-for-token.
- code-block-lines marker class from CODE_BLOCK_CLASS is intentionally
  omitted: it's a custom CSS class (not a Tailwind utility, so @apply
  won't compile) and its rules only target [data-line] children
  produced by Shiki tokenization, which the composer never has. Adding
  the literal class to the <code> requires a TipTap codeBlock node
  override — flagged for a follow-up.
2026-06-08 17:18:02 -07:00
npub1223z34hd7vtwc6qj4s7flsxkj644nlre2nthu7lrrmkumhu3xddsrx9r6w 589acfcb14 fix(desktop): tighten composer↔timeline parity for pre code and anchor
Address Marge's review on PR #913:

- pre code: add `block min-w-full whitespace-pre font-mono text-foreground`
  so pasted/markdown-rendered code blocks mirror CODE_BLOCK_CLASS in
  markdown.tsx token-for-token. Previously the composer's pre code only
  reset the inline-code styling; it inherited block layout by default,
  which is fine in practice but isn't true parity.
- anchor: add `transition-colors hover:text-primary/80` so hover
  treatment matches the rendered timeline.

Heading sizes, pre shadow (shadow-xs), and pre max-h ([400px]) were
flagged in review but already match markdown.tsx exactly (h1=text-xl
leading-8, h2=text-lg leading-7, h3=text-base leading-6 at line 791-806;
pre uses shadow-xs and max-h-[400px] at line 436). No change needed
there.

Verified: pnpm typecheck, pnpm lint, pnpm build all green.
2026-06-08 17:05:24 -07:00
npub1223z34hd7vtwc6qj4s7flsxkj644nlre2nthu7lrrmkumhu3xddsrx9r6w aabfe1d55d fix(desktop): WYSIWYG parity between chat composer and message timeline
Composer styling now mirrors the rendered Markdown timeline (default
variant in shared/ui/markdown.tsx) so what the user sees while typing
matches what they see after sending — every block element (p, ul, ol,
li, blockquote, pre, hr, h1/h2/h3, inline code, links).

Key changes
- Inter-block spacing driven by an owl rule (` & > * + * `) using the
  same Tailwind tokens as the timeline (mt-3, mt-3.5 for headings /
  blockquote / code-block, mt-4 for hr, mt-1.5 for p+ul/ol). Removes the
  empty-list height jitter: a freshly toggled ul/ol with no items adds
  no margin of its own, so the editor only grows when items appear.
- Editor wrapper bumped from leading-6 to leading-7 and min-height from
  1.5rem to 1.75rem to match the rendered side.
- Per-element styles converted to Tailwind utilities via @apply:
  list-disc/decimal pl-6 space-y-1 marker:text-muted-foreground on
  ul/ol; my-1 [&_p]:inline on li; bordered/italic blockquote with
  child-margin owl rules; rounded code-block with border/bg/shadow;
  inline code with rounded bg-muted; primary underlined links.
- Headings (h1/h2/h3) gain proper sizing — only reachable via paste
  since heading input rules are still disabled in StarterKit, but
  pasted markdown round-trips correctly now.

Behavior change
- Shift+Enter now splits into a real new paragraph (splitBlock) instead
  of inserting a hard break (<br>). Plain Enter still submits. This
  matches user intuition (Slack/iMessage style) and keeps WYSIWYG —
  previously the soft-break composer rendering looked tighter than the
  paragraph spacing the message would receive on send. The hardBreak
  node is still enabled in StarterKit so pasted markdown containing
  explicit hard breaks round-trips.

Verified: pnpm typecheck, pnpm lint, pnpm build all green.
2026-06-08 16:58:00 -07:00
bfafdd46b2 fix(sdk): resolve multi-word display names and add NIP-27 nostr:npub mention extraction (#905)
Signed-off-by: npub1mn7jgtj4w2pd0g0zeuhxsa6jy6p0rewxz4kujt98my82ahfmp72sxjexk7 <dcfd242e557282d7a1e2cf2e6877522682f1e5c6156dc92ca7d90eaedd3b0f95@sprout-oss.stage.blox.sqprod.co>
Co-authored-by: npub1mn7jgtj4w2pd0g0zeuhxsa6jy6p0rewxz4kujt98my82ahfmp72sxjexk7 <dcfd242e557282d7a1e2cf2e6877522682f1e5c6156dc92ca7d90eaedd3b0f95@sprout-oss.stage.blox.sqprod.co>
2026-06-08 19:05:37 -04:00
15f610dcd5 fix(desktop): re-enable mcp_command reconciliation and harden spawn site (#909)
Signed-off-by: Wes <wesbillman@users.noreply.github.com>
Co-authored-by: Brain <21994759fc7a6fa6b965551d35cfd7897d262f2495467f2d78694ddcfa6a5c7e@sprout-oss.stage.blox.sqprod.co>
Co-authored-by: Duncan <dcfd242e557282d7a1e2cf2e6877522682f1e5c6156dc92ca7d90eaedd3b0f95@sprout-oss.stage.blox.sqprod.co>
2026-06-08 13:54:42 -07:00
klopez4212andGitHub da80c7340f Fix desktop DM and sidebar UI polish (#908) 2026-06-08 21:04:20 +01:00
klopez4212andGitHub dd08f988de Animate reaction counts (#904) 2026-06-08 10:47:24 -07:00
10b6674bd7 Mobile custom emoji + settings redesign (#906)
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-08 10:28:32 -07:00
732e23dd5c Renew TTL when unarchiving ephemeral channels (#902)
Signed-off-by: npub1mprnacetjua2xx3p5eddmhxyk6wv929ymm5py8kd2xfxurxahspqqlgyta <d8473ee32b973aa31a21a65adddcc4b69cc2a8a4dee8121ecd51926e0cddbc02@sprout-oss.stage.blox.sqprod.co>
Co-authored-by: npub1mprnacetjua2xx3p5eddmhxyk6wv929ymm5py8kd2xfxurxahspqqlgyta <d8473ee32b973aa31a21a65adddcc4b69cc2a8a4dee8121ecd51926e0cddbc02@sprout-oss.stage.blox.sqprod.co>
2026-06-08 12:43:39 -04:00
WesandGitHub d8278f7588 chore(release): release version 0.3.13 (#903) v0.3.13 2026-06-08 09:36:16 -07:00
klopez4212andGitHub ecca5e77e4 Collapse channel header actions (#901) 2026-06-08 16:18:11 +00:00
4ec7f8125e sprout-agent: make Databricks defaults env-only (#868)
Signed-off-by: Wes <wesbillman@users.noreply.github.com>
Co-authored-by: Pinky <44b8e82baa6e0e254e0208d68f335c283c94e7b78dd1fa10d5a49d3f13dd0435@sprout-oss.stage.blox.sqprod.co>
2026-06-08 09:17:30 -07:00
klopez4212andGitHub b384354e2b Restyle settings sections (#894) 2026-06-08 14:59:26 +00:00
klopez4212andGitHub fdcbb696fe Add emoji reaction particles (#890) 2026-06-08 07:37:47 -07:00
klopez4212andGitHub 32039b9a25 Move settings into the app shell (#893) 2026-06-08 07:23:11 -07:00
klopez4212andGitHub 45f3dfe5ba Tune chat text sizing (#891) 2026-06-08 07:13:22 -07:00
klopez4212andGitHub 29f6ccf9e9 Style channel header navigation (#889) 2026-06-08 07:03:06 -07:00
tlongwell-blockandGitHub 2ebe551741 fix: rename missed known_acp_provider_exact → known_acp_runtime_exact (#900) 2026-06-08 09:29:12 -04:00
renovate[bot]GitHubrenovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
97bdb79ded chore(deps): update radix-ui-primitives monorepo (#898)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-06-07 22:32:11 -04:00
renovate[bot]GitHubrenovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
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 PflegerandGitHub 0a6067ca1b refactor: rename ACP "provider" to "runtime" across the codebase (#783) 2026-06-07 14:40:59 -04:00
klopez4212andGitHub 056b87d3da Unify avatar radius (#892) 2026-06-07 09:41:15 -04:00
WesandGitHub 9bbb85b439 chore(release): release version 0.3.12 (#886) v0.3.12 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
klopez4212andGitHub 0a4783c6f8 Refine sidebar behavior and borders (#869) 2026-06-05 14:00:37 -07:00
Will PflegerandGitHub 5d7c748969 fix(presence): clear on disconnect, fix heartbeat/TTL, drop broken REST path (#877) 2026-06-05 13:28:00 -07:00
Will PflegerandGitHub ef98ae942a fix(cli): publish ephemeral events over WebSocket via sprout-ws-client (#876) 2026-06-05 16:26:30 -04:00
Will PflegerandGitHub 2f50011bdd docs(sprout-acp): add communication discipline rules to base prompt + deprecate --mention flag (#883) 2026-06-05 15:52:05 -04:00
klopez4212andGitHub 5c2476a71e Polish thread summaries and reactions (#881) 2026-06-05 20:50:19 +01:00
Will PflegerandGitHub 7129cd6f23 feat(cli): add emoji export and import subcommands (#882) 2026-06-05 15:33:31 -04:00
klopez4212andGitHub 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 PflegerandGitHub 581c7e95a9 docs: add ecosystem section to CONTRIBUTING.md, fix stale release info (#873) 2026-06-05 12:47:31 -04:00
Will PflegerandGitHub 031152221b fix(relay): wire custom filter fields through HTTP bridge (#864) 2026-06-05 12:36:22 -04:00
Will PflegerandGitHub 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
b295f51c90 fix(agent): gate handoff on provider token usage, not byte estimate (#821)
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-05 11:52:50 -04:00
cdb7bc27e1 docs: add VISION_MESH.md — the compute-commons vision (#867)
Signed-off-by: npub1qyvc0c5kl4gqv2fd97fsk46tu378sqgy35vc83rvgfwne90sel7s0ed67d <011987e296fd5006292d2f930b574be47c7801048d1983c46c425d3c95f0cffd@sprout-oss.stage.blox.sqprod.co>
Co-authored-by: npub1qyvc0c5kl4gqv2fd97fsk46tu378sqgy35vc83rvgfwne90sel7s0ed67d <011987e296fd5006292d2f930b574be47c7801048d1983c46c425d3c95f0cffd@sprout-oss.stage.blox.sqprod.co>
2026-06-05 10:41:13 -04: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-blockandGitHub 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
WesandGitHub baf1f7705f chore(release): release version 0.3.11 (#865) v0.3.11 2026-06-04 17:34:15 -07:00
Will PflegerandGitHub 269b35e8de fix(mobile+desktop): cross-device read state sync + diagnostic logging (#843) 2026-06-04 18:55:40 -04:00
3ddfe5fcc2 feat(mobile): star channels (Slack-style favorites) (#863)
Signed-off-by: Wes <wesbillman@users.noreply.github.com>
Co-authored-by: Brain <21994759fc7a6fa6b965551d35cfd7897d262f2495467f2d78694ddcfa6a5c7e@sprout-oss.stage.blox.sqprod.co>
2026-06-04 15:48:59 -07:00
Will PflegerandGitHub 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 PflegerandGitHub f748f71268 fix(desktop): handle symlinked persona pack directories (#859) 2026-06-04 17:52:36 -04:00
Will PflegerandGitHub 1fe7bf2872 feat: channel muting for desktop and mobile (#838) 2026-06-04 15:53:53 -04:00
tlongwell-blockandGitHub 4ead7de463 feat(acp): default SPROUT_ACP_MEMORY to on (#854)
Signed-off-by: Tyler Longwell <tlongwell@squareup.com>
2026-06-04 15:17:28 -04:00