Commit Graph

209 Commits

Author SHA1 Message Date
Gabriel Horner
6c07d8838e fix: invalid keywords can be created by user
In https://github.com/logseq/db-test/issues/278, user has graph that
contains invalid edn keyword caused by name part of keyword starting
with a number e.g. :user.property/2ndsomething. Added thorough tests
based on reference doc for both nbb and cljs versions of buggy fn. For
cljs version, allowed a few more special characters in as they've
all been confirmed to be valid edn
2025-05-16 14:02:17 -04:00
Gabriel Horner
a0ee41ca86 fix: db graph cljs tests need repeatable idents
Also remove unused ldb fn
2025-05-16 11:44:16 -04:00
Gabriel Horner
28675be54b enhance(dev): cljs tests can run with or without repeatable idents 2025-05-16 11:29:22 -04:00
Gabriel Horner
bd115eef0f enhance: add import option to allow existing pages to keep properties 2025-05-15 17:25:18 -04:00
Gabriel Horner
15a83f2026 fix: import of existing pages and their related nodes
Related nodes of imported existing pages weren't being updated to
associate with existing page
2025-05-13 11:42:13 -04:00
Gabriel Horner
9b1a565dd0 Chore: Remove slides (#11854)
* chore: remove slide feature and reveal mentions

Will remove reveal js dep in later commit

* chore: remove built-in property that was only for slides
2025-05-12 13:32:24 -04:00
Gabriel Horner
4f65a00c68 refactor: rename :logseq.task properties to :logseq.property
These are the only built-in properties that don't start with
:logseq.property
2025-05-06 12:29:09 +08:00
Gabriel Horner
d83bf1eb53 refactor: rename repeat properties' namespaces and names
to reflect they are used outside of tasks
2025-05-02 17:17:49 +08:00
Gabriel Horner
d3b7289b20 refactor: split logseq.db.common.sqlite into 2 namespaces
The majority of this ns is focused on graph initilization and
entity lazy loading so split this out to new ns,
logseq.db.common.initial-data. Originally
initialization was tied to sqlite util fns but it has not made
sense for awhile to think of them as sqlite util fns
2025-04-28 12:55:16 -04:00
Gabriel Horner
691b8866ef refactor: mv another common ns out of db dir
Allows for more improved separate linting
2025-04-28 11:27:49 -04:00
Gabriel Horner
d3ec345441 chore: update restore test to test against something
asserting nothing isn't a useful test
2025-04-09 13:22:50 -04:00
Tienson Qin
4169f20a28 Merge branch 'feat/db' into perf/app-start 2025-04-07 20:06:45 +08:00
Gabriel Horner
99331545c4 enhance: give partial exports reliable page sort order
Could be useful as partial exports are used more often
2025-04-04 15:12:11 -04:00
Gabriel Horner
ffca9c862f enhance: add export+import of selected nodes
Fixes https://github.com/logseq/db-test/issues/232
2025-04-04 14:48:09 -04:00
Gabriel Horner
a1bd567906 fix: build+export of closed :many property values 2025-04-01 13:42:42 -04:00
Gabriel Horner
ad64632c1b enhance: export tags for property values 2025-04-01 11:47:33 -04:00
Gabriel Horner
29ac5a9c18 enhance: export+import property value properties
For https://github.com/logseq/db-test/issues/242. Also added timestamp
support for proprety values
2025-03-31 18:24:11 -04:00
Gabriel Horner
1e29c9ee15 enhance: add sqlite.build support for properties on property values
Needed for export in https://github.com/logseq/db-test/issues/242
2025-03-31 17:04:45 -04:00
Tienson Qin
5923f24f56 fix: lint and test 2025-03-31 22:38:34 +08:00
Gabriel Horner
6209bd0ae2 fix: block/collapsed? not built for properties 2025-03-28 11:16:06 -04:00
Gabriel Horner
dd4b68a140 fix: export for overlapping property+class
overlapping entity with blocks was exporting duplicate blocks
2025-03-28 10:39:20 -04:00
Gabriel Horner
872b130eec fix: export of class + property aliases 2025-03-27 17:27:47 -04:00
Gabriel Horner
9dfb6713ca enhance: export+import supports properties
that double/overlap as classes
2025-03-27 17:02:32 -04:00
Gabriel Horner
144ad2623c enhance: export+import of class + property page blocks 2025-03-27 09:13:14 -04:00
Gabriel Horner
0233adfebd fix: remove invalid page-less blocks
Also improve validation error message so it's clear what next steps are
2025-03-26 11:30:54 -04:00
Gabriel Horner
11f765638e fix: invalid graphs b/c of blocks with missing title 2025-03-26 11:10:04 -04:00
Gabriel Horner
f3f73e53a0 enhance: graph export+import supports :block/alias 2025-03-20 15:01:50 -04:00
Gabriel Horner
f99a89f9b3 enhance: add :logseq.kv data to graph export
Addresses
https://github.com/logseq/logseq/pull/11784#pullrequestreview-2697690952.
Also improves :set option and removes outdated code in a test
2025-03-19 15:41:12 -04:00
Gabriel Horner
103af910d0 refactor: provide default for build/prorties-ref-types
Reasonable default reduces building config which could change
2025-03-18 09:54:16 -04:00
Gabriel Horner
a24a765a1e fix: content ref extraction breaks any export+import 2025-03-17 11:59:16 -04:00
Gabriel Horner
ce8a3eae68 fix: export+import fails on :logseq.property/default-value
This property needs additional config since it has an unusual internal
property type
2025-03-17 11:59:16 -04:00
Gabriel Horner
d7721981af enhance: add :exclude-namespaces export option
Useful for graphs with existing ontologies to avoid noisy
and needless exporting. Also update related scripts and noted
that create script has always been able to also update
2025-03-17 11:59:16 -04:00
Gabriel Horner
c85ce5b17c fix: page property values that are uuids weren't exported
causes more complex schema graph to fail to export
2025-03-17 11:59:16 -04:00
Gabriel Horner
9232d10ac2 Provide consistent sort for graph's pages-and-blocks
Also allow full timestamp test now that all timestamp issues are fixed
2025-03-17 11:58:30 -04:00
Gabriel Horner
3dd196d8f8 fix duplicate pages in imported graph for page property values
Don't use :build/page for graph exports as it leads to needless
complexity when reconciling referenced nodes
2025-03-17 11:58:30 -04:00
Gabriel Horner
25efc164c6 add graph export support for property + class refs
Also fixed class + property refs forgetting keep-uuid?.
Also moved test helpers
2025-03-17 11:58:30 -04:00
Gabriel Horner
fae1e8a6cb graph export optionally exports timestamps 2025-03-17 11:58:30 -04:00
Gabriel Horner
5d1e532122 fix: graph exports with pvalue classes or properties failed 2025-03-17 11:58:30 -04:00
Gabriel Horner
c67745c4fa refactor: sqlite.build was adding noisy
uuid indices for every block. uuid indices are only needed
for referenced uuids
2025-03-17 11:58:30 -04:00
Gabriel Horner
29eff25887 fix: property closed values were not importing correctly from graph export
They need their uuids to import for blocks
2025-03-17 11:58:30 -04:00
Gabriel Horner
e0a7418ad2 Add pvalue uuid support to graph export 2025-03-17 11:58:30 -04:00
Gabriel Horner
a7b586b2b0 add export+import support for files 2025-03-17 11:58:30 -04:00
Gabriel Horner
e896641f6e add block/link support for graphs and
confirm views and favorites work
2025-03-17 11:58:30 -04:00
Gabriel Horner
27f81c3325 enhance: basic graph export of pages and blocks
Still doing redundant properties and classes. Content refs partially
work and uuid refs are todo
2025-03-17 11:58:30 -04:00
Gabriel Horner
7e5d8ed686 fix: export+import of property values
that are internal entities. Don't reference internal ents
with uuids as it is not graph agnostic and causes failure on import
2025-03-03 17:45:05 -05:00
Gabriel Horner
16930aa23c enhance: add :block/link support for export+import edn 2025-03-03 16:20:42 -05:00
Gabriel Horner
0852dec984 chore: Add optional verbose test runner for db deps
Also adjust one test which made verbose mode unreadable by printing a
large data structure where an assertion should go
2025-03-03 09:55:35 -05:00
Gabriel Horner
1d855d012f enhance: add EDN export for any view 2025-02-26 16:43:23 -05:00
Gabriel Horner
841fbdcdf6 enhance: export+import handles nested :build/page
property values
2025-02-24 14:48:38 -05:00
Gabriel Horner
05037c456e Merge branch 'feat/db' into enhance/reference-view 2025-02-21 15:33:40 -05:00