Only setup event stream when mounting the app

This commit is contained in:
Deluan 2021-05-11 20:27:12 -04:00
parent 0c93db816c
commit a77635e883
2 changed files with 11 additions and 9 deletions

@ -1,4 +1,4 @@
import React from 'react'
import React, { useEffect } from 'react'
import ReactGA from 'react-ga'
import 'react-jinke-music-player/assets/index.css'
import { Provider, useDispatch } from 'react-redux'
@ -65,13 +65,15 @@ const App = () => (
const Admin = (props) => {
useChangeThemeColor()
const dispatch = useDispatch()
if (config.devActivityPanel) {
setDispatch(dispatch)
authProvider
.checkAuth()
.then(() => startEventStream())
.catch(() => {}) // ignore if not logged in
}
useEffect(() => {
if (config.devActivityPanel) {
setDispatch(dispatch)
authProvider
.checkAuth()
.then(() => startEventStream())
.catch(() => {}) // ignore if not logged in
}
}, [dispatch])
return (
<RAAdmin

@ -14,7 +14,7 @@ let timeout = null
const getEventStream = async () => {
if (!es) {
// Call `keepalive` to refresh the jwt token
await httpClient(`${REST_URL}/keepalive/eventSource`)
await httpClient(`${REST_URL}/keepalive/keepalive`)
es = new EventSource(
baseUrl(`${REST_URL}/events?jwt=${localStorage.getItem('token')}`)
)