Commit Graph

1818 Commits

Author SHA1 Message Date
Tienson Qin
cf80caebf6 feat: db auto backup on desktop (#12275)
* feat: db auto backup on desktop
* fix: press delete closes right sidebar

fix https://github.com/logseq/db-test/issues/670

* disable git backup for db graphs since it's confusing

Users can still use external Git for version control.

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-12-25 10:40:59 +08:00
Tienson Qin
1ae9e2c496 fix: extends tags query and support eid|title|db-ident
Previously `tags` doesn't return blocks that have children tag(s).

Also, `tags` support both db/ident and block/title to make it easy
to use:
(tags ?b #{144})
(tags ?b #{"Task"})
(tags ?b #{:logseq.class/Task})
2025-12-24 14:37:57 +08:00
Tienson Qin
aea9f09fd1 Simple query performance enhancements (#12262)
* perf: separate scalar from ref property query

* fix: query bindings

* perf: separate default value query from others

* fix: import properties first and then other datoms
2025-12-19 19:37:51 +08:00
Tienson Qin
38e3b99803 fix: lint 2025-12-18 19:49:41 +08:00
Tienson Qin
60f6c76138 perf: linked references with filters 2025-12-18 19:20:25 +08:00
rcmerci
cec20a543c fix(rtc,asset): :logseq.property.asset/remote-metadata shouldn't be ignored when init-download 2025-12-18 13:47:01 +08:00
Tienson Qin
8541b7c79f perf: linked refs without filters 2025-12-17 18:13:04 +08:00
Tienson Qin
954b3b41fb fix: d/entity print 2025-12-17 13:04:24 +08:00
Tienson Qin
33db791ac0 fix: import Zotero pdf blocks (#12260)
fix: support zotero files when importing pdf annotations
2025-12-15 23:28:58 +08:00
Gabriel Horner
068dbf266b fix(dev): add js dev dep to db
so that CLI commands can be run from deps/db.
This is especially useful for developing and debugging deps/db based CLI
commands
2025-12-12 10:28:24 -05:00
Gabriel Horner
ef96a8d031 chore: remove db scripts made redundant by CLI 2025-12-12 10:17:12 -05:00
Gabriel Horner
529be0496c fix: build and export of property values
for a :many property that has additional attributes
e.g. :build/tags
Another possible fix for https://github.com/logseq/db-test/issues/636
2025-12-11 14:46:21 -05:00
Tienson Qin
2b80c5a04d fix: able to make "Quick add" page invalid
fixes https://github.com/logseq/db-test/issues/603
2025-12-11 11:21:14 +08:00
Gabriel Horner
86023329c5 fix: export of property values for :many property
Caught by failing properties test :)
2025-12-10 17:55:59 -05:00
Gabriel Horner
b696a84cac fix: export of property value blocks doesn't
keep its uuid when it's referenced as a property value.
Noticed this with a graph from Tienson where a property value had a
view
2025-12-10 15:46:34 -05:00
Gabriel Horner
1effbdfad7 fix: referenced property value blocks not exported
with their uuid. Possibly affecting
https://github.com/logseq/db-test/issues/636
2025-12-10 15:46:34 -05:00
rcmerci
9f6cef29a1 enhance: add :error/path to malli-schema 2025-12-11 02:44:01 +08:00
Tienson Qin
57a012bcc1 rename external-src-to-external-url
also fixed the issue and external audio not rendered
2025-12-10 15:52:02 +08:00
Gabriel Horner
73f8dfc421 chore: mv db tests to correct project
Also tweak test so that errors aren't printed confusingly when tests
pass
2025-12-09 11:16:39 -05:00
Tienson Qin
f594e2034f fix(rtc): batch store and validate db (#12249)
* fix(rtc): batch store and validate db

* fix: logseq.db/transact! shouldn't distinct tx-data

since move-op include 2 steps:
1. insert-block
2. update-attrs

This results in db invalid after step 1.

* refactor: add transact-with-temp-conn!

* bump nbb-logseq and add tests for ldb/transact* fns

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: rcmerci <rcmerci@gmail.com>
2025-12-09 20:47:37 +08:00
Charlie
ef211a5285 enhance(pdf): assets related improvements (#12244) 2025-12-09 09:19:06 +08:00
Gabriel Horner
a5875420d1 fix: property value blocks with uuid
don't generate their uuids or their tags correctly.
This should've been handled in ad64632c1b.
Related to https://github.com/logseq/db-test/issues/636
2025-12-08 17:41:25 -05:00
Gabriel Horner
1fe486542a fix: some validation errors fail to pretty print
with error 'RangeError: Maximum call stack size exceeded'.
As reported by Danzu for https://github.com/logseq/db-test/issues/636
2025-12-08 14:01:19 -05:00
Tienson Qin
4209fb4cba enhance: add errors 2025-12-08 13:40:12 +08:00
rcmerci
285eb612a1 fix(rtc): fix assets-sync-loop stopped, fix read-asset err behaviour
- ensure rtc-loop stops when assets-sync-loop stopped
- ensure read-file/read-file-raw have same behaviour on web and electron
- handle exceptions between ui-thread <-> worker-thread
- ignore upload-asset if not exist at local
- ignore download-asset if not exist at remote
2025-12-05 20:49:00 +08:00
Gabriel Horner
deaed7d305 fix(cli): validate shouldn't consider some :block.temp/* attributes
Encountered this with a graph in
https://github.com/logseq/db-test/issues/636 and a previous issue
2025-12-04 11:38:27 -05:00
Gabriel Horner
07a0feb856 enhance(cli): Add validate option to export-edn command
Useful for sanity checking exports and dev
2025-12-04 10:30:56 -05:00
Gabriel Horner
8fc56bfaa3 refactor: Update importer to use validate-local-db
Also update validation in DB scripts:
* replace alternative validate-db impl with standard CLI one
* Add validation to import script
* Choose to decouple other DB scripts from validate-db as it may go away
  later
2025-12-04 10:30:56 -05:00
Gabriel Horner
c8f99d1ff3 refactor: make CLI and testing validation consistent
Both have needs that are more for local graphs
2025-12-04 10:30:56 -05:00
Gabriel Horner
3219b827e6 fix: import of existing pages preserves properties and tags
with :build-existing-tx? option. Makes behavior consistent with blocks.
This also fixes built-in pages that weren't re-importing correctly
w/ modified properties
2025-12-03 15:30:54 -05:00
Gabriel Horner
ef68e19b32 fix page export when blocks reference each other
Fixes https://github.com/logseq/db-test/issues/571
2025-12-02 19:22:54 -05:00
Gabriel Horner
134dc0f2a8 enhance: validate export EDN for most export types
and error explicitly if they can't import. This is much better
for the user so they aren't finding out later that EDN is invalid
on import. Added both to the export menu and to export EDN commands that
aren't graph-wide. Related to
https://github.com/logseq/db-test/issues/549
2025-12-02 13:50:09 -05:00
Gabriel Horner
22dbcfb2d6 fix: EDN export of class page
Should fix case described in
https://github.com/logseq/db-test/issues/549.
Still need to QA property page export
2025-11-26 12:24:03 -05:00
rcmerci
bdf5d66f80 enhance(rtc,e2ee): make it compatible with unencrypted graphs 2025-11-24 11:40:18 +08:00
rcmerci
d472efc039 enhance(rtc,e2ee): remove unused deprecated code 2025-11-24 11:40:18 +08:00
rcmerci
50d93539c9 feat(rtc): encrypt data for full-graph-upload 2025-11-24 11:40:18 +08:00
rcmerci
52ab12b9a3 feat(rtc,e2ee,wip): add ns frontend.worker.rtc.encrypt 2025-11-24 11:40:18 +08:00
Gabriel Horner
36c361af86 enhance(cli): Add option to validate cmd to relax
closed validation of entity maps. Users probably won't care about this
as much
2025-11-21 10:11:46 -05:00
Tienson Qin
c4c4634bee fix: remove entity db/id from tx-data 2025-11-21 00:33:34 +08:00
Gabriel Horner
7bb8655d71 chore: remove unused errors-by-type 2025-11-19 23:31:04 -05:00
Gabriel Horner
79e75060d6 enhance(cli): Add validate command for local graph(s)
Improves :errors of invalid errors to be more user friendly.
Also enable closed-value validation optionally as it is useful
to have higher data quality for non RTC graphs
2025-11-19 17:51:45 -05:00
Gabriel Horner
5489e7572f enhance(cli): export-edn prints unexpected errors
especially when an invalid export-type is given
2025-11-18 09:51:20 -05:00
Tienson Qin
8bd6acfb2a fix: relax closed values validation
because we can't ensure this when merging updates from server
2025-11-18 14:13:48 +08:00
Tienson Qin
7c9cfadad6 fix: more migration issues for old graphs 2025-11-14 18:00:08 +08:00
Tienson Qin
0a54e807bb enhance(api): plugin class with ident like plugin.class.id/class-name (#12200)
* enhance(api): plugin class with ident like `plugin.class.id/class-name`
* enhance(apis): remove support for namespace separator in create tag
* enhance(apis): get tag with ident or uuid
* fix(lint): remove unused vars
* fix(apis): sanitize user property name
* enhance(apis): get tag ex info
* chore: bump libs version
---------
Co-authored-by: charlie <xyhp915@qq.com>
2025-11-14 10:48:08 +08:00
Tienson Qin
82a7ec13ec perf: get-recent-updated-pages 2025-11-14 01:13:29 +08:00
Tienson Qin
b17cc5e9da fix: tests 2025-11-13 23:32:55 +08:00
Tienson Qin
a626cec342 enhance(perf): reduce initial datoms that need to be loaded 2025-11-13 21:27:22 +08:00
rcmerci
326d6dbd54 fix lint 2025-11-12 19:30:37 +08:00
rcmerci
7b6d6c4672 perf: add unsafe->Entity, faster 'Pages'
On Chrome, Mac M4Max
40000 pages graph, sorted by updated-at, from 1000+ms -> 200-300ms
2025-11-12 19:29:16 +08:00