Sacha Al Himdani
797e3da52f
Strip empty ProseMirror text nodes from third-party list documents
...
The third-party list template emitted a text node for every optional
field even when the value was empty, producing `{"text":""}` nodes that
violate the ProseMirror schema and make Tiptap refuse to render the
document with "Empty text nodes are not allowed".
Add a `default` template helper and substitute "—" for empty values in
third_party_list.json.tmpl, and add a migration that rewrites existing
document_versions.content to drop any empty text nodes (per-row safe,
preserves marks/attrs/ordering, leaves updated_at untouched).
Signed-off-by: Sacha Al Himdani <sacha@getprobo.com >
2026-05-21 17:30:33 +02:00
..
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-04-02 14:37:29 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-18 19:19:04 +01:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-04-13 18:10:14 +02:00
2026-03-21 19:16:19 +01:00
2026-03-31 13:31:30 +02:00
2026-04-02 14:37:29 +02:00
2026-04-02 14:37:29 +02:00
2026-03-31 13:31:30 +02:00
2026-04-02 14:37:29 +02:00
2026-04-02 14:37:29 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-03-31 13:31:30 +02:00
2026-04-02 14:37:29 +02:00
2026-04-13 18:10:14 +02:00
2026-04-02 14:37:29 +02:00
2026-04-02 14:49:13 +02:00
2026-04-02 14:49:13 +02:00
2026-04-13 18:10:14 +02:00
2026-04-02 10:59:25 +02:00
2026-04-03 08:33:37 +02:00
2026-04-03 17:51:31 +02:00
2026-04-19 12:00:53 +02:00
2026-04-19 12:00:53 +02:00
2026-04-13 18:10:14 +02:00
2026-04-09 18:18:30 +02:00
2026-04-09 18:18:30 +02:00
2026-04-09 18:18:30 +02:00
2026-04-09 13:06:06 +02:00
2026-04-13 18:10:14 +02:00
2026-04-16 00:01:13 +02:00
2026-04-13 14:50:41 +04:00
2026-04-19 12:00:53 +02:00
2026-04-13 14:52:21 +04:00
2026-04-15 10:21:00 +04:00
2026-04-19 12:00:53 +02:00
2026-04-19 12:00:53 +02:00
2026-04-15 14:39:27 +02:00
2026-04-20 15:07:30 +02:00
2026-04-19 12:00:53 +02:00
2026-04-22 17:17:30 +02:00
2026-04-22 17:17:29 +02:00
2026-04-23 20:50:25 +02:00
2026-04-21 11:06:36 +02:00
2026-04-20 14:44:00 +02:00
2026-04-20 15:37:39 +02:00
2026-04-21 19:36:17 +02:00
2026-04-21 11:40:21 +04:00
2026-04-21 14:18:32 +04:00
2026-05-19 21:44:27 +02:00
2026-04-22 15:22:03 +04:00
2026-04-28 13:12:58 +02:00
2026-04-24 12:18:12 +04:00
2026-04-24 16:05:11 +02:00
2026-04-24 12:18:12 +04:00
2026-04-24 17:13:11 +04:00
2026-04-24 17:13:12 +04:00
2026-04-24 17:13:12 +04:00
2026-04-24 19:01:27 +04:00
2026-04-24 19:01:27 +04:00
2026-04-26 22:58:21 +02:00
2026-04-28 18:07:46 +02:00
2026-04-29 16:24:29 +02:00
2026-04-30 11:46:10 +04:00
2026-04-30 11:46:10 +04:00
2026-04-30 11:46:11 +04:00
2026-04-30 11:46:11 +04:00
2026-05-04 14:13:42 +02:00
2026-05-01 16:39:32 +04:00
2026-05-05 11:06:53 +04:00
2026-05-05 17:28:56 +04:00
2026-05-07 15:13:41 +04:00
2026-05-07 15:13:42 +04:00
2026-05-07 12:59:55 +02:00
2026-05-07 15:13:43 +04:00
2026-05-07 15:13:48 +04:00
2026-05-07 15:13:48 +04:00
2026-05-07 18:01:24 +04:00
2026-05-11 14:52:53 +04:00
2026-05-11 14:52:53 +04:00
2026-05-11 14:52:53 +04:00
2026-05-11 14:52:53 +04:00
2026-05-17 17:22:50 +02:00
2026-05-11 14:52:53 +04:00
2026-05-11 14:52:55 +04:00
2026-05-11 14:52:55 +04:00
2026-05-11 14:52:55 +04:00
2026-05-11 20:04:54 +04:00
2026-05-12 12:28:18 +04:00
2026-05-12 16:43:38 +04:00
2026-05-12 16:43:38 +04:00
2026-05-13 12:49:13 +04:00
2026-05-13 14:41:23 +04:00
2026-05-13 21:21:39 +02:00
2026-05-18 19:05:12 +04:00
2026-05-18 19:05:07 +04:00
2026-05-18 19:05:08 +04:00
2026-05-21 14:49:19 +02:00
2026-05-20 12:46:54 +02:00
2026-05-21 17:30:33 +02:00