Rich text editing — TipTap, markdown + GFM canonical (v0.3.26)#29
Merged
Conversation
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>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Shared
RichTextEditorcomponent on TipTap v3 with the official@tiptap/markdownpackage (supersedes the communitytiptap-markdownoriginally planned — the first-party package now exists and is version-locked to the suite). Markdown in viacontentType: 'markdown', markdown out viaeditor.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:
RichTextFieldadapter 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.remark-gfmso tables/task lists/strikethrough finally render.Behavior notes
required(hidden inputs can't carry it); server behavior unchanged.Verification
~~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.🤖 Generated with Claude Code