Files
buzz/desktop
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
..
2026-03-09 19:32:56 -07:00
2026-03-09 13:02:11 -07:00
2026-03-09 13:02:11 -07:00
2026-03-09 13:02:11 -07:00

Sprout

Desktop chat shell with:

  • Tauri + React + TypeScript + Vite
  • Tailwind CSS
  • shadcn/ui-ready shared components
  • Biome (lint/format/check)
  • Feature-driven frontend structure

Scripts

  • pnpm dev - run the web frontend
  • pnpm tauri dev - run the desktop app
  • pnpm build - typecheck and build frontend
  • pnpm typecheck - TypeScript checks
  • pnpm lint - Biome lint
  • pnpm format - Biome format (write)
  • pnpm check - Biome check

Structure

  • src/shared - reusable app-wide code (ui, lib, styles)
  • src/features - feature modules (vertical slices)
  • src/app - top-level app composition