|  | @@ -41,6 +41,7 @@ const useRefreshToken = () => {
 | 
	
		
			
				|  |  |        return new Error('No access token or refresh token found')
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |      if (localStorage?.getItem('is_refreshing') === '1') {
 | 
	
		
			
				|  |  | +      clearTimeout(timer.current)
 | 
	
		
			
				|  |  |        timer.current = setTimeout(() => {
 | 
	
		
			
				|  |  |          getNewAccessToken()
 | 
	
		
			
				|  |  |        }, 1000)
 | 
	
	
		
			
				|  | @@ -61,12 +62,14 @@ const useRefreshToken = () => {
 | 
	
		
			
				|  |  |        localStorage?.setItem('console_token', access_token)
 | 
	
		
			
				|  |  |        localStorage?.setItem('refresh_token', refresh_token)
 | 
	
		
			
				|  |  |        const newTokenExpireTime = getExpireTime(access_token)
 | 
	
		
			
				|  |  | +      clearTimeout(timer.current)
 | 
	
		
			
				|  |  |        timer.current = setTimeout(() => {
 | 
	
		
			
				|  |  |          getNewAccessToken()
 | 
	
		
			
				|  |  |        }, newTokenExpireTime - advanceTime.current - getCurrentTimeStamp())
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |      else {
 | 
	
		
			
				|  |  |        const newTokenExpireTime = getExpireTime(currentAccessToken)
 | 
	
		
			
				|  |  | +      clearTimeout(timer.current)
 | 
	
		
			
				|  |  |        timer.current = setTimeout(() => {
 | 
	
		
			
				|  |  |          getNewAccessToken()
 | 
	
		
			
				|  |  |        }, newTokenExpireTime - advanceTime.current - getCurrentTimeStamp())
 | 
	
	
		
			
				|  | @@ -74,8 +77,15 @@ const useRefreshToken = () => {
 | 
	
		
			
				|  |  |      return null
 | 
	
		
			
				|  |  |    }, [getExpireTime, getCurrentTimeStamp, handleError])
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +  const handleVisibilityChange = useCallback(() => {
 | 
	
		
			
				|  |  | +    if (document.visibilityState === 'visible')
 | 
	
		
			
				|  |  | +      getNewAccessToken()
 | 
	
		
			
				|  |  | +  }, [])
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |    useEffect(() => {
 | 
	
		
			
				|  |  | +    window.addEventListener('visibilitychange', handleVisibilityChange)
 | 
	
		
			
				|  |  |      return () => {
 | 
	
		
			
				|  |  | +      window.removeEventListener('visibilitychange', handleVisibilityChange)
 | 
	
		
			
				|  |  |        clearTimeout(timer.current)
 | 
	
		
			
				|  |  |        localStorage?.removeItem('is_refreshing')
 | 
	
		
			
				|  |  |      }
 |