Commit Graph

1503 Commits (cba34dbfcf0b9e2531a9a77e65e13fa8ddbb1efa)

Author SHA1 Message Date
Tienson Qin 4d684a5ec9 fix: throw exception if calling db property fns for file graphs 2024-06-13 14:50:20 +08:00
Tienson Qin 0ce2ee42db Revert "refactor: use files instead of sqlite for electron db storage"
This reverts commit c2c5ab80aa.
2024-06-13 13:04:00 +08:00
Tienson Qin ec25550455 Revert "chore: remove unused fn"
This reverts commit 1ec30bbf1a.
2024-06-13 13:04:00 +08:00
Tienson Qin 596089f161 Revert "fix: add missing fs-extra package"
This reverts commit 032cad0318.
2024-06-13 13:04:00 +08:00
Tienson Qin 6d4f3425cd Revert "fix: nbb compatibility for mv to file db for electron"
This reverts commit 4403b5e52a.
2024-06-13 13:04:00 +08:00
Gabriel Horner 03f797fde3 fix: outliner lint and doc formatting 2024-06-12 15:24:04 -04:00
Tienson Qin 1dc72d79f2 fix: separate page/create impl for db and file graphs
Also, move rtc page create impl to its own fn.
2024-06-12 06:39:06 +08:00
Gabriel Horner 1b51d28682 fix: outliner lint 2024-06-11 16:49:14 -04:00
Gabriel Horner 4403b5e52a fix: nbb compatibility for mv to file db for electron
Followup to c2c5ab80aa
2024-06-11 16:44:19 -04:00
Gabriel Horner 0e1ada2ef6 enhance: bb task for creating graphs from EDN file
Converted inferred graph to an EDN file now that this task exists. Also
merge last of tasks.create-graph to relevant ns so that external users
can also create such tasks
2024-06-11 10:09:37 -04:00
Tienson Qin 2d3f152454 fix: simplify page delete and fix rtc issues 2024-06-11 20:23:57 +08:00
Tienson Qin 032cad0318 fix: add missing fs-extra package 2024-06-11 20:00:32 +08:00
Tienson Qin 1ec30bbf1a chore: remove unused fn 2024-06-11 19:58:54 +08:00
Tienson Qin c2c5ab80aa refactor: use files instead of sqlite for electron db storage 2024-06-11 08:30:49 +08:00
Gabriel Horner dbf263ed7c fix: unbound vars caught by lint
also updated property type for previous commit
2024-06-10 17:12:03 -04:00
Gabriel Horner 0ce4e1b65e fix: query table not displaying user property columns
Also fixed rendering property values for all property types
2024-06-10 16:05:33 -04:00
Gabriel Horner 2d1073fa5b fix: remove outdated clauses for property values
This became outedated with to property values as refs
2024-06-10 13:26:21 -04:00
Gabriel Horner 16cfb76c9b fix: update :query/result-transforms to work with db graphs
since they are the future. Leave example disabled by default as it's
not important to have :sort-by-priority enabled by default and working
for both file and db graphs
2024-06-10 12:38:40 -04:00
Gabriel Horner 04b25a9240 chore: add basic tests for sqlite.build
and added a couple db-graph specific for query-dsl. Also
moved fns in pu that should be in db-pu
2024-06-10 11:52:39 -04:00
Tienson Qin 03a0e99b65 enhance: add block-order malli schema 2024-06-09 11:39:00 +08:00
Tienson Qin 0a77ba077f fix: reuse :block/order if exists when inserting blocks from remote 2024-06-09 11:02:26 +08:00
Gabriel Horner 9636fbe7ab fix: remaining query dsl tests for db graphs
Re-enable CI step for testing query-dsl and db graphs
2024-06-07 18:02:32 -04:00
Gabriel Horner 7f3e22c8eb fix: priority filters for db graphs 2024-06-07 17:58:49 -04:00
Tienson Qin 214eefbf67 enhance: drop -page for filter properties 2024-06-08 05:33:41 +08:00
Tienson Qin b2e113d8eb refactor: db based filters
Uses properties :logseq.property.linked-references/included-pages
and :logseq.property.linked-references/excluded-pages to store filters
instead of a map.

