* fix(lint): make worker/frontend separation lint work on Windows
* chore: update cljs:electron-watch script to include test flag
* chore: remove dead root dependencies
* chore(deps): converge better-sqlite3 to 12.6.2 across deps packages
* chore(deps): converge fs-extra to ^11.3.0 across package roots
* fix(test): correct parameters for create-if-not-exists function
* chore(deps): converge cljs-bean to 1.9.0 across deps roots
* fix(tests): escape regex in cljs:run-test script
* chore: pin root packageManager to yarn 1.22.22
* chore(build): replace del with fs.rmSync in gulp clean
* chore(build): replace npm-run-all with npm-run-all2
* chore(security): upgrade dompurify and unify sanitizer path
* chore(observability): upgrade web sentry to 8.x
* chore: remove unused react-draggable dependencies
* chore(ci): fix windows release artifact collection
* fix(build): create static dir before gulp clean scans it
* fix: update nbb-logseq dependency to version feat-db-v33
* fix(test): move start-time initialization after clone repo
* fix(deps): update nbb dependencies and adjust test script paths to compatible with windows path delimiter
* chore(deps): remove dead meander dependency
---------
Co-authored-by: Tienson Qin <tiensonqin@gmail.com>
Also remove unused helpers for file config keys and file graph code in
mobile.intent. These removals also result in removing
frontend.common.file.util as it's no longer used
1. built-in pages (non-classes) shouldn't be used as tags
2. some protected properties for built-in nodes shouldn't be updated,
e.g. db/ident, block/title, block/name, logseq.property/type
* fix: rtc creates duplicated first blocks for new journal pages
The root cause is that those blocks from different clients have
different ids. Instead of using persistent block id, this fix avoids
generating the first block until users really start editing it.
* fix: add button not displayed when the last block is not empty
* fix: e2e tests
* enhance: remove dummy block
* fix: open-last-block