Skip to content

Rich text editing — TipTap, markdown + GFM canonical (v0.3.26)#29

Merged
SylonZero merged 2 commits into
masterfrom
feat/rich-text-editor
Jul 16, 2026
Merged

Rich text editing — TipTap, markdown + GFM canonical (v0.3.26)#29
SylonZero merged 2 commits into
masterfrom
feat/rich-text-editor

Conversation

@SylonZero

Copy link
Copy Markdown
Owner

What

Shared RichTextEditor component on TipTap v3 with the official @tiptap/markdown package (supersedes the community tiptap-markdown originally planned — the first-party package now exists and is version-locked to the suite). Markdown in via contentType: 'markdown', markdown out via editor.getMarkdown()the DB format stays plain markdown, so MCP-authored and UI-authored content remain one dialect. GFM: tables (TableKit), task lists (@tiptap/extension-list), strikethrough (StarterKit). Minimal toolbar (marks, headings, lists, quote/code, table insert, undo/redo).

Rollout per plan:

  • Asset description + notes cards edit with the rich editor; description display unified onto markdown rendering.
  • Work-item descriptions (edit + create): a RichTextField adapter mirrors markdown into a hidden input so the existing FormData auto-save flow works unchanged. Mirrored items render description as read-only markdown instead of a disabled field.
  • Plan create/edit sheets get the editor; task descriptions intentionally stay plain textareas.
  • Read-only renderers (asset cards, spec card, work-item spec section) gain remark-gfm so tables/task lists/strikethrough finally render.

Behavior notes

  • Plan-create description loses browser-level required (hidden inputs can't carry it); server behavior unchanged.
  • Editor blur still triggers the work-item auto-save exactly like the old textarea.

Verification

  • Drove the app (sqlite): saved a notes doc containing a GFM table, ~~strikethrough~~, and task checkboxes through the real save path — all render as proper HTML in the read-only views (<table>, <del>, checkboxes), which they didn't before. All pages 200 with TipTap in the bundle.
  • Not machine-verified: the in-browser typing/toolbar experience (needs real clicks) — exercised manually.
  • 167/167 vitest; tsc clean apart from pre-existing errors.

🤖 Generated with Claude Code

Sai Prakash and others added 2 commits July 16, 2026 00:20
Shared RichTextEditor on TipTap v3 with the official @tiptap/markdown
package: markdown in (contentType: 'markdown'), markdown out
(editor.getMarkdown()), so the DB format stays plain markdown and
MCP-authored and UI-authored content remain one dialect. GFM via
@tiptap/extension-table (TableKit) and @tiptap/extension-list
(TaskList/TaskItem); strikethrough from StarterKit. Minimal toolbar.

- Asset description + notes cards now edit with the rich editor;
  description display unified onto markdown rendering.
- RichTextField adapter mirrors markdown into a hidden input so the
  existing FormData flows (work-item auto-save form, work-item create,
  plan create/edit sheets) work unchanged. Mirrored work items render
  description read-only instead of a disabled field.
- Task descriptions intentionally stay plain textareas.
- Read-only paths gain remark-gfm (asset cards, spec card, work-item
  spec section) so tables, task lists, and strikethrough render.
- Note: plan-create description loses browser-level `required` (hidden
  inputs can't carry it); server behavior unchanged.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@SylonZero
SylonZero merged commit a426b82 into master Jul 16, 2026
1 check passed
@SylonZero
SylonZero deleted the feat/rich-text-editor branch July 16, 2026 04:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant