Repository navigation
Release CyteTypeR 0.6.0: evidence fields, timeouts, v5 layers, BSD-3 - #57
Conversation
PR Summary by QodoRelease CyteTypeR 0.6.0 with restored evidence and reliable job handling
AI Description
Diagram
High-Level Assessment
Files changed (42)
|
Code Review by Qodo
1. Job requests exceed the wait deadline
|
| # difftime() picks its units automatically; always compare seconds. | ||
| elapsed <- as.numeric(difftime(.now(), start_time, units = "secs")) |
There was a problem hiding this comment.
1. Job requests exceed the wait deadline 🐞 Bug ≡ Correctness
.poll_for_results() checks elapsed time only before making a status-and-results request, using > rather than >=, and does not check again before returning a completed result. A request that starts just before timeout_seconds can finish after the deadline and still return successfully; short timeouts also wait through the unconditional five-second initial sleep.
Agent Prompt
## Issue description
The polling deadline is checked only before a request, so a completed response can be returned after `timeout_seconds`, and the initial sleep can exceed short timeouts.
## Fix Focus Areas
- R/client.R[406-410]
- R/client.R[434-445]
- R/client.R[470-482]
## Recommended Fix
Use an absolute deadline for the initial wait and each polling iteration. Limit waits and requests to the remaining time, check the deadline again before returning results, and treat reaching the deadline as a timeout.
ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools
Summary
Full details are in NEWS.md. Highlights:
Results
reviewerConfidence,isHeterogeneousandheterogeneityType, and a new<prefix>_reviewerConfidence_<group_key>meta.data column.CyteTypeR().misc$cytetype_results.Waiting for jobs
timeout_secondsis enforced and raisescytetype_timeout_error.GetResults(job_id=)returns NULL while a job is still running.cytetype_api_errorwith anerror_code, and the server's error messages are kept.Data preparation
Other
visibilityargument; the deepseek, nebius and together providers.cytetyper loginworks, reading the key from stdin.Testing
devtools::test(): 764 passed, 0 failed. The one skip is the installed-launcher test.R CMD check --as-cran: 0 errors, 0 warnings, 0 notes. This was run locally on Linux only, with the qpdf and clock checks stubbed, so please watch the macOS and Windows CI runs.Merge
Merging releases 0.6.0 to
install_githubusers immediately. Merge on the day the docs site goes live, then push tagv0.6.0and create the GitHub Release with the NEWS.md notes.