Skip to content

Commit 465da69

Browse files
committed
Merge remote-tracking branch 'origin/main' into koesie10/source-map-script-stacktrace
2 parents a5b9594 + 648e674 commit 465da69

File tree

66 files changed

+1202
-536
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

66 files changed

+1202
-536
lines changed

extensions/ql-vscode/.eslintrc.js

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,6 @@ const baseConfig = {
4949
"@typescript-eslint/no-throw-literal": "error",
5050
"no-useless-escape": 0,
5151
camelcase: "off",
52-
eqeqeq: "off",
5352
"escompat/no-regexp-lookbehind": "off",
5453
"etc/no-implicit-any-catch": "error",
5554
"filenames/match-regex": "off",

extensions/ql-vscode/CHANGELOG.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
# CodeQL for Visual Studio Code: Changelog
22

3+
## [UNRELEASED]
4+
35
## 1.7.8 - 2 February 2023
46

57
- Renamed command "CodeQL: Run Query" to "CodeQL: Run Query on Selected Database". [#1962](https://github.com/github/vscode-codeql/pull/1962)

extensions/ql-vscode/docs/test-plan.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -244,7 +244,7 @@ This requires running a MRVA query and seeing the results view.
244244
1. By name
245245
2. By results
246246
3. By stars
247-
4. By last commit
247+
4. By last updated
248248
9. Can filter repos
249249
10. Shows correct statistics
250250
1. Total number of results

extensions/ql-vscode/package-lock.json

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

extensions/ql-vscode/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
"description": "CodeQL for Visual Studio Code",
55
"author": "GitHub",
66
"private": true,
7-
"version": "1.7.8",
7+
"version": "1.7.9",
88
"publisher": "GitHub",
99
"license": "MIT",
1010
"icon": "media/VS-marketplace-CodeQL-icon.png",
@@ -1483,7 +1483,7 @@
14831483
"husky": {
14841484
"hooks": {
14851485
"pre-commit": "npm run format-staged",
1486-
"pre-push": "npm run lint && scripts/forbid-test-only"
1486+
"pre-push": "scripts/forbid-test-only"
14871487
}
14881488
},
14891489
"lint-staged": {

extensions/ql-vscode/scripts/source-map.ts

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,16 @@
44
* works with released extensions.
55
*
66
* Usage: npx ts-node scripts/source-map.ts <version-number> <filename>:<line>:<column>
7+
* For example: npx ts-node scripts/source-map.ts v1.7.8 "/Users/user/.vscode/extensions/github.vscode-codeql-1.7.8/out/extension.js:131164:13"
8+
*
79
* Alternative usage: npx ts-node scripts/source-map.ts <version-number> <multi-line-stacktrace>
10+
* For example: npx ts-node scripts/source-map.ts v1.7.8 'Error: Failed to find CodeQL distribution.
11+
* at CodeQLCliServer.getCodeQlPath (/Users/user/.vscode/extensions/github.vscode-codeql-1.7.8/out/extension.js:131164:13)
12+
* at CodeQLCliServer.launchProcess (/Users/user/.vscode/extensions/github.vscode-codeql-1.7.8/out/extension.js:131169:24)
13+
* at CodeQLCliServer.runCodeQlCliInternal (/Users/user/.vscode/extensions/github.vscode-codeql-1.7.8/out/extension.js:131194:24)
14+
* at CodeQLCliServer.runJsonCodeQlCliCommand (/Users/user/.vscode/extensions/github.vscode-codeql-1.7.8/out/extension.js:131330:20)
15+
* at CodeQLCliServer.resolveRam (/Users/user/.vscode/extensions/github.vscode-codeql-1.7.8/out/extension.js:131455:12)
16+
* at QueryServerClient2.startQueryServerImpl (/Users/user/.vscode/extensions/github.vscode-codeql-1.7.8/out/extension.js:138618:21)'
817
*/
918

1019
import { spawnSync } from "child_process";

extensions/ql-vscode/src/abstract-webview.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ export abstract class AbstractWebview<
5151
}
5252

5353
protected async getPanel(): Promise<WebviewPanel> {
54-
if (this.panel == undefined) {
54+
if (this.panel === undefined) {
5555
const { ctx } = this;
5656

5757
// This is an async method, so in theory this method can be called concurrently. To ensure that we don't

extensions/ql-vscode/src/astViewer.ts

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,9 @@ import {
2525
} from "./pure/bqrs-utils";
2626
import { commandRunner } from "./commandRunner";
2727
import { DisposableObject } from "./pure/disposable-object";
28-
import { showAndLogErrorMessage } from "./helpers";
28+
import { showAndLogExceptionWithTelemetry } from "./helpers";
29+
import { asError, getErrorMessage } from "./pure/helpers-pure";
30+
import { redactableError } from "./pure/errors";
2931

3032
export interface AstItem {
3133
id: BqrsId;
@@ -146,7 +148,12 @@ export class AstViewer extends DisposableObject {
146148
() => {
147149
/**/
148150
},
149-
(err) => showAndLogErrorMessage(err),
151+
(error: unknown) =>
152+
showAndLogExceptionWithTelemetry(
153+
redactableError(
154+
asError(error),
155+
)`Failed to reveal AST: ${getErrorMessage(error)}`,
156+
),
150157
);
151158
}
152159

@@ -204,7 +211,12 @@ export class AstViewer extends DisposableObject {
204211
() => {
205212
/**/
206213
},
207-
(err) => showAndLogErrorMessage(err),
214+
(error: unknown) =>
215+
showAndLogExceptionWithTelemetry(
216+
redactableError(
217+
asError(error),
218+
)`Failed to reveal AST: ${getErrorMessage(error)}`,
219+
),
208220
);
209221
}
210222
}

extensions/ql-vscode/src/cli.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -384,7 +384,7 @@ export class CodeQLCliServer implements Disposable {
384384
this.killProcessIfRunning();
385385
// Report the error (if there is a stderr then use that otherwise just report the error cod or nodejs error)
386386
const newError =
387-
stderrBuffers.length == 0
387+
stderrBuffers.length === 0
388388
? new Error(`${description} failed: ${err}`)
389389
: new Error(
390390
`${description} failed: ${Buffer.concat(stderrBuffers).toString(

extensions/ql-vscode/src/commandRunner.ts

Lines changed: 29 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,14 @@ import {
66
Disposable,
77
ProgressLocation,
88
} from "vscode";
9-
import { showAndLogErrorMessage, showAndLogWarningMessage } from "./helpers";
9+
import {
10+
showAndLogExceptionWithTelemetry,
11+
showAndLogWarningMessage,
12+
} from "./helpers";
1013
import { extLogger } from "./common";
1114
import { asError, getErrorMessage, getErrorStack } from "./pure/helpers-pure";
1215
import { telemetryListener } from "./telemetry";
16+
import { redactableError } from "./pure/errors";
1317

1418
export class UserCancellationException extends Error {
1519
/**
@@ -125,23 +129,28 @@ export function commandRunner(
125129
try {
126130
return await task(...args);
127131
} catch (e) {
128-
const errorMessage = `${getErrorMessage(e) || e} (${commandId})`;
129132
error = asError(e);
133+
const errorMessage = redactableError(error)`${
134+
getErrorMessage(e) || e
135+
} (${commandId})`;
130136
const errorStack = getErrorStack(e);
131137
if (e instanceof UserCancellationException) {
132138
// User has cancelled this action manually
133139
if (e.silent) {
134-
void extLogger.log(errorMessage);
140+
void extLogger.log(errorMessage.fullMessage);
135141
} else {
136-
void showAndLogWarningMessage(errorMessage);
142+
void showAndLogWarningMessage(errorMessage.fullMessage);
137143
}
138144
} else {
139145
// Include the full stack in the error log only.
140146
const fullMessage = errorStack
141-
? `${errorMessage}\n${errorStack}`
142-
: errorMessage;
143-
void showAndLogErrorMessage(errorMessage, {
147+
? `${errorMessage.fullMessage}\n${errorStack}`
148+
: errorMessage.fullMessage;
149+
void showAndLogExceptionWithTelemetry(errorMessage, {
144150
fullMessage,
151+
extraTelemetryProperties: {
152+
command: commandId,
153+
},
145154
});
146155
}
147156
return undefined;
@@ -178,24 +187,31 @@ export function commandRunnerWithProgress<R>(
178187
try {
179188
return await withProgress(progressOptionsWithDefaults, task, ...args);
180189
} catch (e) {
181-
const errorMessage = `${getErrorMessage(e) || e} (${commandId})`;
182190
error = asError(e);
191+
const errorMessage = redactableError`${
192+
getErrorMessage(e) || e
193+
} (${commandId})`;
183194
const errorStack = getErrorStack(e);
184195
if (e instanceof UserCancellationException) {
185196
// User has cancelled this action manually
186197
if (e.silent) {
187-
void outputLogger.log(errorMessage);
198+
void outputLogger.log(errorMessage.fullMessage);
188199
} else {
189-
void showAndLogWarningMessage(errorMessage, { outputLogger });
200+
void showAndLogWarningMessage(errorMessage.fullMessage, {
201+
outputLogger,
202+
});
190203
}
191204
} else {
192205
// Include the full stack in the error log only.
193206
const fullMessage = errorStack
194-
? `${errorMessage}\n${errorStack}`
195-
: errorMessage;
196-
void showAndLogErrorMessage(errorMessage, {
207+
? `${errorMessage.fullMessage}\n${errorStack}`
208+
: errorMessage.fullMessage;
209+
void showAndLogExceptionWithTelemetry(errorMessage, {
197210
outputLogger,
198211
fullMessage,
212+
extraTelemetryProperties: {
213+
command: commandId,
214+
},
199215
});
200216
}
201217
return undefined;

0 commit comments

Comments
 (0)