Semantic Diff

#8641 Keep watch alive after rebuild errors

5 commits, rendered from their records.

Summary

RangeCommitsChangelogAreasJS output changesFormatsFailed checks
58f1bd223b455d60990dbce94b77720644f98bf9..pr-86415🐛 Bug fix0none7

Changelog draft

🐛 Bug fix
  • Keep watch mode running after full rebuild initialization fails, retry initialization on source edits, and watch newly added dependencies for configuration fixes. #8641
  • Dependency resolution and configuration errors now return exit code 1 instead of 2 from rescript build, clean, and format. #8641

Files changed by more than one commit

CHANGELOG.md3377441a3, f83cd4ffd
rewatch/src/build/packages.rsf83cd4ffd, b7ff3d53c, ff35b9a90
rewatch/src/watcher.rs3377441a3, f83cd4ffd, ff35b9a90, fef2886a0
rewatch/tests/suite.sh3377441a3, f83cd4ffd, ff35b9a90
rewatch/tests/watch/07-watch-recovers-from-invalid-config.sh3377441a3, f83cd4ffd
rewatch/tests/watch/08-watch-recovers-from-invalid-config.shff35b9a90, fef2886a0

58f1bd223b455d60990dbce94b77720644f98bf9..pr-8641

3377441a3 · Florian Hammerschmidt · Oct 09, 2026

Keep watcher running after full rebuild initialization errors

4 files · +116 −5 · changelog 1 · rewatch 1 · tests 2
MCHANGELOG.md+1−0
Mrewatch/src/watcher.rs+11−5
Mrewatch/tests/suite.sh+1−0
Arewatch/tests/watch/07-watch-recovers-from-invalid-config.sh+103−0
f83cd4ffd · Florian Hammerschmidt · Oct 09, 2026

Retry watcher initialization and watch invalid dependencies

6 files · +329 −115 · changelog 1 · rewatch 2 · tests 3
MCHANGELOG.md+1−1
Mrewatch/src/build/packages.rs+50−44
Mrewatch/src/watcher.rs+149−37
Mrewatch/tests/suite.sh+1−0
Mrewatch/tests/watch/07-watch-recovers-from-invalid-config.sh+45−33
Arewatch/tests/watch/08-watch-recovers-new-dependency-config.sh+83−0
b7ff3d53c · Florian Hammerschmidt · Oct 12, 2026

Restore dependency resolution error context

1 files · +5 −2 · rewatch 1
Mrewatch/src/build/packages.rs+5−2
ff35b9a90 · Florian Hammerschmidt · Oct 13, 2026

Address watch recovery documentation and output nits

🐛 Bug fix
🐛 Bug fixKeep watch mode running after full rebuild initialization fails, retry initialization on source edits, and watch newly added dependencies for configuration fixes. #8641
Dependency resolution and configuration errors now return exit code 1 instead of 2 from rescript build, clean, and format. #8641
11 files · +12 −28 · changelog 1 · rewatch 5 · tests 5
Mchanges/watch-rebuild-recovery.fix.md+1−0
Mrewatch/src/build.rs+1−1
Mrewatch/src/build/clean.rs+1−1
Mrewatch/src/build/packages.rs+2−21
Mrewatch/src/format.rs+1−1
Mrewatch/src/watcher.rs+2−2
Mrewatch/tests/suite.sh+2−2
Rrewatch/tests/watch/08-watch-recovers-from-invalid-config.sh+0−0
Rrewatch/tests/watch/09-watch-recovers-new-dependency-config.sh+0−0
Mtests/build_tests/weird_deps/input.js+1−0
Mtests/build_tests/weird_devdeps/input.js+1−0
fef2886a0 · Florian Hammerschmidt · Oct 14, 2026

Tie watcher recovery regression to the source edit

Log the source event path and its requested compile type once, then wait for the edited source to request full initialization and for an error after that event. Delayed config failures can no longer satisfy the recovery assertion before the edit is processed.

2 files · +21 −15 · rewatch 1 · tests 1
Mrewatch/src/watcher.rs+6−12
Mrewatch/tests/watch/08-watch-recovers-from-invalid-config.sh+15−3