RICH_TEXT_V2 backend (#9848)

- Add RICH_TEXT_V2 composite type to backend.
- Add `bodyV2` field to tasks and notes.
- Minimum required frontend changes to avoid errors when creating a note

[Testing
instructions](https://github.com/twentyhq/twenty/pull/9690#issuecomment-2602378218)

---------

Co-authored-by: ad-elias <elias@autodiligence.com>
Co-authored-by: Lucas Bordeau <bordeau.lucas@gmail.com>
This commit is contained in:
eliasylonen
2025-01-28 14:05:06 +01:00
committed by GitHub
parent 6f72f1af33
commit b63ae14318
34 changed files with 517 additions and 102 deletions

160
yarn.lock
View File

@ -3415,6 +3415,55 @@ __metadata:
languageName: node
linkType: hard
"@blocknote/core@npm:^0.17.1":
version: 0.17.1
resolution: "@blocknote/core@npm:0.17.1"
dependencies:
"@emoji-mart/data": "npm:^1.2.1"
"@tiptap/core": "npm:^2.7.1"
"@tiptap/extension-bold": "npm:^2.7.1"
"@tiptap/extension-code": "npm:^2.7.1"
"@tiptap/extension-collaboration": "npm:^2.7.1"
"@tiptap/extension-collaboration-cursor": "npm:^2.7.1"
"@tiptap/extension-dropcursor": "npm:^2.7.1"
"@tiptap/extension-gapcursor": "npm:^2.7.1"
"@tiptap/extension-hard-break": "npm:^2.7.1"
"@tiptap/extension-history": "npm:^2.7.1"
"@tiptap/extension-horizontal-rule": "npm:^2.7.1"
"@tiptap/extension-italic": "npm:^2.7.1"
"@tiptap/extension-link": "npm:^2.7.1"
"@tiptap/extension-paragraph": "npm:^2.7.1"
"@tiptap/extension-strike": "npm:^2.7.1"
"@tiptap/extension-table-cell": "npm:^2.7.1"
"@tiptap/extension-table-header": "npm:^2.7.1"
"@tiptap/extension-table-row": "npm:^2.7.1"
"@tiptap/extension-text": "npm:^2.7.1"
"@tiptap/extension-underline": "npm:^2.7.1"
"@tiptap/pm": "npm:^2.7.1"
emoji-mart: "npm:^5.6.0"
hast-util-from-dom: "npm:^4.2.0"
prosemirror-model: "npm:^1.21.0"
prosemirror-state: "npm:^1.4.3"
prosemirror-tables: "npm:^1.3.7"
prosemirror-transform: "npm:^1.9.0"
prosemirror-view: "npm:^1.33.7"
rehype-format: "npm:^5.0.0"
rehype-parse: "npm:^8.0.4"
rehype-remark: "npm:^9.1.2"
rehype-stringify: "npm:^9.0.3"
remark-gfm: "npm:^3.0.1"
remark-parse: "npm:^10.0.1"
remark-rehype: "npm:^10.1.0"
remark-stringify: "npm:^10.0.2"
unified: "npm:^10.1.2"
uuid: "npm:^8.3.2"
y-prosemirror: "npm:1.2.12"
y-protocols: "npm:^1.0.6"
yjs: "npm:^13.6.15"
checksum: 10c0/0acd1a099832d8e271983924f19e59aa056ead278a8bac8ab7a64d6c7d40a787a27143bdee3d6b6f3dfa26c7723207d98d7124ffef8ff9c4cfdf3034140716ab
languageName: node
linkType: hard
"@blocknote/core@npm:^0.22.0":
version: 0.22.0
resolution: "@blocknote/core@npm:0.22.0"
@ -3483,6 +3532,25 @@ __metadata:
languageName: node
linkType: hard
"@blocknote/react@npm:^0.17.1":
version: 0.17.1
resolution: "@blocknote/react@npm:0.17.1"
dependencies:
"@blocknote/core": "npm:^0.17.1"
"@floating-ui/react": "npm:^0.26.4"
"@tiptap/core": "npm:^2.7.1"
"@tiptap/react": "npm:^2.7.1"
lodash.merge: "npm:^4.6.2"
react: "npm:^18"
react-dom: "npm:^18"
react-icons: "npm:^5.2.1"
peerDependencies:
react: ^18
react-dom: ^18
checksum: 10c0/4914dce225f60905b3dfe59805d7cf1f0c0c6d87295a09204333b913f6449cc90c2947baeb65c1f06106beaea8b50ac5c2785782cb2528f7e913b2877427c3e4
languageName: node
linkType: hard
"@blocknote/react@npm:^0.22.0":
version: 0.22.0
resolution: "@blocknote/react@npm:0.22.0"
@ -3500,6 +3568,27 @@ __metadata:
languageName: node
linkType: hard
"@blocknote/server-util@npm:0.17.1":
version: 0.17.1
resolution: "@blocknote/server-util@npm:0.17.1"
dependencies:
"@blocknote/core": "npm:^0.17.1"
"@blocknote/react": "npm:^0.17.1"
"@tiptap/core": "npm:^2.7.1"
"@tiptap/pm": "npm:^2.7.1"
jsdom: "npm:^21.1.0"
react: "npm:^18"
react-dom: "npm:^18"
y-prosemirror: "npm:1.2.12"
y-protocols: "npm:^1.0.6"
yjs: "npm:^13.6.15"
peerDependencies:
react: ^18
react-dom: ^18
checksum: 10c0/7d400dbf19562f8827bc524f87d673d711fba95a50fb299e0eb638f01c2dc87fd840a132b33dae60c0944637208f18a632f72f7664cb03b8ce81f5be7f8e59f0
languageName: node
linkType: hard
"@blocknote/xl-docx-exporter@npm:^0.22.0":
version: 0.22.0
resolution: "@blocknote/xl-docx-exporter@npm:0.22.0"
@ -15688,6 +15777,16 @@ __metadata:
languageName: node
linkType: hard
"@tiptap/extension-dropcursor@npm:^2.7.1":
version: 2.11.0
resolution: "@tiptap/extension-dropcursor@npm:2.11.0"
peerDependencies:
"@tiptap/core": ^2.7.0
"@tiptap/pm": ^2.7.0
checksum: 10c0/12ace987deec4bd02f52ee7a8f837bd71d560bca1ce670d43c6a715526a336aa5431ed044cba44babd45f7f0ed79002d16f03430ce72899a4a9713679e924717
languageName: node
linkType: hard
"@tiptap/extension-floating-menu@npm:^2.10.4":
version: 2.10.4
resolution: "@tiptap/extension-floating-menu@npm:2.10.4"
@ -32934,6 +33033,45 @@ __metadata:
languageName: node
linkType: hard
"jsdom@npm:^21.1.0":
version: 21.1.2
resolution: "jsdom@npm:21.1.2"
dependencies:
abab: "npm:^2.0.6"
acorn: "npm:^8.8.2"
acorn-globals: "npm:^7.0.0"
cssstyle: "npm:^3.0.0"
data-urls: "npm:^4.0.0"
decimal.js: "npm:^10.4.3"
domexception: "npm:^4.0.0"
escodegen: "npm:^2.0.0"
form-data: "npm:^4.0.0"
html-encoding-sniffer: "npm:^3.0.0"
http-proxy-agent: "npm:^5.0.0"
https-proxy-agent: "npm:^5.0.1"
is-potential-custom-element-name: "npm:^1.0.1"
nwsapi: "npm:^2.2.4"
parse5: "npm:^7.1.2"
rrweb-cssom: "npm:^0.6.0"
saxes: "npm:^6.0.0"
symbol-tree: "npm:^3.2.4"
tough-cookie: "npm:^4.1.2"
w3c-xmlserializer: "npm:^4.0.0"
webidl-conversions: "npm:^7.0.0"
whatwg-encoding: "npm:^2.0.0"
whatwg-mimetype: "npm:^3.0.0"
whatwg-url: "npm:^12.0.1"
ws: "npm:^8.13.0"
xml-name-validator: "npm:^4.0.0"
peerDependencies:
canvas: ^2.5.0
peerDependenciesMeta:
canvas:
optional: true
checksum: 10c0/905012680891fa0c92b8c18acfa35fc0b3e4b15f778ee3494aec1aca3274875160d2be35917d666b8eacd0b3121f483bd95fbe35e14790a004b805b1cf01818a
languageName: node
linkType: hard
"jsdom@npm:~22.1.0":
version: 22.1.0
resolution: "jsdom@npm:22.1.0"
@ -40128,7 +40266,7 @@ __metadata:
languageName: node
linkType: hard
"prosemirror-tables@npm:^1.6.1":
"prosemirror-tables@npm:^1.3.7, prosemirror-tables@npm:^1.6.1":
version: 1.6.2
resolution: "prosemirror-tables@npm:1.6.2"
dependencies:
@ -40164,7 +40302,7 @@ __metadata:
languageName: node
linkType: hard
"prosemirror-transform@npm:^1.10.2":
"prosemirror-transform@npm:^1.10.2, prosemirror-transform@npm:^1.9.0":
version: 1.10.2
resolution: "prosemirror-transform@npm:1.10.2"
dependencies:
@ -40649,7 +40787,7 @@ __metadata:
languageName: node
linkType: hard
"react-dom@npm:^18.2.0":
"react-dom@npm:^18, react-dom@npm:^18.2.0":
version: 18.3.1
resolution: "react-dom@npm:18.3.1"
dependencies:
@ -45818,6 +45956,7 @@ __metadata:
"@babel/preset-typescript": "npm:^7.24.6"
"@blocknote/mantine": "npm:^0.22.0"
"@blocknote/react": "npm:^0.22.0"
"@blocknote/server-util": "npm:0.17.1"
"@codesandbox/sandpack-react": "npm:^2.13.5"
"@crxjs/vite-plugin": "npm:^1.0.14"
"@dagrejs/dagre": "npm:^1.1.2"
@ -48799,6 +48938,21 @@ __metadata:
languageName: node
linkType: hard
"y-prosemirror@npm:1.2.12":
version: 1.2.12
resolution: "y-prosemirror@npm:1.2.12"
dependencies:
lib0: "npm:^0.2.42"
peerDependencies:
prosemirror-model: ^1.7.1
prosemirror-state: ^1.2.3
prosemirror-view: ^1.9.10
y-protocols: ^1.0.1
yjs: ^13.5.38
checksum: 10c0/c460aa9104c71806112a17b52449221343095c774bc929a3bcfaa6d752ce9af1a5a8359c974625c70de8bf48e10b2aa8702f12ca2027f85c6097d1621969beeb
languageName: node
linkType: hard
"y-prosemirror@npm:1.2.13":
version: 1.2.13
resolution: "y-prosemirror@npm:1.2.13"