feat: add force update option for manual update checks

This commit is contained in:
Adam Shiervani 2025-02-18 14:05:13 +01:00
parent e9191d7972
commit 4010385f32
2 changed files with 19 additions and 1 deletions

1
.gitignore vendored
View File

@ -1,3 +1,4 @@
node_modules
.idea
.env
.env.development

View File

@ -185,6 +185,23 @@ export async function Retrieve(req: express.Request, res: express.Response) {
select: { version: true, url: true, rolloutPercentage: true, hash: true },
});
/*
Return the latest release if forceUpdate is true, bypassing rollout rules.
This occurs when a user manually checks for updates in the app UI.
Background update checks follow the normal rollout percentage rules, to ensure controlled, gradual deployment of updates.
*/
const forceUpdate = req.query.forceUpdate === "true";
if (forceUpdate) {
return res.json({
appVersion: latestAppRelease.version,
appUrl: latestAppRelease.url,
appHash: latestAppRelease.hash,
systemVersion: latestSystemRelease.version,
systemUrl: latestSystemRelease.url,
systemHash: latestSystemRelease.hash,
});
}
const defaultAppRelease = await getDefaultRelease("app");
const defaultSystemRelease = await getDefaultRelease("system");