Fixes LOG-3074
2024-06-08 05:28:55 +08:00
Gabriel Horner 039da828ac enhance: infer property schema and add new-pages from properties
for sqlite-build graphs. Also fixed numbered page query not working for
db graphs and related tests
2024-06-07 12:10:15 -04:00
Gabriel Horner 516192fa92 fix: db lint 2024-06-06 17:22:02 -04:00
Gabriel Horner 938dd04811 enhance: add :build/tags and :auto-create-ontology?
for tested+generated graphs. :build/tags allows easy generation of
objects as seen in fixed up inferred graph
2024-06-06 17:05:13 -04:00
Tienson Qin 9b1da32028 fix: simplify deleting refed blocks
The new implementation will replace refs of the current deleting block
with the nearby block (if exists).
2024-06-06 19:36:40 +08:00
Tienson Qin 9e5a002cf8 enhance: avoid replacing page refs if there's no special chars 2024-06-06 15:15:01 +08:00
Tienson Qin 8a6b44bb31 fix: :block/content should be string including :number properties 2024-06-06 14:53:26 +08:00
Tienson Qin fb01f99a4d fix: outliner tests 2024-06-06 07:11:09 +08:00
Gabriel Horner 62701e1b6e fix: tests with outdated datom counts
I think caused by recent macros parsing or whiteboard changes
2024-06-05 17:06:16 -04:00
Gabriel Horner 8f6f52d630 fix: sort-by filter for db graphs
Also fixed a dsl-query sorting bug where nil property values where
incorrectly being treated as greater than non-nil values. Also
fixed a bug where blocks with an explicit :block/created-at weren't
being set for sqlite-build
2024-06-05 16:57:51 -04:00
Gabriel Horner 29faedc4d0 fix: db graph tests with children, created-at properties
and journal pages
2024-06-05 14:47:38 -04:00
Gabriel Horner 916fef8336 enhance: generate any outline structure with :build/children
Already useful for testing and will be for more interesting generation
cases
2024-06-05 12:15:12 -04:00
Tienson Qin 592e2a9b26 fix: add tags when not exists 2024-06-05 22:39:55 +08:00
Tienson Qin 44366dced0 fix: removing a heading's hashtags doesn't delete
fixes LOG-3138
2024-06-05 20:01:46 +08:00
Tienson Qin a314e3469a fix: page can alias itself and then fail to load
fixes LOG-3136
2024-06-05 17:18:32 +08:00
Tienson Qin 7beebedbd2 fix: embed block macro is buggy
fixes LOG-3145
2024-06-05 14:27:13 +08:00
Tienson Qin ed97102b38 fix: can't move block up with a :default property
fixes LOG-3140
2024-06-05 14:08:57 +08:00
Gabriel Horner e7f795103d fix: simple task queries and start fixing db dsl-query tests
Tests caught that task query wasn't working. Also disabled
namaspace test and rule for db graphs since they aren't supported
there
2024-06-04 15:53:36 -04:00
Gabriel Horner 05227f475b chore: mv more tests to appropriate dep enabled by :build/journal 2024-06-04 12:02:25 -04:00
Gabriel Horner 14222a546f enhance: make journals easier to generate with :build/journal
Use it in tests that more appropriately belong in db dep.
Also did minor cleanup around page prep for page-uuids
2024-06-04 12:02:25 -04:00
Gabriel Horner 13066001cd fix: storing and querying of :number property values 2024-06-03 17:41:32 -04:00
Gabriel Horner 5ecb3fe3d4 fix: lints 2024-06-03 14:13:55 -04:00
Gabriel Horner df10beb325 enhance: add schema and validation to sqlite.build
Also renamed block-level keys that are specific to the ns to have
a :build namespace. A lot easier to read, maintain and extend later.
Also cleaned up page naming to consistently require :block/original-name
2024-06-03 12:46:53 -04:00
Gabriel Horner a67e2c8c23 chore: use easier way to build db graph test data
in rules tests
2024-06-03 12:46:53 -04:00
Gabriel Horner 2456deb097 enhance: create sqlite.build ns as a better
load-test-files helper for db graphs and deps.
Most of this ns is split off from create-graph.
Migrated pipeline-test to correct outliner dep and
moved previous pipeline-test to correct db dep
2024-06-03 12:46:53 -04:00
Tienson Qin 721a9e14ad fix: arrow color 2024-06-03 19:20:50 +08:00
Tienson Qin e7de721dde fix: broken block ref after deleting source blocks 2024-06-03 15:33:49 +08:00
Tienson Qin bce5a308bb perf: skip db storage when batch applying outliner ops 2024-06-03 14:53:06 +08:00
rcmerci 8a94b856bd enhance(rtc): add debug prn when failed to transact 2024-06-02 21:19:59 +08:00
Gabriel Horner 03167ae19c enhance: extract block content refs for generated graphs
Also update content with ids and create pages as needed
2024-05-31 17:19:25 -04:00
Gabriel Horner ec7839fcce fix: simple queries in db graphs for most property types
Also fix parse-query was being called in multiple places
without a correct default value for :db-graph? option
2024-05-30 15:54:20 -04:00
Gabriel Horner 790d0460a1 fix: remove + disable :block/macros for db graphs
part of LOG-3137
2024-05-30 11:01:37 -04:00
Tienson Qin da3929376a fix: don't extract macros from block content for db graphs 2024-05-30 21:32:45 +08:00
Tienson Qin 9ce7f5d709 fix: eager loading nested blocks for short pages 2024-05-30 20:01:31 +08:00
Tienson Qin 13b19a1b9c perf: render less blocks and improve app start time
1. load only 1 journal when app starts
2. fix can't load more journals
3. pretend all the unloaded pages as long pages to avoid more
rendering
4. don't send <get-block queries if there're already requests
2024-05-30 18:31:19 +08:00
Gabriel Horner 1dd9823fdf fix: remove alias ref to avoid recursive display bug
A page with aliases resulted in linked references recursively showing the
current page
2024-05-29 13:25:32 -04:00
Gabriel Horner a4d8e05e2f fix: esc saves a tag class with a :db/ident
Also refactor to update class tests to use correct helper
2024-05-29 11:09:09 -04:00
Gabriel Horner cc92702a98 chore: remove unused fn when setting prop values 2024-05-29 11:09:09 -04:00
Tienson Qin f4dd06f959 enhance: display tags the same way as other properties 2024-05-29 15:37:23 +08:00
Gabriel Horner effde81161 enhance: all user classes have :db/ident
This is important as a user's ontology (properties + classes) is now describable
with unique identifiers. This will allow for easy sharing and
importing of ontologies between users.
Also <create-class! now exists to create classes consistently. Will
be helpful when we want to provide some validation for classes
2024-05-28 16:52:12 -04:00
charlie 0dead80fe1 enhance(ui): support more props for the shui dialog config 2024-05-28 17:03:45 +08:00
Tienson Qin 02fcc69928 CSS tweaks 2024-05-28 03:02:22 +08:00
Tienson Qin 8de8377d4b fix: disable shortcut property when property dialog is opened 2024-05-27 23:03:24 +08:00
Tienson Qin 21e480ec3e fix: can't delete :checkbox property 2024-05-27 22:56:49 +08:00
Tienson Qin d432bb1f71 enhance: back to edit mode after setting a property
Except if the editing property is :default type
2024-05-27 21:10:00 +08:00
Tienson Qin 6ced3bff8f enhance: property editing support shortcut 2024-05-27 20:08:43 +08:00
Tienson Qin c326730ce5 fix: retract icon property when settign a closed value's icon to nil 2024-05-27 12:30:45 +08:00
Gabriel Horner 77f14ca1f6 fix: don't delete property values while typing
property values were deleted while typing b/c
content ref re-calculation wasn't considering them.
Related to LOG-2819
2024-05-24 18:14:14 -04:00
Gabriel Horner 7c0b154fff fix: disallow property self-refs
Causes wonky linked reference animations and maybe other
bugs. Can repro by creating a property url and then adding the :url
property as a page property to the url page
2024-05-24 14:03:16 -04:00
Gabriel Horner d2ea12fab6 refactor: simplify schema and creation of kv ents 2024-05-24 09:50:22 -04:00
Tienson Qin 8458b6b21b enhance: rename :key/value to :kv/value 2024-05-24 15:21:10 +08:00
Tienson Qin db7c4e2145 refactor: use one attribute :key/value for all kvs 2024-05-24 14:22:09 +08:00
Tienson Qin b2f38f6f0c Revert "chore: rename :db/type to :logseq.db/type"
This reverts commit 32e6433c44.
2024-05-24 14:06:39 +08:00
Tienson Qin 32e6433c44 chore: rename :db/type to :logseq.db/type 2024-05-24 14:02:16 +08:00
Gabriel Horner 32ca012635 enhance: pretty print + colorize query script by default 2024-05-23 14:58:55 -04:00
Gabriel Horner 0fc01b94a3 fix: tests 2024-05-23 09:45:38 -04:00
Gabriel Horner 26cf70f6cf fix: update schema and remove unused :name in :icon key 2024-05-23 09:45:38 -04:00
Tienson Qin c118271fdd refactor: property position support left/right/below
Removed the limitation that only properties with closed values can
have custom positions.
2024-05-23 20:48:04 +08:00
Tienson Qin 1cfc426486 enhance: properties ux
1. add icons to priorities
2. hide task properties so that blocks are not collapsable
3. block positions support end of block
2024-05-23 17:18:23 +08:00
Tienson Qin c862ad0d10 refactor: db/transact! as outliner op
The benefits:
1. all db transactions from the UI thread can be described in outliner
ops now.
2. batch undo/redo
2024-05-23 05:16:51 +08:00
Gabriel Horner 8de74ce654 fix: lint for large var 2024-05-22 17:03:00 -04:00
Gabriel Horner ceb3681cfe fix: nbb scripts updates :block/refs the same as app
nbb was only handling path-refs previously. Can remove hacky
managing of refs in create-graph. Still a TODO to fix schema graph
lazy loading bug. Related to LOG-2819
2024-05-22 16:51:50 -04:00
Gabriel Horner 67ff14038a enhance: add :config option to schema graph
also fix outliner lints
2024-05-22 13:37:40 -04:00
Tienson Qin d298567737 fix: wrong arguments for delete-blocks 2024-05-23 00:35:22 +08:00
Tienson Qin f218732b17 fix: property path-refs
1. :block/refs support to page properties
2. don't add built-in properties to refs
3. don't add current block or parents' other properties to :default blocks
2024-05-22 23:30:00 +08:00
Gabriel Horner 8b12e7f136 fix: property refs not calculating for file graphs
Fixes a bug where clicking a TODO in a file graph resulted in an error.
Bring back file graph implementation accidentally taken out in
d31b8cd5ae.
Also fixes related test
2024-05-22 10:42:44 -04:00
Gabriel Horner 04e71a9a23 Bump datascript for nbb-logseq 2024-05-22 09:37:16 -04:00
Gabriel Horner 50698c190d fix: update db's nbb.edn to match deps.edn
Looks like we forgot to add malli to deps.edn awhile back
2024-05-22 08:53:13 -04:00
Tienson Qin 5b99610212 fix: use trigger-id instead of target
Because target might already be unmounted
2024-05-22 20:49:44 +08:00
Tienson Qin b4bfd5cc9a chore: use clj-fractional-indexing 2024-05-22 15:21:35 +08:00
Tienson Qin f944dd2de9 fix: can't add existing :many property 2024-05-22 07:55:18 +08:00
Gabriel Horner cfe22e4acc fix: lints 2024-05-21 16:14:05 -04:00
Gabriel Horner c9b579ae01 fix: placeholder valid for a :many property 2024-05-21 16:09:40 -04:00
Tienson Qin e49acf8256 feat: add property :object type 2024-05-21 23:30:54 +08:00
Gabriel Horner fd5b90596b chore: remove nonexistent fix-tx 2024-05-21 11:00:11 -04:00
Tienson Qin 67bd6c6da3 fix: build refs for either pages or tagged blocks (objects) 2024-05-21 21:05:02 +08:00
Tienson Qin 8d959a7c8b chore: bump datascript 2024-05-21 20:51:22 +08:00
Tienson Qin db8d0c53df fix: datascript upsert db/ident 2024-05-21 19:29:21 +08:00
Tienson Qin d31b8cd5ae fix: add property named blocks values to :block/refs
related to LOG-2819
2024-05-21 16:35:39 +08:00
charlie 685b78e2a0 fix(ux): invalid action for the block selection context menus 2024-05-21 11:26:59 +08:00
Tienson Qin ee35854498 fix: delete property value block when it's not used by other blocks 2024-05-21 07:49:33 +08:00
Gabriel Horner 33832f7941 fix: property names with invalid idents display an error notification
instead of silently failing in console. E.g. `123` as a property name
2024-05-20 17:21:56 -04:00
Gabriel Horner fa4b47d16b fix: property value names in developer cmd
and in readable-properties fn
2024-05-20 16:20:31 -04:00
Gabriel Horner 92299347da chore: rename class ident to match name
Root is also a better name than base
2024-05-20 15:55:40 -04:00
Gabriel Horner 0cfc90e0ef fix: remove :string property type as :default
does everything it used to do. Also remove component behavior specific to :string
2024-05-20 11:46:10 -04:00
Gabriel Horner c5911a571b fix: loading of classes for script-generated graphs
Lazy loading of refs for classes isn't supported in the UI yet so
no need to self-inflect this. Also can move schema graph from :string
to :default usage now
2024-05-20 10:45:27 -04:00
Gabriel Horner 47ed035d42 tweak schema as properties always have :type 2024-05-20 09:29:05 -04:00
Tienson Qin 3b975d2fad enhance: show properties configuration for classes in the sidebar 2024-05-20 18:11:14 +08:00
Tienson Qin 29de339fa1 enhance: don't show date picker for one value
Also, set hint background color when hovering property value
2024-05-20 15:31:55 +08:00
Tienson Qin e34af3412e enhance: delay creating new property until type specified 2024-05-20 13:07:21 +08:00
Tienson Qin 4a681d7193 fix: lazy load page/block embeds 2024-05-18 08:20:34 +08:00
Tienson Qin 1c88d7cb00 fix: can't convert ref-type to non-ref (checkbox) 2024-05-18 06:39:47 +08:00
Gabriel Horner efab7f403e chore: Remove unnecessary catch and rethrow for notification
Just encode notification in original exception to make conversion
as reusable as possible. Also make properties readable with :original-name
as they are case sensitive
2024-05-17 17:25:53 -04:00
Gabriel Horner a17ed389e8 fix: can't delete a closed value being used
fixes LOG-3102
2024-05-17 15:37:52 -04:00
Gabriel Horner 4907f0eb74 fix: task related commands e.g. /Doing
Was broken by adding property ref value support to batch-set-property
2024-05-17 12:40:09 -04:00
Gabriel Horner 05b96d53fa fix: display notification when trying to delete built-in choice 2024-05-17 11:07:53 -04:00
Tienson Qin a50177096e chore: remove debug 2024-05-17 21:00:57 +08:00
charlie 3e37fb6b4a fix: typo 2024-05-17 11:25:10 +08:00
Tienson Qin db721ee3f6 enhance: clear selection before closing popup 2024-05-17 11:15:15 +08:00
Gabriel Horner 3fdaf0474f fix: can't add a class schema or page property
Removed related unused upsert property code. This became unused with #11311.
Also fixed new page property not moving focus to property value
2024-05-16 17:47:49 -04:00
Gabriel Horner 35e6ad120d chore: rename pdf specific properties to logseq.property.pdf
also remove deleted property ns
2024-05-16 15:27:24 -04:00
Gabriel Horner d37df950fa fix: property rules now work with property ref values
Also remove use of :string properties in tests
2024-05-16 15:05:37 -04:00
Gabriel Horner 43dfdbe0ae fix: convert remaining built-in :string props to :default 2024-05-16 11:22:09 -04:00
rcmerci a12a0d3d30 refactor(rtc): support refactored update-op, update local db 2024-05-16 19:47:49 +08:00
Gabriel Horner 8921767b69 fix: batch-set-property working with property value refs
Fixed batch-setting background-color. With this fix was then able
to migrate order-list-type to use :default. Also cleaned up
outdated assumptions in batch fn
2024-05-15 17:37:57 -04:00
Gabriel Horner e50d3eff21 fix: setting block properties with raw value
With this fix able to convert 2 built-ins to :default. Also cleaned
up set-block-property! which had outdated assumptions
2024-05-15 16:10:02 -04:00
Gabriel Horner 2117245b28 fix: fetching built-in property values
Fixes :number properties like hl-stamp and hl-page which returned
refs instead of actual values. This will also fix it for
future usage of built-in :default props. Also fixed a db test
2024-05-15 12:23:14 -04:00
Gabriel Horner 980c88b60d fix: remove table v2 properties
Finish removal started by 82a1a18762.
Still need names in exporter so they aren't incorrectly imported
into db graphs
2024-05-15 10:25:31 -04:00
Gabriel Horner ad9dc70b9c fix: finish removing table v2 from shui dep
Followup to 82a1a18762.
Copied more useful intro from shui-graph into README
2024-05-15 10:25:31 -04:00
Gabriel Horner a70499bd8c fix: remove schema hack now that it's been fixed 2024-05-15 10:25:31 -04:00
Tienson Qin 244de2187e fix: quit batch tx mode even with errors
Also, throw errors and send notifications for apply-outliner-ops
2024-05-15 22:19:06 +08:00
Tienson Qin a689266931 fix: don't persist :block.temp/fully-loaded? 2024-05-15 20:41:17 +08:00
Tienson Qin 114c0524fa fix: handle situations when datom entity has gone or children exists 2024-05-15 10:34:34 +08:00
Tienson Qin a5a7a781eb fix: keep the last repeated datom (different value) in batch tx 2024-05-15 07:54:31 +08:00
Gabriel Horner c554627041 fix: outliner lints
While fixing large vars, fixed needless circular dependency between
create-property-text-block and set-block-property
2024-05-14 15:11:29 -04:00
Gabriel Horner 0238aff2ba fix: replace uses of :string closed with :default closed
and remove :string from closed possibilities
2024-05-14 10:34:54 -04:00
Gabriel Horner 4a7dab2763 fix: can't add or update closed values 2024-05-14 09:29:00 -04:00
Gabriel Horner 45bb11d28d fix: db tests and :op typo 2024-05-13 17:05:32 -04:00
Gabriel Horner a2a951ddcb fix: switching to another number closed value
The bug was creating a new block each time a switch was made
because existing closed values didn't have a created-from-property
2024-05-13 13:23:02 -04:00
Gabriel Horner e55927086f fix: creating :number and :url closed values from config
Also add schema hack for fully-loaded being persisted. Also
add :default property examples to example properties graph now that it's
possible
2024-05-13 12:33:31 -04:00
Tienson Qin ce4cad2cc7
Refactor/move property handler to outliner dep (#11311)
The end goal is to get rid of `db/transact!` and send outliner ops to
the db worker.

Currently, some property ops are async, set-block-property! will also
need to be async because when setting a non-ref value (e.g. a number
str "2"), we need to query whether a block with the value exists, this
unfortunately, will be an async query, so we're risking turning more
functions to async in the future which makes it hard to reason about
the implementation.
2024-05-13 18:16:21 +08:00
charlie 061700c6b1 enhance(ui): WIP optimization for the shui popup related fundamental components 2024-05-11 15:14:21 +08:00
Gabriel Horner fcf6ebd0e4 fix: page properties for :default, :number and :url
Also fix page property example in properties graph and removed
unused branches in validation
2024-05-10 16:40:42 -04:00
Gabriel Horner 64786bb258 fix: create :number and :url properties from scripts 2024-05-10 15:19:10 -04:00
Tienson Qin 11c902eb1e refactor: make all user-facing property types refs 2024-05-10 18:03:07 +08:00
Tienson Qin 4a9aa50a7d refactor: use :string type only for internal properties 2024-05-10 11:22:28 +08:00