Skip to content

Commit d8c2562

Browse files
Move listener registration to webview.tsx
1 parent 7176f69 commit d8c2562

5 files changed

Lines changed: 3 additions & 32 deletions

File tree

Lines changed: 0 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
import { useEffect } from "react";
21
import { getErrorMessage, getErrorStack } from "../../pure/helpers-pure";
32
import { vscode } from "../vscode-api";
43

@@ -22,17 +21,6 @@ const unhandledRejectionListener = (event: PromiseRejectionEvent) => {
2221
});
2322
};
2423

25-
/**
26-
* A react effect that handles adding listeners for unhandled errors / rejected promises.
27-
* When an error is detected a "unhandledError" message is posted to the view.
28-
*/
29-
export function useUnhandledErrorListener() {
30-
useEffect(() => {
31-
registerUnhandledErrorListener();
32-
return unregisterUnhandledErrorListener;
33-
}, []);
34-
}
35-
3624
/**
3725
* Adds listeners for unhandled errors / rejected promises.
3826
* When an error is detected a "unhandledError" message is posted to the view.
@@ -41,11 +29,3 @@ export function registerUnhandledErrorListener() {
4129
window.addEventListener("error", unhandledErrorListener);
4230
window.addEventListener("unhandledrejection", unhandledRejectionListener);
4331
}
44-
45-
/**
46-
* Remove listeners for unhandled errors / rejected promises.
47-
*/
48-
export function unregisterUnhandledErrorListener() {
49-
window.removeEventListener("error", unhandledErrorListener);
50-
window.removeEventListener("unhandledrejection", unhandledRejectionListener);
51-
}

extensions/ql-vscode/src/view/compare/Compare.tsx

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@ import { vscode } from "../vscode-api";
1010
import CompareTable from "./CompareTable";
1111

1212
import "../results/resultsView.css";
13-
import { useUnhandledErrorListener } from "../common/errors";
1413

1514
const emptyComparison: SetComparisonsMessage = {
1615
t: "setComparisons",
@@ -24,8 +23,6 @@ const emptyComparison: SetComparisonsMessage = {
2423
};
2524

2625
export function Compare(_: Record<string, never>): JSX.Element {
27-
useUnhandledErrorListener();
28-
2926
const [comparison, setComparison] =
3027
useState<SetComparisonsMessage>(emptyComparison);
3128

extensions/ql-vscode/src/view/results/results.tsx

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,6 @@ import {
1414
NavigateMsg,
1515
ResultSet,
1616
} from "../../pure/interface-types";
17-
import {
18-
registerUnhandledErrorListener,
19-
unregisterUnhandledErrorListener,
20-
} from "../common/errors";
2117
import { EventHandlers as EventHandlerList } from "./event-handler-list";
2218
import { ResultTables } from "./result-tables";
2319

@@ -311,14 +307,12 @@ export class ResultsApp extends React.Component<
311307
componentDidMount(): void {
312308
this.vscodeMessageHandler = this.vscodeMessageHandler.bind(this);
313309
window.addEventListener("message", this.vscodeMessageHandler);
314-
registerUnhandledErrorListener();
315310
}
316311

317312
componentWillUnmount(): void {
318313
if (this.vscodeMessageHandler) {
319314
window.removeEventListener("message", this.vscodeMessageHandler);
320315
}
321-
unregisterUnhandledErrorListener();
322316
}
323317

324318
private vscodeMessageHandler(evt: MessageEvent) {

extensions/ql-vscode/src/view/variant-analysis/VariantAnalysis.tsx

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@ import { ToVariantAnalysisMessage } from "../../pure/interface-types";
1414
import { vscode } from "../vscode-api";
1515
import { defaultFilterSortState } from "../../pure/variant-analysis-filter-sort";
1616
import { useTelemetryOnChange } from "../common/telemetry";
17-
import { useUnhandledErrorListener } from "../common/errors";
1817

1918
export type VariantAnalysisProps = {
2019
variantAnalysis?: VariantAnalysisDomainModel;
@@ -51,8 +50,6 @@ export function VariantAnalysis({
5150
repoStates: initialRepoStates = [],
5251
repoResults: initialRepoResults = [],
5352
}: VariantAnalysisProps): JSX.Element {
54-
useUnhandledErrorListener();
55-
5653
const [variantAnalysis, setVariantAnalysis] = useState<
5754
VariantAnalysisDomainModel | undefined
5855
>(initialVariantAnalysis);

extensions/ql-vscode/src/view/webview.tsx

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,11 @@ import { WebviewDefinition } from "./webview-definition";
55

66
// Allow all views to use Codicons
77
import "@vscode/codicons/dist/codicon.css";
8+
import { registerUnhandledErrorListener } from "./common/errors";
89

910
const render = () => {
11+
registerUnhandledErrorListener();
12+
1013
const element = document.getElementById("root");
1114

1215
if (!element) {

0 commit comments

Comments
 (0)