canola.nvim/lua/oil
Barrett Ruth d783703ad3
fix(test): resolve trash_spec.lua flakes from leaked mutation state
Problem: `mutation_in_progress` and `buffers_locked` are module-level
locals in `mutator/init.lua` and `view.lua`. When a trash test times
out mid-mutation, these flags stay true and `reset_editor()` never
clears them. Subsequent tests' `save()` calls bail on
`mutation_in_progress`, silently skipping mutations so
`OilMutationComplete` never fires — causing cascading 10s timeouts.

Solution: Add `mutator.reset()` to clear leaked mutation state, and
call it from `reset_editor()` when `is_mutating()` is true. A 50ms
event loop drain lets in-flight libuv callbacks settle before the
reset. Baseline: 4/10 sequential passes. After fix: 49/50 parallel
passes with zero timing overhead on the happy path (~2.4s).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-16 20:56:11 -04:00
..
adapters feat(columns): per-character permission column highlights (#375) (#146) 2026-03-16 15:53:23 -04:00
lsp refactor: revert canola namespace to oil and remove vim.g config (#120) 2026-03-10 22:49:56 -04:00
mutator fix(test): resolve trash_spec.lua flakes from leaked mutation state 2026-03-16 20:56:11 -04:00
actions.lua refactor: revert canola namespace to oil and remove vim.g config (#120) 2026-03-10 22:49:56 -04:00
cache.lua refactor: revert canola namespace to oil and remove vim.g config (#120) 2026-03-10 22:49:56 -04:00
clipboard.lua refactor: revert canola namespace to oil and remove vim.g config (#120) 2026-03-10 22:49:56 -04:00
columns.lua refactor: revert canola namespace to oil and remove vim.g config (#120) 2026-03-10 22:49:56 -04:00
config.lua refactor: revert canola namespace to oil and remove vim.g config (#120) 2026-03-10 22:49:56 -04:00
constants.lua refactor: revert canola namespace to oil and remove vim.g config (#120) 2026-03-10 22:49:56 -04:00
fs.lua refactor: revert canola namespace to oil and remove vim.g config (#120) 2026-03-10 22:49:56 -04:00
git.lua refactor: revert canola namespace to oil and remove vim.g config (#120) 2026-03-10 22:49:56 -04:00
init.lua feat(columns): per-character permission column highlights (#375) (#146) 2026-03-16 15:53:23 -04:00
keymap_util.lua refactor: revert canola namespace to oil and remove vim.g config (#120) 2026-03-10 22:49:56 -04:00
layout.lua refactor: revert canola namespace to oil and remove vim.g config (#120) 2026-03-10 22:49:56 -04:00
loading.lua refactor: revert canola namespace to oil and remove vim.g config (#120) 2026-03-10 22:49:56 -04:00
log.lua refactor: revert canola namespace to oil and remove vim.g config (#120) 2026-03-10 22:49:56 -04:00
pathutil.lua refactor: revert canola namespace to oil and remove vim.g config (#120) 2026-03-10 22:49:56 -04:00
ringbuf.lua refactor: revert canola namespace to oil and remove vim.g config (#120) 2026-03-10 22:49:56 -04:00
shell.lua refactor: revert canola namespace to oil and remove vim.g config (#120) 2026-03-10 22:49:56 -04:00
util.lua refactor: revert canola namespace to oil and remove vim.g config (#120) 2026-03-10 22:49:56 -04:00
view.lua fix(view): prevent backspace from deleting into prefix area (#135) 2026-03-15 13:39:32 -04:00