Commit Graph

288 Commits

Author SHA1 Message Date
ivan-danilov
7c4111b248 Added prettify-url? option to QuickCapture (#12409)
Co-authored-by: Tienson Qin <tiensonqin@gmail.com>
2026-05-12 00:16:03 +08:00
IderAghbal
ba3ff5e5a5 feat: add support for avif and cr2 images (#11997) 2026-05-11 23:57:04 +08:00
Tienson Qin
1f9c017998 refactor: graph view V2 (#12604)
* feat(graph): rebuild global graph view with Pixi

Summary:

- Replace /graph route with a new Pixi-based global graph implementation in ClojureScript.

- Build graph data from db-worker only (no UI DB writeback) and default to tags+objects with a toggle for all pages.

- Add fast scene rendering for large graphs with indexed hit-testing, zoom/pan, node dragging, and click/shift+click node actions.

- Introduce dynamic label management (zoom hysteresis, viewport culling, overlap control, hover-emphasis) and fix hook lifecycle cleanup issues.

- Refresh graph UI styling to full-container layout, dot-first settings control, and Logseq button usage.

- Add/expand tests for global graph modes, node actions, and Pixi label/visibility logic.

- Update graph-related dependencies/lockfile as part of the new implementation.

* enhance(graph): improve drag exploration and label visibility

- Dragging a node now pulls connected nodes with depth-based weights for easier structure exploration.

- Labels are rendered only for currently visible node dots; hover no longer reveals hidden-node titles.

- Hovered node title remains promoted in foreground while respecting visibility constraints.

- Add logic/test coverage for connected drag weights and updated label text behavior.

* enhance(graph): use d3 force layout

Summary:
- Move Graph V2 node layout into graph pixi logic.
- Use d3-force link, charge, center, collision, and y forces instead of the hand-written ring/spiral layout.
- Add coverage that linked graph nodes settle closer than an unlinked island.

Dependency:
- Verified d3-force is already latest at 3.0.0.

Tests:
- bb dev:test -v frontend.extensions.graph-pixi-logic-test
- bb dev:test -v frontend.common.graph-view-v2-test
- pnpm install --frozen-lockfile --lockfile-only

* fix: graph view interactions

* enhance: speed up large graph view

* enhance: speed up tags graph

* enhance: speed up tags layout

* enhance: bound tags force layout

* enhance: speed up graph opening

* fix: keep graph objects visible when zoomed out

* fix: resize graph with sidebars

* enhance: select graph nodes

* fix: refine graph selection controls

* support icons

* fix: sharpen graph node icons

* enhance(graph): update graph v2 settings

* fix: re-render graph when theme changes

* enhance(graph): remove legacy graph view

* fix: typo

* fix: improve graph view

* test: cover graph view improvements

* enhance: improve graph view

* test: cover graph time travel behavior

* enhance: refine graph time travel

* test: cover graph layout controls

* enhance: add graph layout controls

* test: cover graph highlight controls

* fix: refine graph highlight controls

* test: cover edge label alignment

* fix: align graph edge labels

* test: keep graph lines visible on highlight

* fix: keep graph lines visible on highlight

* fix: show graph lines by default

* test: filter graph lines on highlight

* fix: filter graph lines on highlight

* test: keep graph depth incremental

* fix: update graph depth incrementally

* test: cover graph label link occlusion

* fix: occlude graph links behind labels

* test: cover graph edge visibility defaults

* fix: smooth graph edges on highlight

* test: cover graph arrow toggle

* fix: toggle graph arrows

* test: cover reciprocal graph edge offsets

* fix: separate reciprocal graph edges

* test: cover duplicate graph edge runs

* fix: dedupe graph edge render runs

* test: cover graph tag clusters

* enhance: cluster graph tags layout

* test: cover graph tag cluster colors

* fix: color graph tag clusters by title

* test: cover subdued graph node colors

* fix: mute graph node colors

* feat: grid layout

* add more options

* enhance(graph): drill into tags on zoom

* map-like navigation

* mod+click to preview node

* edge enhancements

* more tweaks

* fix: block preview

* enhance(graph): speed up large graph layout

* fix: improve graph mode switching ux

* fix: speed up graph view switching

* fix: optimize large all-pages graph render

* fix: speed up graph data build

* fix: collapse graph tag settings on mode switch

* enhance: refine graph panel width

* fix: improve graph zoom performance

* fix: satisfy graph lint

* fix: open graph nodes by uuid

---------

Co-authored-by: rcmerci <rcmerci@gmail.com>
2026-05-10 23:26:32 +08:00
Tienson Qin
a256c65cbc fix: handle mirror file errors 2026-05-07 18:24:43 +08:00
Tienson Qin
fae97c8003 Merge branch 'master' into feat/markdown-mirror 2026-05-07 14:07:23 +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
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
Tienson Qin
619be47fe2 add missing thread api tests for db core 2026-05-05 15:30:41 +08:00
rcmerci
f5b122ddd5 enhance(cli): add --enable-sync to 'graph create' 2026-05-04 21:13:13 +08:00
rcmerci
137dd7fefd enhance: unify build-version 2026-05-04 12:31:54 +08:00
Tienson Qin
3f78f3a3d2 chore: remove warning on path join with empty dir 2026-05-04 00:02:59 +08:00
Tienson Qin
c2a1d98aaf Merge branch 'master' into feat/cliable 2026-04-30 12:52:03 +08:00
Tienson Qin
e0076fcffc chore: remove ENABLE-FILE-SYNC-PRODUCTION 2026-04-29 17:14:18 +08:00
Tienson Qin
69c4d36a61 fix: :block/name shouldn't be updated for custom date formatter
fixes https://github.com/logseq/db-test/issues/830
2026-04-29 16:44:22 +08:00
rcmerci
eca0ab1a36 Merge remote-tracking branch 'origin/master' into feat/cliable 2026-04-28 18:17:17 +08:00
megayu
79c25837cb Migrate from yarn to pnpm (#12529)
* migrate yarn to pnpm

* chore: update pnpm version to 10.33.0 across all package.json files

* chore: update .npmrc and package.json for improved dependency management

* chore: unify Clojure, Node, and Java version in workflow files

* fix: enable shamefully-hoist for now and add electron, keytar to onlyBuiltDependencies

* feat: add cider/piggieback dependency and update nREPL middleware configuration to silence warnings

* ensure pnpm setup prior to node setup

* fix: update logseq/bb-tasks git SHA

* feat: add pnpm configuration for onlyBuiltDependencies in package.json

* feat: add onlyBuiltDependencies configuration for better-sqlite3 in pnpm settings

* chore: update pnpm lockfile

* fix: resolve merge conflicts

* fix: remove invisible characters from markdown headers

* fix: update .npmrc comments for clarity on lockfile usage

* Revert "feat: add cider/piggieback dependency and update nREPL middleware configuration to silence warnings"

This reverts commit 70a111936f.

* fix: remove invisible characters from various README files and add .editorconfig

* fix: clarify lockfile resolution process in SKILL.md

---------

Co-authored-by: Tienson Qin <tiensonqin@gmail.com>
2026-04-24 23:40:25 +08:00
Tienson Qin
e048996880 Merge branch 'master' into feat/cliable 2026-04-22 21:07:00 +08:00
rcmerci
4b13d67a88 Merge remote-tracking branch 'origin/master' into feat/cliable 2026-04-18 10:25:32 +08:00
Mega Yu
d6bc0b75ec Merge branch 'master' into enhance/i18n 2026-04-17 20:26:15 +08:00
megayu
76285de44b refactor: toolchain upgrade (#12517)
* chore(deps): upgrade Clojure version to 1.12.4 across multiple dependency files

* chore: bump shadow-cljs to 3.3.6

* chore: bump org.clojure/clojurescript to 1.12.134

* chore(deps): upgrade Clojure version to 1.12.4 in workflow files

* chore(deps): upgrade Java version to 21 in workflow files

* chore(deps): upgrade Node.js version to 24 in workflow files

* chore(deps): upgrade Node.js version to 24 in Dockerfile

* feat(updater): migrate electron-forge to electron-builder

* fix wrong android app version

* fix workflow

* feat(dependency-upgrade): add max-update-interval option for dependency audits

* chore(deps): upgrade electron-builder and electron-updater

* fix: update manual verification instructions for Electron shim cache

* chore: update shadow-cljs version to 3.4.4 across all dependencies

* chore: upgrade electron version to 41.2.1

* chore: update metosin/malli dependency to latest

* chore: upgrade cider-nrepl version to 0.59.0 in dependencies

* chore: upgrade clj-kondo version to 2026.04.15 and fix warning

* chore: move Electron windows build configuration from yml to ci

* chore: update Electron signing configuration to extend from base config

* fix: replace icon file for NSIS compatibility

* chore: resolve metosin/malli version conflicts

* chore: upgrade jdk to 21 in e2e workflow

---------

Co-authored-by: Tienson Qin <tiensonqin@gmail.com>
2026-04-17 19:40:01 +08:00
Mega Yu
5eda6a8ab6 Merge master into enhance/i18n 2026-04-14 16:42:19 +08:00
Mega Yu
da07a518d5 feat(date): add new date format "yyyy-MM-dd EEE" for journal titles 2026-04-10 18:42:10 +08:00
Mega Yu
de1a7a9c6e enhance i18n 2026-04-09 16:22:42 +08:00
rcmerci
40d546a5f7 Merge remote-tracking branch 'origin/master' into feat/cliable 2026-04-04 21:33:53 +08:00
Gabriel Horner
a1b171a20e chore: bump nbb-logseq to feat-db-v34
This bumps to recent version of sci which should allow for upgrading
to malli 0.20+
2026-04-02 13:14:25 -04:00
Tienson Qin
2f3b53a28a Merge branch 'master' into feat/cliable 2026-03-31 23:36:48 +08:00
megayu
d6403b7746 dependencies upgrade (#12460) 2026-03-23 21:32:28 +08:00
Tienson Qin
174cdfd865 feat: recycle 2026-03-18 06:11:04 +08:00
rcmerci
5db3a3086c 061-graph-dir-space-preserve-canonical.md 2026-03-17 16:45:36 +08:00
rcmerci
97dd3cef04 fix lint 2026-03-15 17:06:21 +08:00
rcmerci
ae93a633ad 060-cli-graph-list-legacy-graph-dir-rename-command.md 2026-03-14 23:15:32 +08:00
rcmerci
75be7be8df Merge remote-tracking branch 'origin/master' into feat/cliable 2026-03-13 16:32:49 +08:00
rcmerci
4b428094e1 chore: remove unused LOGIN-URL 2026-03-12 23:09:06 +08:00
Gabriel Horner
2e8d7c6303 fix: bump nbb-logseq to include datascript fix 2026-03-12 10:21:54 -04:00
rcmerci
605c86ecd1 056-graph-name-dir-encoding-alignment.md 2026-03-12 15:12:34 +08:00
Gabriel Horner
83b7cc8e3e fix: resolve-data-dir - caught by test
Also fix lint and regression on noisy db-worker-node-test
2026-03-12 15:12:34 +08:00
Gabriel Horner
a081d01c6d enhance: allow graphs dir to change with $LOGSEQ_GRAPHS_DIR
Affects electron and cli thanks to previous commit.
Requested at least twice by #db-feedback posts:
https://discord.com/channels/725182569297215569/1421133499477524490
and https://discord.com/channels/725182569297215569/1353859592634892400/1353859592634892400
2026-03-12 15:12:34 +08:00
Gabriel Horner
7032e6ba37 refactor: centralize default graphs dir spread across cli and electron
Having different definitions doesn't allow for configurability
and can lead to bugs. Also addressed sqlite-cli having one-off definition
2026-03-12 15:12:34 +08:00
Gabriel Horner
6d2be5a87e chore: bump to latest nbb-logseq
bump to match latest datascript changes in this branch
2026-03-12 15:12:34 +08:00
Gabriel Horner
b45a3a8b80 fix: common lint 2026-03-12 15:12:34 +08:00
rcmerci
674e80887e 055-logseq-cli-login-logout.md 2026-03-12 15:12:34 +08:00
Gabriel Horner
dfa80b084e fix: common lint and outdated lockfile 2026-03-12 15:12:33 +08:00
rcmerci
a4b8f2aeff 040-hide-db-prefix-in-user-visible-graph-names.md 2026-03-12 15:12:33 +08:00
Tienson Qin
84122a6171 fix: ensure worker state synced before asking for user rsa keys 2026-02-11 17:22:34 +08:00
Tienson Qin
41a020a17e fix: lint 2026-01-26 20:17:41 +08:00
Tienson Qin
c7ca6d4b09 fix: merge error 2026-01-26 20:12:28 +08:00
Tienson Qin
143a548f04 fix: more lint error 2026-01-26 20:00:31 +08:00
Tienson Qin
94c6f698e4 fix: lint 2026-01-26 19:39:43 +08:00
Tienson Qin
729ca7fcbf Merge branch 'master' into feat/worker-sync 2026-01-26 18:52:12 +08:00