logseq / logseq/db-test

Imported OG templates with properties can't define new properties / inconsistent with DB template model

Open
#1,184 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
No language data
Stars
28
Forks
2
PR merge metrics
No merged PRs in 30d

Description

Search first
  • I searched and no similar issues were found
What Happened?

When importing an OG graph into the DB version, templates that had properties on the template block itself are imported as blocks with the template tag, keeping those properties directly on the template block. The template is usable and its properties are correctly applied to new blocks when the template is used.

However, the DB version handles template properties differently: a template block only offers a static "Apply template to tags" property where you reference a tag, and that tag's properties are then applied to new blocks when the template is used.

As a result, imported templates behave differently from natively created ones, and there is no way to define new properties on imported templates (no way to set them up for the "Apply template to tags" mechanism). This is inconsistent and effectively broken.

Suggested fix: on import, create a new tag from the imported template's properties and set it as the "Apply template to tags" value on the imported template block.

Reproduce the Bug
  1. In the OG (file-based) version, create a template with properties on the template block (e.g. template:: my-template plus some properties).
  2. Import this graph into the DB version (tested with 2.0.1-alpha+nightly.20260908, Linux Desktop).
  3. Inspect the imported template: it is a block with the template tag and the original properties directly on it. Using the template still works and applies the properties to new blocks.
  4. Compare with a natively created template in the DB version: it has no editable properties, only the static "Apply template to tags" property.
  5. Try to define new properties on the imported template — there is no way to do so.
Expected Behavior

Imported templates should be converted to the DB template model: the template's properties should be turned into a (newly generated) tag, and that tag should be referenced via the template's "Apply template to tags" property, so imported templates behave like natively created ones and their properties can be managed consistently.

Screenshots

No response

Files

No response

Browser, Desktop or Mobile Platform Information

Version: 2.0.1-alpha+nightly.20260908
Platform: Linux Desktop

Additional Context

No response

Are you willing to submit a PR? If you know how to fix the bug.
  • I'm willing to submit a PR (Thank you!)

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

No files or tests are named. Start by tracing the OG-to-DB import path and comparing imported templates with natively created DB templates. Done means imported template properties are represented by a newly generated tag referenced through the "Apply template to tags" property, with consistent behavior and coverage for the reproduction steps.

Written by the indexing model from the issue text.

Assessment

Domain
database
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
55/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.