Refuse a run with no output folder, say where results went, quieten the log - #267
Merged
Conversation
…ten the log Three faults from one report against the 5.0.0 build. **A run wrote nowhere and said so only afterwards.** The output folder pointed at a temporary directory that no longer existed, so the pipeline ran every stage and then failed on the first write with "failed to open file at path: ... (os error 2)". The folder is now checked before the run starts, naming the folder and pointing at Settings, so nothing is computed to be thrown away. **Neither host said where the results went.** A browser announced its download; the desktop said nothing at all, so a wrong folder stayed invisible for as long as nobody went looking. Both now report the destination. **Every run carried a line of diagnostics per slow tool.** The threshold assumed no single invocation approached the length of a run, which is wrong: the merge *is* one invocation, so hdrgen tripped it every time. The breakdown moves to console.debug, where it is still there for whoever needs it and in front of nobody who does not. The JIT warning stays in the run log, because that one is actionable. And the cause of the stale folder: the desktop end-to-end suite writes an output path into `hdr-settings`, which the real app shares, because both use one Tauri identifier. It never put the value back, so a temporary directory from a run predating the LumiLab rename was still in a released build's settings months later. The suite now restores what it found, in an `after` hook so a failed run cleans up too. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
adulbrich
added a commit
that referenced
this pull request
Aug 7, 2026
…ten the log (#267) Three faults from one report against the 5.0.0 build. **A run wrote nowhere and said so only afterwards.** The output folder pointed at a temporary directory that no longer existed, so the pipeline ran every stage and then failed on the first write with "failed to open file at path: ... (os error 2)". The folder is now checked before the run starts, naming the folder and pointing at Settings, so nothing is computed to be thrown away. **Neither host said where the results went.** A browser announced its download; the desktop said nothing at all, so a wrong folder stayed invisible for as long as nobody went looking. Both now report the destination. **Every run carried a line of diagnostics per slow tool.** The threshold assumed no single invocation approached the length of a run, which is wrong: the merge *is* one invocation, so hdrgen tripped it every time. The breakdown moves to console.debug, where it is still there for whoever needs it and in front of nobody who does not. The JIT warning stays in the run log, because that one is actionable. And the cause of the stale folder: the desktop end-to-end suite writes an output path into `hdr-settings`, which the real app shares, because both use one Tauri identifier. It never put the value back, so a temporary directory from a run predating the LumiLab rename was still in a released build's settings months later. The suite now restores what it found, in an `after` hook so a failed run cleans up too. Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
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.
Three faults from one report against the 5.0.0 build, plus the cause of the first.
A run wrote nowhere, and only said so afterwards
The configured output folder pointed at a temporary directory that no longer existed. The pipeline ran every stage, then failed on the first write:
Thirty seconds of work discarded, and nothing said about which folder was wrong or where to change it. The folder is now checked before the run starts, and the message names the folder and points at Settings.
Folders go stale for ordinary reasons: an unmounted drive, a deleted directory, a path restored from a backup. The setting is persistent, so a wrong value fails every run until someone notices.
Neither host said where the results went
A browser announced its download. The desktop said nothing at all, which is why a wrong folder could stay invisible indefinitely. Both now report the destination:
Every run carried diagnostics nobody asked for
#263 reported a per-tool breakdown whenever an invocation passed one second, on the reasoning that "a whole merge is around fifteen seconds and no single invocation should approach that". That was simply wrong: the merge is a single invocation, so hdrgen tripped it on every run, along with evalglare and pcomb.
The breakdown moves to
console.debug— still there for whoever needs it, in front of nobody who does not. The JIT warning stays in the run log, because that one is actionable.The cause of the stale folder
The desktop end-to-end suite writes an output path into
hdr-settings, which is the same key the real app uses, because both share one Tauri identifier. That sharing is deliberate and must stay: renaming the identifier would orphan every user's presets and history. But the suite never put the value back, so a temporary directory from a run predating the LumiLab rename was still in a released build's settings months later.It now restores what it found, in an
afterhook so a failed run cleans up too — which is exactly when it matters, since nothing later in the suite would.Verification
435 tests (4 new, covering the missing folder, the not-yet-chosen folder, the browser case, and blocker precedence),
tscclean in all three projects, lint clean, and the full browser end-to-end suite passing.Note for anyone hitting this on an existing install: changing the output folder in Settings fixes it immediately; this PR is about the app telling you rather than failing silently.
🤖 Generated with Claude Code