diff --git a/AUTHORS.md b/AUTHORS.md index 5812cb4..ebb5e1b 100644 --- a/AUTHORS.md +++ b/AUTHORS.md @@ -24,6 +24,7 @@ first contribution: | [@Vam-si-krish](https://github.com/Vam-si-krish) | made an unsupported host fail on sight instead of being retried like a network error, and collapsed the host names to one definition shared by both front-ends (#108) | | [@felix-windsor](https://github.com/felix-windsor) | stopped two links with the same filename from sharing one `.tmp` and corrupting each other, by reserving destination names at registration (#119) | | [@AashishGupta2007](https://github.com/AashishGupta2007) | narrowed and documented the eight exception handlers in the Chrome-lifecycle slice of `moon_extract.py` (#118) | +| [@Guflly](https://github.com/Guflly) | made `Engine.stop()` actually close Chrome before returning, so shutting down mid-run no longer leaves an orphaned browser holding its profile lock (#122) | Dependabot handles the dependency and action bumps. diff --git a/CHANGELOG.md b/CHANGELOG.md index 04bd2a8..ba0e688 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -63,6 +63,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 whole version. It now tracks the tag again, at `v3.0`. ### Fixed +- **Closing the app mid-run left Chrome alive.** Teardown only happened when a run ended + normally: `Engine.stop()` set a flag and returned, the worker ran on a daemon thread, and + the interpreter tore it down before `BrowserGate.aclose()` could execute — so the browser + survived, still holding its profile lock. `stop()` now closes the gate from the caller's + thread and waits briefly for the worker, and the gate refuses to reopen once closed, so a + late worker cannot launch a second Chrome on the way out (#122, @Guflly) - **The preview mock no longer ships identifiable sample content.** Its filenames named a specific title and a repack site, its link list carried them in readable URLs, and its destination path was a real one — and every screenshot in the README is rendered from