@@ -15,7 +15,7 @@ import { selectBboxRect, selectSelectedEntityIdentifier } from 'features/control
1515import type { CanvasRasterLayerState } from 'features/controlLayers/store/types' ;
1616import { imageNameToImageObject } from 'features/controlLayers/store/util' ;
1717import type { PropsWithChildren } from 'react' ;
18- import { createContext , memo , useContext , useMemo } from 'react' ;
18+ import { createContext , memo , useContext , useEffect , useMemo } from 'react' ;
1919import { getImageDTOSafe } from 'services/api/endpoints/images' ;
2020import { queueApi } from 'services/api/endpoints/queue' ;
2121import type { S } from 'services/api/types' ;
@@ -94,7 +94,16 @@ export const StagingAreaContextProvider = memo(({ children, sessionId }: PropsWi
9494
9595 return _stagingAreaAppApi ;
9696 } , [ sessionId , socket , store ] ) ;
97- const value = useMemo ( ( ) => new StagingAreaApi ( sessionId , stagingAreaAppApi ) , [ sessionId , stagingAreaAppApi ] ) ;
97+ const value = useMemo ( ( ) => {
98+ return new StagingAreaApi ( sessionId , stagingAreaAppApi ) ;
99+ } , [ sessionId , stagingAreaAppApi ] ) ;
100+
101+ useEffect ( ( ) => {
102+ const api = value ;
103+ return ( ) => {
104+ api . cleanup ( ) ;
105+ } ;
106+ } , [ value ] ) ;
98107
99108 return < StagingAreaContext . Provider value = { value } > { children } </ StagingAreaContext . Provider > ;
100109} ) ;
0 commit comments