that has property values makes a graph invalid as property values then
have the wrong types for their property pair. This isn't possible in the
UI because the property type change checks for existing data but the
db-worker-node level does not. This :logseq.property/type update bug was
also possible from plugin/API calls
App doesn't have this issue as property creation ends up going through
update branch. Also improve error message for incorrect tagged nodes.
"does not reference" is too ambiguous and doesn't mention that there's
something wrong with the tags relationship
Some page names are modified during creation for internal reasons e.g.
'upsert page --page=foo#bar' results in the page 'fooHashTag-bar'. Use
uuid from create-page operation for more reliable
identification of created pages
Also finish fix for 29a7a77a6b
from commands/build-action. For example, if --blocks-file has a
nonexistent file or if --blocks or --blocks-file are invalid EDN we
would print full stacktraces which is confusing for user-facing errors.
Update error handling so that it matches
how other unexpected option failures are handled e.g. `logseq graph
import -t edn -g cli-test2 --input=blah`
This functionality is available in the old cli so making sure it's
available in the new one. Also update messaging so it's clear when a new
graph is created
when created from app or cli. Moving db-worker to node changed the
js/process exist check in db-ident ns. Brought back env var for
straightforward fix. I checked other process checks and this was the
only one affected this way. Also remove double testing for graph-parser as
it hasn't provided any benefit and yet another place where we kept
juggling this env var
that only the desktop app sees. Ignoring validation errors than causes
further errors as the cli doesn't see updates and doesn't understand the
validation constraints it faces. For example, updating a block with a
private tag e.g. `logseq upsert block --id=219
--update-tags='["Journal"]'` should fail with an explicit message
instead of pretending to succeed
Crashed with datascript lookup errors like "Highest supported entity id is
2147483647, got 1774299180000". Also add display support for :datetime
properties
so they aren't used incorrectly in the wrong mode. Also update help
so all create/update only options are clearly labeled and remove
unused code for remove options
but displays warning in the app. For example --update-properties='{"p1"
4}, pretends to pass but is invalid for a :default p1 property. Also
fixes other :default property values incorrectly being passed e.g.
boolean. Also improve reporting of http-request failures as not
including response body gave user no idea why certain property values like
keywords failed
about unknown command. Source of bug was that uuid options
are being validated downstream and can throw codes that aren't
recognized later. This is needless complexity so fix by validating
the option at cmdline parse time. Also change this for all
other uuid options to simplify them. Also tweaked cli.main which
swallowed daemon error codes instead of reporting them