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
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
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.
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.
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.
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
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