File import: move-top-parent-pages-to-library moves classes and properties under Library (schema violation)
Ya se ha fusionado un pull request relacionado.
- #13627 de @tiensonqin — fusionado
Evaluación
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Aptitud para principiantes
- 76/100
Línea de trabajo
Empieza en deps/graph-parser/src/logseq/graph_parser/exporter.cljs, en move-top-parent-pages-to-library, y sigue cómo se selecciona top-parent-pages. Comprueba cómo se identifican las entidades de clase y de propiedad y, después, usa el escenario --validate del issue para verificar el comportamiento. El trabajo estará terminado cuando se omitan las entidades de etiquetas y propiedades y la validación no informe de claves :block/parent ni :block/order no permitidas.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Where: deps/graph-parser/src/logseq/graph_parser/exporter.cljs, move-top-parent-pages-to-library (master and 2.0.1).
What happens: Every page that is a namespace root (has children via :block/parent and no parent itself) is given :block/parent = Library. When the same page is also used as a tag (tags:: [[Immobilie]] elsewhere) and convert-all-tags? is on, the entity is a class — and the schema forbids :block/parent/:block/order on class-page and user-property. --validate then reports e.g.
{:db/ident :user.class/Immobilie, :block/parent 188, :block/order "ciqJ" …}
:errors {:block/parent {"class-page" ["disallowed key"]}, :block/order {"class-page" ["disallowed key"]}}
In 2.0.1 this makes ldb/transact! fail with "DB write failed with invalid data" at the very end of the import. In our graph 58 classes/properties were affected (Immobilie, TeleTracking, Kochrezept, Home Assistant, …).
Expected: Skip entities tagged :logseq.class/Tag or :logseq.class/Property in top-parent-pages.
Workaround we used: post-import script retracting :block/parent/:block/order from those entities → validate-local-db! reports 0 errors.
Environment
- macOS 26.6 (Apple Silicon), Logseq Stable 2.0.1 (
b09316a, 2026-07-13), Logseq Nightly 20260919, master22a29b30vianbb-logseq1.2.173-feat-db-v34 - Graph: 4,440 Markdown files (3,457 pages, 982 journals), 754 assets, German (umlauts), heavy use of namespaces,
tags::, Readwise and Zotero exports
Found while migrating a 4,400-file graph; happy to provide more details or test a fix.
- Lenguaje dominante
- Sin datos de lenguaje
- Estrellas
- 29
- Forks
- 2
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Preparar el entorno
Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de logseq/db-test
-
Page titles with `$$`, `$&`, `` $` `` or `$'` change when block refs are resolvedPosiblemente ocupada @RaphaelFakhri la tomó hace 8 días. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
-
`#Asset` label is not displayed on asset nodes when `Hide from Node` is disabledPosiblemente ocupada @tiensonqin la tomó hace 10 días. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
-
Potential Dataloss: Deleting an entry from the property page's node table has no confirmation dialogPosiblemente ocupada @tiensonqin la tomó hace 34 días. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
Todos los issues de logseq/db-test
Issues similares
-
Add: TLC (India) LogoAbiertocheck:passed logos:add
Dificultad 1/5 Menos de una hora Aptitud para principiantes 72/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 85/100
FalkorDB/FalkorDB#3597 · 1 comentario ·
Los mantenedores suelen responder en 2 días
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
-
db/transwarp
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
t8y2/dbx#13876 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
backend bug good first issue
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
PoCInnovation/Distribox#255 ·
Los mantenedores suelen responder en 1 día