ghp / packages /client /src /hooks /useVersionCheck.ts
QSLY's picture
deploy: build Hugging Face Space from source
00a912e
Raw
History Blame Contribute Delete
847 Bytes
import { SERVER_URL } from '@/lib/config'
import { useEffect, useState } from 'react'
/**
* Check once on mount whether the server is running a newer version
* than the client was built with. Returns `true` when an update is available.
*/
export function useVersionCheck() {
const [hasUpdate, setHasUpdate] = useState(false)
useEffect(() => {
const controller = new AbortController()
fetch(`${SERVER_URL}/api/version`, { signal: controller.signal })
.then((res) => (res.ok ? res.json() : null))
.then((data: { version: string } | null) => {
if (data?.version && data.version !== __APP_VERSION__) {
setHasUpdate(true)
}
})
.catch(() => {
// Silently ignore — network errors, server down, etc.
})
return () => controller.abort()
}, [])
return hasUpdate
}