Commit Graph

17649 Commits

Author SHA1 Message Date
Tienson Qin
c19eca0fd6 fix: handle wrong e2ee password on download 2026-05-09 12:18:45 +08:00
Tienson Qin
b71228a7b0 fix: client ops db is not ready when creating remote graph on web 2026-05-09 11:59:58 +08:00
Tienson Qin
8857be2baf fix: can't download graphs on Android 2026-05-09 11:44:44 +08:00
rcmerci
314c68cd9a enhance(cli): warn about outdated installed skill 2026-05-09 10:42:37 +08:00
rcmerci
319d07a2e5 enhance(cli): show --page-hierarchy 2026-05-08 21:36:22 +08:00
rcmerci
9aa73a1976 enhance(cli): show --page library 2026-05-08 20:40:03 +08:00
megayu
cf30893ed8 fix(calc): expand calculator CodeMirror without scrollbars (#12600) 2026-05-08 17:19:33 +08:00
megayu
51f0ce261c Enhance breadcrumb display (#12595)
* feat(breadcrumb): enhance breadcrumb functionality and styling

* feat(breadcrumb): enhance breadcrumb label handling and add tooltips

* feat(breadcrumb): add tooltip for breadcrumb search overflow

* fix lint and test

* feat(search): enhance subtitle handling for native search results

* fix doc

* feat(breadcrumb): add accessibility attributes to tooltip button

* fix: no need to pull refs for block parents

* enhance(breadcrumb): remove ref-resolution layer from parent breadcrumbs

---------

Co-authored-by: Tienson Qin <tiensonqin@gmail.com>
2026-05-08 17:14:13 +08:00
rcmerci
08a479f2c8 feat(cli): add cmd 'sync asset download' 2026-05-08 15:23:36 +08:00
Tienson Qin
c5775df851 fix: large-title rehydrate
Root cause: large-title rehydrate was reusing the remote tx’s
original entity id. When that id was a string tempid,
Datascript had already resolved it during remote apply, so rehydrate
created a new invalid entity with only :block/title.
2026-05-08 11:31:50 +08:00
VictorVow
1423a38062 fix: restore :ref/default-open-blocks-level 0 behavior in DB graphs
Make `:ref/default-open-blocks-level 0` collapse references by default
in the DB version, matching the previous file-graph behavior. The
section fold is scoped to the page-bottom "Linked References" panel
only — the inline "Open block references" popup rendered next to
blocks always shows its references uncollapsed.

1. Collapse the "Linked References" section when the configured level
   is 0, gated on a new `:linked-refs-section?` config flag set only
   by the page-bottom call site in page.cljs. The inline popup at
   block.cljs:3366 passes `{}` and is unaffected.

2. Propagate `:block.temp/has-children?` on the top-level fetched
   block in `get-block-and-children`. The list-view loads linked-
   reference blocks with `:children? false`, so `(:block/_parent ...)`
   is always nil in the client DB and the collapse check in
   `block-default-collapsed?` could never fire. Use a lightweight
   `d/datoms :avet :block/parent` scan that stops at the first match,
   rather than the reverse-ref `(:block/_parent block)` which
   materializes the full child set. Includes a regression test.

3. Fall back to `:block.temp/has-children?` when computing `has-child?`
   in `block-container-inner-aux`. This renders the collapse arrow for
   blocks whose children exist in the worker DB but haven't been
   lazily loaded into the client DB yet (e.g. linked-reference blocks).
   Clicking the arrow calls `expand-block!` which loads them.

The `:ref/default-open-blocks-level 0 → (int? ...)` state.cljs fix
from PR #12228 is already present on this branch.
2026-05-08 11:18:51 +08:00
Tienson Qin
427dbe3f58 feat: export Logseq markdown syntax
Move the Logseq Markdown Mirror syntax/export work out of the two-way sync branch while leaving file-to-DB sync behavior behind.

Details:\n- add docs/logseq-markdown-syntax.md and update ADR 0016 with the one-way mirror syntax contract\n- export mirror files with page id markers, property list items, nested default property values, node page refs, task status markers, and datetime values with time\n- preserve block refs as uuid links where needed while keeping page/node refs readable\n- update focused export and markdown mirror tests

Validation:\n- bb dev:lint-and-test
2026-05-08 10:58:45 +08:00
Tienson Qin
f7ff5301fa fix: should never retract asset remote-metadata 2026-05-07 21:47:34 +08:00
charlie
7018f62bf7 fix(ux): incorrect keyboard navigation for installed themes 2026-05-07 21:24:22 +08:00
charlie
7306cc8916 feat(ui): add open folder action for repository context menu 2026-05-07 20:14:07 +08:00
Tienson Qin
a256c65cbc fix: handle mirror file errors 2026-05-07 18:24:43 +08:00
Tienson Qin
0a4b59f0e0 fix: markdown mirror path collisions 2026-05-07 17:09:27 +08:00
Tienson Qin
2bda15bf56 Merge branch 'master' into feat/markdown-mirror 2026-05-07 15:32:13 +08:00
Charlie
3c2359a79e enhance(plugins): libs improvements (#12588)
* enhance(libs): add Commands proxy and unified command APIs

* enhance(plugin): improve unregistering of simple and palette commands

* enhance(plugin): add unregister functionality for plugin commands

* chore(libs): add logseq.Commands API guide and implementation

* enhance(libs): introduce LSPluginNet for HTTP client functionality

* fix(ipc): ensure proper handling of IPC messages and improve plugin call structure

* enhance(libs): add HTTP methods (GET, HEAD, POST, PUT, PATCH, DELETE) and error handling

* enhance(api): support additional identifier types for opening blocks in sidebar

* Potential fix for pull request finding

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

* Potential fix for pull request finding

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

---------

Co-authored-by: Tienson Qin <tiensonqin@gmail.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
2026-05-07 15:21:48 +08:00
Tienson Qin
cb0c961998 fix: isolate editor async test state
Keep editor async tests pinned to their test graph and restore frontend state so full cljs:run-test order does not leak into persist-db tests.

Issue: https://github.com/logseq/db-test/issues/821
2026-05-07 14:59:03 +08:00
Tienson Qin
fae97c8003 Merge branch 'master' into feat/markdown-mirror 2026-05-07 14:07:23 +08:00
Tienson Qin
7e7d9dd81f fix: flaky tests 2026-05-07 14:06:58 +08:00
charlie
66b1140fc9 feat(markdown): enhance markdown block formatting and handling for quotes, code, and headings 2026-05-07 13:54:51 +08:00
Tienson Qin
46227b05eb fix: queue tab for pending new block
Fixes rapid Enter then Tab applying indentation to the previous editing block while the newly inserted block is still pending.

fixes https://github.com/logseq/db-test/issues/821
2026-05-07 13:23:21 +08:00
rcmerci
a772e6582b fix: render mhchem reaction arrows correctly 2026-05-07 10:48:43 +08:00
rcmerci
5301d39f07 fix(db-worker): compare repo-name failed sometimes because of db-version-prefix 2026-05-06 23:03:11 +08:00
Tienson Qin
575ddecced fix: ci 2026-05-06 22:05:20 +08:00
Tienson Qin
a973c4fb85 fix: speed up large graph search 2026-05-06 21:38:04 +08:00
Tienson Qin
5bc8fafb1b fix: debounce search results 2026-05-06 21:38:04 +08:00
Tienson Qin
e47539398b fix: speed up worker search 2026-05-06 21:38:04 +08:00
rcmerci
a610925bca fix(export): ignore legacy-property 2026-05-06 21:03:23 +08:00
Tienson Qin
8bc8c435ba Merge branch 'master' into feat/markdown-mirror 2026-05-06 20:47:32 +08:00
rcmerci
c6d21e2006 fix(db-worker): protect db-worker server-list writes 2026-05-06 20:37:38 +08:00
Tienson Qin
56494fdb05 add js hints 2026-05-06 19:10:54 +08:00
Tienson Qin
7c339462d0 fix: keep latest title sync conflict
Store only the latest non-empty server :block/title conflict for a block, clearing previous title conflict candidates before inserting the new one.

Add a regression test covering previous title candidates, empty server titles, and the latest non-empty title.
2026-05-06 19:02:39 +08:00
Tienson Qin
aeacf2ad8e fix: shouldn't use catch for promise 2026-05-06 17:42:49 +08:00
Tienson Qin
0980e63711 fix: improve rtc asset sync status
Normalize browser asset paths through the same memory URL flow used by renderer asset IO so graph names with spaces resolve correctly during RTC upload.

Handle async asset read failures in upload as read-asset failures, and surface queued asset uploads plus active asset upload/download counts in the RTC indicator.

Tests cover browser asset path normalization and RTC asset transfer summaries.
2026-05-06 17:40:49 +08:00
Tienson Qin
a111602d7b chore: add debug log for pending txs not push when ws reconnect 2026-05-06 17:00:42 +08:00
Tienson Qin
5b929b1f79 fix: sync markdown mirror graph setting 2026-05-06 16:06:37 +08:00
Tienson Qin
4bde9e0111 fix: enable markdown mirror per graph 2026-05-06 16:06:37 +08:00
copilot-swe-agent[bot]
94f2cbc5f6 fix: delete old mirror path on rename when new path content is unchanged
Agent-Logs-Url: https://github.com/logseq/logseq/sessions/9db79397-9189-4b9b-a75c-ec333a6ca7b5

Co-authored-by: tiensonqin <479169+tiensonqin@users.noreply.github.com>
2026-05-06 16:06:37 +08:00
Tienson Qin
9189755b3a fix: update markdown mirror 2026-05-06 16:06:37 +08:00
Tienson Qin
06dbef8715 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:06:37 +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