Commit Graph

17608 Commits

Author SHA1 Message Date
Tienson Qin
b5eeb82689 fix: update markdown mirror 2026-05-06 16:08:52 +08:00
Tienson Qin
cd31a39fef feat: add markdown mirror
Add markdown mirror generation for DB graphs, including page and journal paths, regeneration, debounced write handling, and settings UI.

Serialize page and block property values into mirrored Markdown by resolving property-value entities to their display content.

Persist mirror files through the node worker platform and make browser worker mirror storage fail fast as unsupported.

Fix Electron userAppCfgs writes to avoid returning unserializable Electron state over IPC.

Add ADR and targeted tests for mirror generation, worker wiring, platform storage, and graph path handling.
2026-05-06 16:08:52 +08:00
rcmerci
7a731c6044 enhance(cli): render block/link in show 2026-05-06 15:29:01 +08:00
PlunderStruck
3b7bc2e5d8 dev: remove developer command cycle 2026-05-06 08:15:04 +08:00
Tienson Qin
20c7930727 fix: clear sync inflight on reconnect
Summary:
- Clear pending inflight tx ids when a db-sync websocket closes or is detected stale closed.
- Cover websocket close and stale-loop cleanup so reconnect can flush pending local txs again.

Tests:
- bb dev:test -v frontend.worker.sync.restart-test/ws-close-clears-inflight-before-reconnect-test
- bb dev:test -v frontend.worker.sync.restart-test/stale-loop-marks-non-open-ws-closed-test
- bb dev:test -v frontend.worker.sync.restart-test
2026-05-05 17:50:39 +08:00
Tienson Qin
a544e7f407 fix: guard focused root block indent/outdent and move ops 2026-05-05 16:56:19 +08:00
Will Wu
79f55b978a fix: prevent blocks from being outdented past zoom root in focused view
When viewing a page in zoom/focus mode, pressing Shift+Tab could outdent
blocks past the zoom root boundary, causing them to disappear from the
focused view. This adds a guard in both single-block (indent-outdent) and
multi-block (on-tab) code paths to check for the zoom boundary.

