Repository navigation
fix: actually send where the binary came from, and cover the paths that fail - #14
Merged
Merged
Conversation
…at fail `binarySource` shipped yesterday as a typed, documented field with a paragraph explaining that it separates "our release is broken" from "their PATH has something else on it" — and no call site ever passed it. Every report read `host_class: unknown`. A field with no producer is worse than no field: it makes a dashboard column that is always empty look like a finding. `resolveBinary` already knew the answer at each step of its cascade; it just never said. It now records configured / bundled / downloaded / path, and both report sites pass it. Two failure paths that were still silent: - `activate()`. An extension that throws here is dead in the way a user reads as "the commands are missing", with no error anywhere they will look. - the run itself. Resolving the binary is half the Run button; the other half is where a binary that cannot start on this machine actually shows up — which is precisely the failure this release cycle was about. The source registry lives in crashFingerprint.ts, the module with no editor import, because that is the third time today the same wall appeared: anything a unit test must reach cannot sit behind `import * as vscode`. cli.ts calls `setBinarySource`; the tests call `binarySourceOf`. 32 unit tests, tsc clean.
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.
binarySourceshipped yesterday as a typed, documented field — with a paragraph in the module header explaining that it separates our release is broken from their PATH has something else on it — and no call site ever passed it. Every report readhost_class: unknown.A field with no producer is worse than no field: it makes a dashboard column that is always empty look like a finding.
resolveBinaryalready knew the answer at every step of its cascade and simply never said it. It now recordsconfigured/bundled/downloaded/path, and both report sites pass it.Two failure paths that were still silent, after I called this surface covered:
activate()— an extension that throws here is dead in the way a user reads as "the commands are missing", with no error anywhere they will look.The source registry lives in
crashFingerprint.ts, the module with no editor import, because that is the third time today the same wall appeared: anything a unit test must reach cannot sit behindimport * as vscode.32 unit tests,
tscclean.