develop
test(desktop): backfill app e2e coverage for post-migration gaps (#4594)
refactor(desktop): consume muya self-contained typography, remove shell style injection (#4726)
chore: convert repo to pnpm monorepo (packages/desktop, muyajs, website) (#4302)
chore: audit Claude-authored comments against the commenting guidelines (#4740)
feat(desktop): migrate editor.vue to @muyajs/core engine (#4406)
test(e2e): replace fixed waits with expect.poll in editor-input (#4695)
fix(desktop): select the query when re-opening the Find bar (#4807)
fix(desktop): ignore content-identical file-change events (#4760)
fix(desktop): make the source-mode selection visible on dark themes (#4771)
fix(desktop): keep sidebar width + tree collapse state across icon toggle (#4769)
fix(muyajs): clamp setStart offset to legal range to prevent IndexSizeError (#2800) (#4358)
fix: #4356 don't crash on links whose href was sanitized away (#4473)
fix(desktop): route undo/redo to CodeMirror in source code mode (#4752)
fix(desktop): New File on a collapsed sidebar folder expands it (#4809)
fix: reflect the current block in the Paragraph menu (PG1) (#4500)
fix(test): correct PlantUML custom-server URL assertion (#4517)
fix(desktop): scroll the view up when the caret moves above the viewport (#3329) (#4742)
test(e2e): wait for selection commit before opening find bar (#4682)
fix(desktop): make Paragraph/Format commands inert in source mode (grey out menus) (#4810)
fix(desktop): scroll CodeMirror to the heading on TOC click in source mode (#4619)
fix: scroll the active tab into view on tab switch (#3958) (#4743)
fix(desktop): preserve TOC collapse state across content edits (#4803)