bacon run job stays stuck on transient compile error from mid-edit saves; doesn't auto-recover #31
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Symptom
bacon(defaultrunjob, seebacon.toml) frequently leaves the localar-gatewayin a failed-build state during normal editing. The pattern: a save lands while a multi-file change is partway through (e.g. one file references a name that hasn't been added yet to its sibling). bacon kicks off a build, the build fails, and bacon then sits on the error message indefinitely — even after subsequent saves complete the change. Pressingrin the bacon pane manually triggers a re-run, which compiles and launches fine.Hypotheses (need confirmation in a follow-up PR)
notifywatcher doesn't always treat as a modify-of-original. Combined withkill_then_restart, the post-failure state may be wedged.background = true+ failed build interaction — when the build fails there's no child process to kill on the next change; bacon may be looking for the prior child as a precondition for kicking the next build.The fact that pressing
ralways works rules out anything intrinsic to the source state — it's purely that bacon stops responding to file-change events after the failure.Proposed direction
Don't pin a fix in this issue; investigate first. Likely candidates:
grace_period/ debounce to[jobs.run]so multi-file saves coalesce into one build attempt.on_change_strategy(trywait_then_restart) and see whether the error-state behavior changes.default_watchglob so bacon ignores tmpfile patterns (.swp,4913, etc.) the editor produces during atomic save.cargo watch -x run) for therunjob specifically — keepbacon clippy/bacon testas-is.Acceptance criteria
ar-gatewayautomatically — no manualrkeypress.bacon.tomldocuments whatever debounce / watch settings we land on, with rationale (a comment block in the same style the file already uses).bacon clippy/bacon testjobs.