2 Commits

Author SHA1 Message Date
e76affaea1 fix: force stable release stream 2025-07-24 08:31:37 +02:00
700274d7d8 fix: invalid responses from osu api 2025-07-24 08:31:26 +02:00
2 changed files with 23 additions and 3 deletions

View File

@@ -18,11 +18,13 @@ export const osuapi = {
}, },
}); });
if (request.error) { if (request.error) {
if (request.error.status >= 500 && request.error.status < 600)
throw new Error('Server not reachable');
return undefined; return undefined;
} }
const releaseData = request.data; const releaseData = request.data;
if (!releaseData || !releaseData.streams) {
return undefined;
}
if (releaseData.streams.length === 0) return undefined;
const selectedRelease = releaseData.streams.find( const selectedRelease = releaseData.streams.find(
(releaseBuild) => (releaseBuild) =>
releaseBuild.name.toLowerCase() === releaseStream.replaceAll(' ', '').toLowerCase() releaseBuild.name.toLowerCase() === releaseStream.replaceAll(' ', '').toLowerCase()

View File

@@ -241,13 +241,31 @@
const streamInfo = await osuapi.latestBuildVersion('stable40'); const streamInfo = await osuapi.latestBuildVersion('stable40');
if (!streamInfo) { if (!streamInfo) {
toast.error('Hmmm...', { toast.error('Hmmm...', {
description: 'Failed to check for updates.', description: 'Failed to check for updates, maybe osu! is down?',
}); });
launching.set(false); launching.set(false);
return; return;
} }
const releaseStream = await getReleaseStream(osuPath); const releaseStream = await getReleaseStream(osuPath);
if (releaseStream === undefined) {
toast.error('Hmmm...', {
description: 'Failed to get osu! release stream.',
});
launching.set(false);
return;
}
// only stable osu! release streams are supported for now
if (!releaseStream.toLowerCase().includes('stable')) {
toast.error('Hmmm...', {
description: 'You are not on the stable release stream, please switch to it.',
});
launching.set(false);
return;
}
const osuCorrupted = await isOsuCorrupted(osuPath); const osuCorrupted = await isOsuCorrupted(osuPath);
let forceUpdate = let forceUpdate =
(releaseStream && releaseStream.toLowerCase() !== 'stable40') || osuCorrupted; (releaseStream && releaseStream.toLowerCase() !== 'stable40') || osuCorrupted;