mirror of
https://github.com/SlimeVR/SlimeVR-Server.git
synced 2026-04-06 02:01:58 +02:00
Better fw update cache handling
This commit is contained in:
@@ -75,7 +75,12 @@ export function useProvideAppContext(): AppContext {
|
||||
});
|
||||
|
||||
useEffect(() => {
|
||||
fetchCurrentFirmwareRelease().then((res) => setCurrentFirmwareRelease(res));
|
||||
const interval = setInterval(() => {
|
||||
fetchCurrentFirmwareRelease().then((res) => setCurrentFirmwareRelease(res));
|
||||
}, 1000);
|
||||
return () => {
|
||||
clearInterval(interval);
|
||||
};
|
||||
}, []);
|
||||
|
||||
return {
|
||||
|
||||
@@ -55,13 +55,13 @@ export async function cacheWrap(
|
||||
orDefault: () => Promise<string | null>,
|
||||
ttl: number | undefined
|
||||
) {
|
||||
const realItem = await store.get(key);
|
||||
const realItem = await cacheGet(key);
|
||||
if (!realItem) {
|
||||
const defaultItem = await orDefault();
|
||||
await cacheSet(key, defaultItem, ttl);
|
||||
return defaultItem;
|
||||
} else {
|
||||
return (await cacheGet(key))!;
|
||||
return realItem;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -90,7 +90,13 @@ export async function fetchCurrentFirmwareRelease(): Promise<FirmwareRelease | n
|
||||
for (const release of releases) {
|
||||
const fwAsset = firstAsset(release.assets, 'BOARD_SLIMEVR-firmware.bin');
|
||||
const fw12Asset = firstAsset(release.assets, 'BOARD_SLIMEVR_V1_2-firmware.bin');
|
||||
if (!release.assets || (!fwAsset && !fw12Asset) /* || release.prerelease */)
|
||||
const deployAsset = firstAsset(release.assets, 'deploy.json');
|
||||
if (
|
||||
!release.assets ||
|
||||
!deployAsset ||
|
||||
(!fwAsset && !fw12Asset) ||
|
||||
release.prerelease
|
||||
)
|
||||
continue;
|
||||
|
||||
let version = release.tag_name;
|
||||
@@ -98,7 +104,6 @@ export async function fetchCurrentFirmwareRelease(): Promise<FirmwareRelease | n
|
||||
version = version.substring(1);
|
||||
}
|
||||
|
||||
const deployAsset = firstAsset(release.assets, 'deploy.json');
|
||||
const userCanUpdate = await checkUserCanUpdate(
|
||||
deployAsset?.browser_download_url,
|
||||
version
|
||||
|
||||
Reference in New Issue
Block a user