Repository navigation
Conversation
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
b19198b to
2a53aaa
Compare
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 2a53aaa423
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
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.