Fixes #12582
2026-05-05 16:56:19 +08:00
Tienson Qin
619be47fe2 add missing thread api tests for db core 2026-05-05 15:30:41 +08:00
hoellen
797635e349 fix: scope RSA key pair cache by server URL (#12586) 2026-05-05 14:58:16 +08:00
Tienson Qin
6439791230 fix: no unlinked references 2026-05-05 13:44:10 +08:00
Tienson Qin
13779a4047 fix: don't update local tx to 0 except for two cases
1. creating a remote graph
2. uploading a local graph
2026-05-05 13:35:45 +08:00
rcmerci
ca08579d47 enhance(cli): increase timeout for 'sync upload' 2026-05-04 22:43:49 +08:00
rcmerci
ebb0732f45 dev: remove ns logseq.cli.integration-test 2026-05-04 21:54:47 +08:00
rcmerci
0d9fa816c0 fix test 2026-05-04 21:46:39 +08:00
rcmerci
f5b122ddd5 enhance(cli): add --enable-sync to 'graph create' 2026-05-04 21:13:13 +08:00
rcmerci
7488b92407 fix: switch graph if db-worker-node server unreachable 2026-05-04 14:07:03 +08:00
rcmerci
137dd7fefd enhance: unify build-version 2026-05-04 12:31:54 +08:00
rcmerci
2f0a4f37e5 enhance(db-worker-node): restart server on version mismatch 2026-05-04 10:36:20 +08:00
Victor239
8b20877f7f fix(electron): repair custom URI scheme links
The npm `open` package (v8.4.2) is CommonJS with `module.exports = open;`
and no `.default` property, so importing it as `["open" :default open-external]`
left `open-external` undefined. Every custom-scheme click (freetube://, tg://,
etc.) reached `open-default-app!`, showed the confirmation dialog, and then
threw `TypeError: ...default is not a function` from inside (default-open url),
which Electron logged as an uncaughtException with no user-visible feedback.

Switch to `:as open-external` so the symbol binds to module.exports itself
(the open function). The neighboring node-fetch import is left as `:default`
because node-fetch v2.7.0 explicitly sets `exports.default = exports` for
ESM-interop, so it actually has a default export.

Regression from d6403b7746 (#12460), which replaced the prior working
`(defonce open (js/require "open"))` with the shadow-cljs ESM-style import.
2026-05-03 23:48:57 +08:00
Tienson Qin
3be77b6bfb remove outdated tests 2026-05-03 23:46:55 +08:00
Tienson Qin
c326dbf4e3 fix: lint 2026-05-03 23:24:52 +08:00
Tienson Qin
843dfc78d4 fix: support flat client-ops sqlite export path 2026-05-03 23:23:25 +08:00
Tienson Qin
e8de3cc104 fix: sqlite import 2026-05-03 23:16:37 +08:00
Tienson Qin
c647326d86 fix: remove sqlite file header format check 2026-05-03 22:58:10 +08:00
Tienson Qin
ac102e70fe fix: correct db-worker ui request response args 2026-05-03 22:22:45 +08:00
Tienson Qin
c6ac84cd28 fix: can't export db on browser 2026-05-03 21:24:24 +08:00
Tienson Qin
a8a7fdf512 Restored fix 0ca9fe5e64 and added regression test. All 5 client-op tests pass. The test documents that gc-kvs-table! crashes on client-ops db (empty kvs, no schema at addr 0), which is why gc-sqlite-dbs! must exclude client-ops db.
Result: {"status":"keep","metric":0}
2026-05-03 20:28:13 +08:00
Tienson Qin
29f0cb1310 Reverted fix 0ca9fe5e64 and reproduced GC crash on client-ops db. gc-kvs-table! crashes with 'Expected first argument to be a string' because client-ops kvs table is empty (no Datascript schema at addr 0).
Result: {"status":"keep","metric":0}
2026-05-03 20:27:33 +08:00
Tienson Qin
d619745d30 fix: no need to gc client-ops db 2026-05-03 20:18:02 +08:00
Tienson Qin
d8fd169899 fix: duplicated fields in table view
related to https://github.com/logseq/db-test/issues/837
2026-05-03 20:18:02 +08:00
rcmerci
1274db05c4 fix lint 2026-05-03 20:13:42 +08:00
rcmerci
17ae997013 enhance(db-worker): remove direct-pass in thread-api calling 2026-05-03 20:01:16 +08:00
rcmerci
7b68c57056 enhance(cli): add options in export cmd 2026-05-03 20:01:16 +08:00
Tienson Qin
6bfb7963d5 fix: recover stale sync resume paths 2026-05-03 15:28:10 +08:00
Tienson Qin
70042a46df fix: restart stale sync websocket 2026-05-03 15:08:15 +08:00
Tienson Qin
7c3986bcbe test: add asset upload regression tests 2026-05-03 14:51:40 +08:00
Tienson Qin
6f5b000217 fix: failed to upload assets 2026-05-03 13:34:44 +08:00
Tienson Qin
627cb619e1 fix: sqlite db backup on desktop 2026-05-03 12:04:22 +08:00
Tienson Qin
e470dfd5f0 fix: remove legacy properties 2026-05-03 11:19:05 +08:00
rcmerci
1d027cba3a fix(cli): cli block-ref rendering 2026-05-01 22:43:50 +08:00
charlie
dfc689d607 enhance(electron): ipc for js object 2026-05-01 18:16:21 +08:00
rcmerci
94c942bf7c enhance(cli): limit list cmds table output to at most 3 lines 2026-05-01 18:12:46 +08:00
charlie
17a092d438 fix(electron): compatible ipc for js object 2026-05-01 17:52:19 +08:00
Tienson Qin
d1ac0836be enhance(ux): add block content conflicts notice 2026-05-01 12:12:55 +08:00
Tienson Qin
46ab697178 fix(property): refine scoped choice actions for tag configs
fixes https://github.com/logseq/db-test/issues/812
2026-05-01 03:16:08 +08:00
Tienson Qin
9cfbaf80dc fix: normalize copy/paste export property data
- prefer memory-backed copied blocks before async clipboard read fallback in paste flow
- normalize clipboard write payload construction for web ClipboardItem
- render exported property keys with property titles instead of db ident suffixes
- render datetime property integer values as journal titles using export date formatter
- add regression tests for paste and export property rendering
2026-05-01 00:15:32 +08:00
Tienson Qin
4bbb53cdf3 fix(db-worker): use template config when startup config missing 2026-04-30 22:50:19 +08:00
Tienson Qin
9e4b8c8246 fix(cli): resolve packaged db-worker runtime path 2026-04-30 19:38:45 +08:00
Tienson Qin
abbc1ad628 Merge pull request #12548 from logseq/feat/desktop-bundle-cli
Feat/desktop bundle cli
2026-04-30 18:09:35 +08:00
Tienson Qin
464c5375ee fix: update local changes 2026-04-30 13:27:21 +08:00