diff --git a/packages/richtext-lexical/src/features/relationship/client/nodes/RelationshipNode.tsx b/packages/richtext-lexical/src/features/relationship/client/nodes/RelationshipNode.tsx index 505c0a5d953..70d534682d1 100644 --- a/packages/richtext-lexical/src/features/relationship/client/nodes/RelationshipNode.tsx +++ b/packages/richtext-lexical/src/features/relationship/client/nodes/RelationshipNode.tsx @@ -22,10 +22,13 @@ const RelationshipComponent = React.lazy(() => ) function $relationshipElementToNode(domNode: HTMLDivElement): DOMConversionOutput | null { - const id = domNode.getAttribute('data-lexical-relationship-id') + let id: null | number | string = domNode.getAttribute('data-lexical-relationship-id') const relationTo = domNode.getAttribute('data-lexical-relationship-relationTo') if (id != null && relationTo != null) { + if (String(Number(id)) === id) { + id = Number(id) + } const node = $createRelationshipNode({ relationTo, value: id, diff --git a/packages/richtext-lexical/src/features/relationship/server/nodes/RelationshipNode.tsx b/packages/richtext-lexical/src/features/relationship/server/nodes/RelationshipNode.tsx index 24079acc357..d728a3b1f89 100644 --- a/packages/richtext-lexical/src/features/relationship/server/nodes/RelationshipNode.tsx +++ b/packages/richtext-lexical/src/features/relationship/server/nodes/RelationshipNode.tsx @@ -17,10 +17,13 @@ import { import type { RelationshipData, SerializedRelationshipNode } from '../schema.js' function $relationshipElementToServerNode(domNode: HTMLDivElement): DOMConversionOutput | null { - const id = domNode.getAttribute('data-lexical-relationship-id') + let id: null | number | string = domNode.getAttribute('data-lexical-relationship-id') const relationTo = domNode.getAttribute('data-lexical-relationship-relationTo') if (id != null && relationTo != null) { + if (String(Number(id)) === id) { + id = Number(id) + } const node = $createServerRelationshipNode({ relationTo, value: id, diff --git a/packages/richtext-lexical/src/features/upload/server/nodes/conversions.ts b/packages/richtext-lexical/src/features/upload/server/nodes/conversions.ts index f0cb83e04ff..aac383f5790 100644 --- a/packages/richtext-lexical/src/features/upload/server/nodes/conversions.ts +++ b/packages/richtext-lexical/src/features/upload/server/nodes/conversions.ts @@ -40,10 +40,13 @@ export function $convertUploadElement( domNode.hasAttribute('data-lexical-upload-relation-to') && domNode.hasAttribute('data-lexical-upload-id') ) { - const id = domNode.getAttribute('data-lexical-upload-id') + let id: null | number | string = domNode.getAttribute('data-lexical-upload-id') const relationTo = domNode.getAttribute('data-lexical-upload-relation-to') if (id != null && relationTo != null) { + if (String(Number(id)) === id) { + id = Number(id) + } const node = $createNode({ data: { fields: {},