mirror of
https://github.com/Athou/commafeed.git
synced 2026-03-21 21:37:29 +00:00
websocket can now be disabled, the websocket ping interval and the tree reload interval can now be configured (#1132)
This commit is contained in:
@@ -95,6 +95,7 @@ export default function Layout(props: LayoutProps) {
|
||||
const mobile = useMobile()
|
||||
const mobileMenuOpen = useAppSelector(state => state.tree.mobileMenuOpen)
|
||||
const webSocketConnected = useAppSelector(state => state.server.webSocketConnected)
|
||||
const treeReloadInterval = useAppSelector(state => state.server.serverInfos?.treeReloadInterval)
|
||||
const sidebarHidden = props.sidebarWidth === 0
|
||||
const dispatch = useAppDispatch()
|
||||
useWebSocket()
|
||||
@@ -110,12 +111,15 @@ export default function Layout(props: LayoutProps) {
|
||||
}, [dispatch])
|
||||
|
||||
useEffect(() => {
|
||||
// reload tree periodically if not receiving websocket events
|
||||
const timer = setInterval(() => {
|
||||
if (!webSocketConnected) dispatch(reloadTree())
|
||||
}, 30000)
|
||||
let timer: number | undefined
|
||||
|
||||
if (!webSocketConnected && treeReloadInterval) {
|
||||
// reload tree periodically if not receiving websocket events
|
||||
timer = window.setInterval(() => dispatch(reloadTree()), treeReloadInterval)
|
||||
}
|
||||
|
||||
return () => clearInterval(timer)
|
||||
}, [dispatch, webSocketConnected])
|
||||
}, [dispatch, webSocketConnected, treeReloadInterval])
|
||||
|
||||
const burger = (
|
||||
<Center>
|
||||
|
||||
Reference in New Issue
Block a user