From 0a539529e667e4c7851997e1cb99dda6312984da Mon Sep 17 00:00:00 2001 From: PostHog Code Date: Mon, 4 May 2026 19:50:34 +0000 Subject: [PATCH] fix: preserve pastedText flag through draft save/restore The `pastedText` chip attribute was being stripped during the EditorContent <-> Tiptap JSON conversion in useDraftSync, so any time the editor was rehydrated from the persisted draft (e.g. on remount or when the editor instance was rebuilt), pasted-text chips lost their flag and rendered as the non-clickable DefaultChip variant. Clicking them no longer reverted the text inline. Pass pastedText through both conversion functions so the chip identity survives a round trip. Generated-By: PostHog Code Task-Id: 95b90a23-b18c-496a-9bf0-eed999ec40aa --- .../src/renderer/features/message-editor/tiptap/useDraftSync.ts | 2 ++ apps/code/src/renderer/features/message-editor/utils/content.ts | 1 + 2 files changed, 3 insertions(+) diff --git a/apps/code/src/renderer/features/message-editor/tiptap/useDraftSync.ts b/apps/code/src/renderer/features/message-editor/tiptap/useDraftSync.ts index eefe4e26a..c9bc8a2ad 100644 --- a/apps/code/src/renderer/features/message-editor/tiptap/useDraftSync.ts +++ b/apps/code/src/renderer/features/message-editor/tiptap/useDraftSync.ts @@ -24,6 +24,7 @@ function tiptapJsonToEditorContent(json: JSONContent): EditorContent { type: node.attrs.type, id: node.attrs.id, label: node.attrs.label, + pastedText: node.attrs.pastedText, }, }); } else if (node.type === "doc" && node.content) { @@ -79,6 +80,7 @@ function editorContentToTiptapJson(content: EditorContent): JSONContent { type: seg.chip.type, id: seg.chip.id, label: seg.chip.label, + pastedText: seg.chip.pastedText ?? false, }, }); } diff --git a/apps/code/src/renderer/features/message-editor/utils/content.ts b/apps/code/src/renderer/features/message-editor/utils/content.ts index 67acea8f5..5207e5547 100644 --- a/apps/code/src/renderer/features/message-editor/utils/content.ts +++ b/apps/code/src/renderer/features/message-editor/utils/content.ts @@ -13,6 +13,7 @@ export interface MentionChip { | "github_pr"; id: string; label: string; + pastedText?: boolean; } export interface FileAttachment {