fix socket bug memory leak

This commit is contained in:
PhilReact 2024-12-24 06:23:14 +02:00
parent 15d8bcbc65
commit 8b4ac1a3ce

View File

@ -109,6 +109,23 @@ export const TradeOffers: React.FC<any> = ({foreignCoinBalance}:any) => {
} }
} }
const restartTradeOffers = ()=> {
if (socketRef.current) {
socketRef.current.close(1000, 'forced'); // Close with a custom reason
socketRef.current = null
}
offeringTrades.current = []
setOffers([])
setSelectedOffer(null)
}
const restartPresence = ()=> {
if (socketPresenceRef.current) {
socketPresenceRef.current.close(1000, 'forced'); // Close with a custom reason
socketPresenceRef.current = null
}
}
const columnDefs: ColDef[] = useMemo(()=> { const columnDefs: ColDef[] = useMemo(()=> {
return [ return [
{ {
@ -260,10 +277,12 @@ export const TradeOffers: React.FC<any> = ({foreignCoinBalance}:any) => {
} }
const restartTradeOffersWebSocket = () => { const restartTradeOffersWebSocket = () => {
restartPresence()
setTimeout(() => initTradeOffersWebSocket(true), 50) setTimeout(() => initTradeOffersWebSocket(true), 50)
} }
const initTradePresenceWebSocket = (restarted = false) => { const initTradePresenceWebSocket = (restarted = false) => {
if(socketPresenceRef.current) return
let socketTimeout: any let socketTimeout: any
let socketLink let socketLink
if(isUsingGateway){ if(isUsingGateway){
@ -302,22 +321,7 @@ export const TradeOffers: React.FC<any> = ({foreignCoinBalance}:any) => {
} }
const restartTradeOffers = ()=> {
if (socketRef.current) {
socketRef.current.close(1000, 'forced'); // Close with a custom reason
socketRef.current = null
}
offeringTrades.current = []
setOffers([])
setSelectedOffer(null)
}
const restartPresence = ()=> {
if (socketPresenceRef.current) {
socketPresenceRef.current.close(1000, 'forced'); // Close with a custom reason
socketPresenceRef.current = null
}
}
const initTradeOffersWebSocket = (restarted = false) => { const initTradeOffersWebSocket = (restarted = false) => {