guanghu/docs/adr/0124-cached-secondary-note-window-startup.md
Guanghu Domestic Migration 9b41d51231
Some checks are pending
Auto-update PR branches / Update open PR branches (push) Waiting to run
CI / Frontend Static Quality Checks (push) Waiting to run
CI / Frontend Tests & Coverage (push) Waiting to run
CI / Rust Tests & Quality Checks (push) Waiting to run
CI / Linux build verification (push) Waiting to run
Deploy docs / Build VitePress site (push) Waiting to run
Deploy docs / Deploy to GitHub Pages (push) Blocked by required conditions
Release (Alpha) / Compute alpha version (push) Waiting to run
Release (Alpha) / Build release artifacts (push) Blocked by required conditions
Release (Alpha) / GitHub Release (alpha) (push) Blocked by required conditions
Release (Alpha) / Update docs and release pages (push) Blocked by required conditions
chore: import sanitized domestic snapshot for REPO-004
Source snapshot: 514ab1975951d94342ea38e64101d5a0f1c51c77
2026-07-17 15:55:28 +08:00

1.4 KiB

type, id, title, status, date, supersedes
type id title status date supersedes
ADR 0124 Cached secondary note window startup active 2026-05-26 0123

Context

ADR-0123 restored secondary note windows to the normal App path so they retain the full vault/workspace graph required by Properties, quick open/search, wikilinks, and workspace-aware note actions.

That parity is still the product contract, but forcing a fresh Tauri reload_vault during every secondary-window mount invalidates the backend cache. Opening several note windows can therefore repeat expensive full-vault scans even when the main window has already warmed the cache.

Decision

Secondary note windows keep the full vault graph, but their initial vault load uses the cached/incremental list_vault path instead of the forced reload_vault path.

Normal main-window startup continues to force a fresh initial reload. Explicit refresh paths, watcher-driven refreshes, and user-initiated reloads still use reload commands where they need disk freshness.

Consequences

  • Secondary note windows remain capable full app windows rather than reduced editor shells.
  • Repeated note-window opens can reuse the backend vault cache instead of invalidating it on every startup.
  • First open after a cold cache still scans the vault, then warms the shared backend cache for later windows.
  • If the cached scan path is stale, the existing backend cache update logic remains responsible for incremental freshness.