fix: prioritize editor paint over background work #3

Open
waylon wants to merge 0 commits from fix/editor-paint-priority into main
Owner

Summary

Improve editor responsiveness by keeping preview rendering and repository background work behind the editor paint barrier.

Implementation

  • Add editor quiescence tracking with critical input tokens and scheduler handoffs.
  • Yield incremental preview rendering when input is active or pending.
  • Defer repository UI, draft persistence, feed rendering, metadata work, and search updates until the editor is quiet.
  • Fence search persistence with mutation generations and staged worker snapshots.
  • Add diagnostics for scheduling state, quiescence, input criticality, and preview slice duration.
  • Extend unit and browser coverage, including a 3,404-file repository-scale Vim typing fixture.

Validation

  • bun test tests/diagnostics.test.js tests/editor-hot-path.test.js tests/editor-priority.test.js tests/repository-search.test.js: 55 passed.
  • bun test tests/*.test.js: 710 passed.
  • just browser-regression: 33 passed.
  • git diff --check: passed.

Known caveat

Unfiltered or concurrent browser-test aggregation has shown timing-sensitive failures. The isolated suites passed, and the final browser regression run passed.

### Summary Improve editor responsiveness by keeping preview rendering and repository background work behind the editor paint barrier. ### Implementation - Add editor quiescence tracking with critical input tokens and scheduler handoffs. - Yield incremental preview rendering when input is active or pending. - Defer repository UI, draft persistence, feed rendering, metadata work, and search updates until the editor is quiet. - Fence search persistence with mutation generations and staged worker snapshots. - Add diagnostics for scheduling state, quiescence, input criticality, and preview slice duration. - Extend unit and browser coverage, including a 3,404-file repository-scale Vim typing fixture. ### Validation - `bun test tests/diagnostics.test.js tests/editor-hot-path.test.js tests/editor-priority.test.js tests/repository-search.test.js`: 55 passed. - `bun test tests/*.test.js`: 710 passed. - `just browser-regression`: 33 passed. - `git diff --check`: passed. ### Known caveat Unfiltered or concurrent browser-test aggregation has shown timing-sensitive failures. The isolated suites passed, and the final browser regression run passed.
This branch is already included in the target branch. There is nothing to merge.
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin fix/editor-paint-priority:fix/editor-paint-priority
git switch fix/editor-paint-priority

Merge

Merge the changes and update on Forgejo.

Warning: The "Autodetect manual merge" setting is not enabled for this repository, you will have to mark this pull request as manually merged afterwards.

git switch main
git merge --no-ff fix/editor-paint-priority
git switch fix/editor-paint-priority
git rebase main
git switch main
git merge --ff-only fix/editor-paint-priority
git switch fix/editor-paint-priority
git rebase main
git switch main
git merge --no-ff fix/editor-paint-priority
git switch main
git merge --squash fix/editor-paint-priority
git switch main
git merge --ff-only fix/editor-paint-priority
git switch main
git merge fix/editor-paint-priority
git push origin main
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
waylon/md.waylonwalker.com!3
No description provided.