[Production] Release 2026-08-27 - #209
Merged
Merged
Conversation
* Recover files stuck in processing from the UI and MCP Record when a file enters processing so the run page can tell in-flight work from a Lambda that never reported back. After the 15-minute Lambda limit, those files show as Stalled and can be reprocessed from the table, the REST API, and MCP. Co-authored-by: Wasim Amiri <wasimxyz@users.noreply.github.com> * Stop polling the files table when processing has stalled Auto-refresh keyed off every processing file, so a stalled row refreshed the page every three seconds forever. Count only in-flight processing (inside the stall window) for that signal. Co-authored-by: Wasim Amiri <wasimxyz@users.noreply.github.com> * Make the stalled-processing window configurable. Operators can set STALLED_PROCESSING_AFTER_MINUTES instead of shipping a code change when the 20-minute default is too long or too short. Co-authored-by: Cursor <cursoragent@cursor.com> * Surface stalled processing at the run level and make it filterable A stalled file was only visible after opening the run and scrolling to the files table. The run itself kept a spinning "Processing" badge on the dashboard, the instrument page, and the run header, which is where an operator would actually notice something needs a retry. Runs now derive a "Stalled" status, ranked directly under "failed" so a file merely waiting to upload cannot mask it. `filesProcessing` counts only work inside the stall window, so the two buckets stay exclusive. The files table gains a matching "Stalled" filter option, and "Processing" narrows to in-flight rows so the filter agrees with the label in the status column. Consistency fixes along the way: - The stall rule was written three times in two languages. The SQL now lives in one module shared by the run status, the run counts, the file filter, the sort ranking, and run-level reprocess. That surfaced an off-by-one: stalled used `< cutoff` while in-flight used `> cutoff`, so a row landing exactly on the boundary belonged to neither. - Each fragment used to call `new Date()` independently, letting two fragments in one query disagree by microseconds. Each query now takes a single clock reading and shares it with the per-row stall stamp. - `getFileStatusKey` and `ReprocessableFile` require `stalledProcessing` instead of accepting it optionally, so a plain database row can no longer compile into a silently wrong label. `canReprocessFile` drops its `flag ?? recompute` fallback and never reads the clock. - `RunStatusIcon` takes the row instead of seven count props, so the next bucket is a one-file change rather than eight. - The stalled tooltip shows an absolute timestamp; polling stops for stalled rows, so the relative one froze as soon as it rendered. - Sort-by-status gained a Stalled bucket. Its comment referenced `statusLabel`, which was dead code and is removed. - The three copies of the allowed file-status list are now one. Co-authored-by: Cursor <cursoragent@cursor.com> --------- Co-authored-by: Cursor Agent <cursoragent@cursor.com> Co-authored-by: Wasim Amiri <wasimxyz@users.noreply.github.com>
* Accept Aunty isothermal, partial-ramp, and table-only exports. Those workbooks don't use the full eight-column graph layout the parser required, so they never produced a plate. Fit well-chart y-axes to each series so high-baseline curves aren't flattened against 0. Co-authored-by: Cursor <cursoragent@cursor.com> * Show Aunty hold temperatures in the table and filters. Isothermal runs store a single temperature_c, so the list and filter need that value — not only start/end ramp pairs. Empty k-rate columns no longer pick the flavor. Co-authored-by: Cursor <cursoragent@cursor.com> --------- Co-authored-by: Cursor <cursoragent@cursor.com>
Contributor
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.