mirror of
https://github.com/logseq/logseq.git
synced 2026-05-17 09:22:21 +00:00
Adds four asset-scoped properties so Logseq can keep the provenance of an
image alongside the file:
- :logseq.property.asset/source-url — Wikimedia descriptionurl, Wikipedia
page, or any user-supplied source link. Queryable; this is the join
key the asset-picker uses to dedup web-image hits against the local
library.
- :logseq.property.asset/source-name — short label ("Wikimedia Commons",
"Wikipedia", etc.). Queryable.
- :logseq.property.asset/license — license slug (CC-BY-SA-3.0 etc.).
Queryable.
- :logseq.property.asset/attribution — full credit string for embed/
export contexts. Not queryable.
Schema bumped 65.26 → 65.29 with three migrations:
- 65.27: register the four new properties.
- 65.28: an in-development DB hit a build that registered source-url
with :type :url (a ref-typed schema), which made datascript treat
plain URL strings as tempid lookups and blocked every asset save with
"Tempids used only as value in transaction". Coerces the entity's
:logseq.property/type back to :string.
- 65.29: 65.28 corrected the type but left :db/valueType :db.type/ref on
the same entity. In Logseq's datascript fork the :db/valueType on a
:db/ident-keyed entity IS the live schema, so the attribute stayed
ref-typed and string URLs continued to fail. Retracts :db/valueType
to release the lock; mirrors logseq.outliner.property's existing
ref→non-ref pattern.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>