@@ -16,11 +16,12 @@ import {
1616 DEFAULT_USER_SETTINGS ,
1717 GRAPH_TABLE_NAME ,
1818} from "../../common/interface-types" ;
19+ import { useMessageFromExtension } from "../common/useMessageFromExtension" ;
1920import { ResultTables } from "./ResultTables" ;
2021import { onNavigation } from "./navigation" ;
2122
2223import "./resultsView.css" ;
23- import { useCallback , useEffect , useState } from "react" ;
24+ import { useCallback , useState } from "react" ;
2425
2526/**
2627 * ResultsApp.tsx
@@ -113,8 +114,8 @@ export function ResultsApp() {
113114 [ ] ,
114115 ) ;
115116
116- const handleMessage = useCallback (
117- ( msg : IntoResultsViewMsg ) : void => {
117+ useMessageFromExtension < IntoResultsViewMsg > (
118+ ( msg ) => {
118119 switch ( msg . t ) {
119120 case "setUserSettings" :
120121 setUserSettings ( msg . userSettings ) ;
@@ -189,26 +190,6 @@ export function ResultsApp() {
189190 [ updateStateWithNewResultsInfo ] ,
190191 ) ;
191192
192- const vscodeMessageHandler = useCallback (
193- ( evt : MessageEvent ) => {
194- // sanitize origin
195- const origin = evt . origin . replace ( / \n | \r / g, "" ) ;
196- if ( evt . origin === window . origin ) {
197- handleMessage ( evt . data as IntoResultsViewMsg ) ;
198- } else {
199- console . error ( `Invalid event origin ${ origin } ` ) ;
200- }
201- } ,
202- [ handleMessage ] ,
203- ) ;
204-
205- useEffect ( ( ) => {
206- window . addEventListener ( "message" , vscodeMessageHandler ) ;
207- return ( ) => {
208- window . removeEventListener ( "message" , vscodeMessageHandler ) ;
209- } ;
210- } , [ vscodeMessageHandler ] ) ;
211-
212193 const { displayedResults, nextResultsInfo, isExpectingResultsUpdate } = state ;
213194 if (
214195 displayedResults . results !== null &&
0 commit comments