Skip to content

v.4.7.5

Choose a tag to compare

@github-actions github-actions released this 18 Oct 12:41
· 31 commits to main since this release
278c6b2

Docker:

docker pull ghcr.io/rix1337/quasarr:latest

Python:

uv tool upgrade quasarr

Fixes orphaned FlareSolverr browsers when session creation finishes after Quasarr's timeout. Every create request now carries a client-chosen ID. One background worker tracks failed creations, waits for registration, and confirms removal without extending the search timeout. Session listings are shared across queued IDs at the same endpoint, the worker serves ready endpoints round-robin by least-recently-served order, and destroy calls reserve time for the entire queue. It also handles a lost destroy response.

Cleanup retries for up to ten minutes while Quasarr is running, then logs a warning. Successful sessions remain owned by their callers. No configuration or hostname changes are required. The required pre-commit run bumped the version to 4.7.5.

Verified against the configured FlareSolverr 3.5.2 with a relay delaying create requests: the original code leaked in five of five runs; the fix cleaned up all five delayed sessions after repeated registration polls. A separate run using the normal 30-second timeout returned after 30.02 seconds and removed the late browser by 37.36 seconds. Normal creation and destruction also passed with supplied and generated IDs. No probe sessions remain.

Regression coverage includes a 201-second startup, lost destroy responses, the ten-minute deadline, and bursts of 11 and 40 sessions with slow API replies, including a URL change while an older endpoint still has pending cleanup, and a third endpoint whose single pending session is no longer postponed behind two 40-session backlogs. Five additional live trials with two concurrent timeouts each confirmed that one listing covers both sessions and both browsers are removed. All 481 tests and the full pre-commit checks passed.

Closes #462.

Changelog:

  • 278c6b2 - Merge pull request #463 from rix1337/dev
  • 429c8a1 - Clean up FlareSolverr sessions after create timeouts

Attestation