Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions AUTHORS.md
Original file line number Diff line number Diff line change
Expand Up @@ -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.

Expand Down
6 changes: 6 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down