More robust check of whether release notes exist (#175)

This commit is contained in:
Will Chen
2025-05-15 16:45:46 -07:00
committed by GitHub
parent 7bcb68e87d
commit 56900ebe9a
6 changed files with 88 additions and 19 deletions

View File

@@ -58,17 +58,25 @@ export default function HomePage() {
lastShownReleaseNotesVersion: appVersion,
});
// Check if release notes exist for this version
const url = `https://www.dyad.sh/docs/releases/${appVersion}`;
const exists = await checkPageExists(url);
if (exists) {
setReleaseUrl(url + "?hideHeader=true&theme=" + theme);
setReleaseNotesOpen(true);
try {
const result = await IpcClient.getInstance().doesReleaseNoteExist({
version: appVersion,
});
if (result.exists && result.url) {
setReleaseUrl(result.url + "?hideHeader=true&theme=" + theme);
setReleaseNotesOpen(true);
}
} catch (err) {
console.warn(
"Unable to check if release note exists for: " + appVersion,
err,
);
}
}
};
updateLastVersionLaunched();
}, [appVersion, settings, updateSettings]);
}, [appVersion, settings, updateSettings, theme]);
// Get the appId from search params
const appId = search.appId ? Number(search.appId) : null;
@@ -251,15 +259,3 @@ export default function HomePage() {
</div>
);
}
function checkPageExists(url: string) {
return fetch(url, { mode: "no-cors" })
.then(() => {
// Promise resolved - resource likely exists
return true;
})
.catch(() => {
// Promise rejected - resource likely doesn't exist or network error
return false;
});
}