From 9eb7f96ac0c32704a53bcac129aafb5e82ea2b4c Mon Sep 17 00:00:00 2001 From: Robert Date: Wed, 14 Feb 2024 12:40:10 +0000 Subject: [PATCH 1/2] Remove impossible cases because resultsInfo cannot be null --- .../ql-vscode/src/view/results/ResultsApp.tsx | 26 +------------------ 1 file changed, 1 insertion(+), 25 deletions(-) diff --git a/extensions/ql-vscode/src/view/results/ResultsApp.tsx b/extensions/ql-vscode/src/view/results/ResultsApp.tsx index 509fb4483a5..a31602d2788 100644 --- a/extensions/ql-vscode/src/view/results/ResultsApp.tsx +++ b/extensions/ql-vscode/src/view/results/ResultsApp.tsx @@ -79,31 +79,7 @@ export function ResultsApp() { const updateStateWithNewResultsInfo = useCallback( (resultsInfo: ResultsInfo): void => { - setState((prevState) => { - if (resultsInfo === null && prevState.isExpectingResultsUpdate) { - // Display loading message - return { - ...prevState, - displayedResults: { - resultsInfo: null, - results: null, - errorMessage: "Loading results…", - }, - nextResultsInfo: resultsInfo, - }; - } else if (resultsInfo === null) { - // No results to display - return { - ...prevState, - displayedResults: { - resultsInfo: null, - results: null, - errorMessage: "No results to display", - }, - nextResultsInfo: resultsInfo, - }; - } - + setState(() => { let results: Results | null = null; let statusText = ""; try { From 51c81f91727d3c02f4d0e7229e04f2856545894d Mon Sep 17 00:00:00 2001 From: Robert Date: Wed, 14 Feb 2024 12:41:18 +0000 Subject: [PATCH 2/2] Move setState call later --- .../ql-vscode/src/view/results/ResultsApp.tsx | 44 +++++++++---------- 1 file changed, 21 insertions(+), 23 deletions(-) diff --git a/extensions/ql-vscode/src/view/results/ResultsApp.tsx b/extensions/ql-vscode/src/view/results/ResultsApp.tsx index a31602d2788..99bd307b51a 100644 --- a/extensions/ql-vscode/src/view/results/ResultsApp.tsx +++ b/extensions/ql-vscode/src/view/results/ResultsApp.tsx @@ -79,31 +79,29 @@ export function ResultsApp() { const updateStateWithNewResultsInfo = useCallback( (resultsInfo: ResultsInfo): void => { - setState(() => { - let results: Results | null = null; - let statusText = ""; - try { - const resultSets = getResultSets(resultsInfo); - results = { - resultSets, - database: resultsInfo.database, - sortStates: getSortStates(resultsInfo), - }; - } catch (e) { - const errorMessage = getErrorMessage(e); + let results: Results | null = null; + let statusText = ""; + try { + const resultSets = getResultSets(resultsInfo); + results = { + resultSets, + database: resultsInfo.database, + sortStates: getSortStates(resultsInfo), + }; + } catch (e) { + const errorMessage = getErrorMessage(e); - statusText = `Error loading results: ${errorMessage}`; - } + statusText = `Error loading results: ${errorMessage}`; + } - return { - displayedResults: { - resultsInfo, - results, - errorMessage: statusText, - }, - nextResultsInfo: null, - isExpectingResultsUpdate: false, - }; + setState({ + displayedResults: { + resultsInfo, + results, + errorMessage: statusText, + }, + nextResultsInfo: null, + isExpectingResultsUpdate: false, }); }, [],