fix: resolve updateScheduler database and API issues

- Fix database field names: lastUpdateCheck -> last_update_check
- Fix database field names: updateAvailable -> update_available
- Fix database field names: latestVersion -> latest_version
- Add graceful GitHub API rate limit handling
- Return null instead of throwing error on rate limit
- Prevent database update errors on API failures
This commit is contained in:
Muhammad Ibrahim
2025-10-04 20:30:58 +01:00
parent a43fc9d380
commit 3ea8cc74b6

View File

@@ -123,9 +123,9 @@ class UpdateScheduler {
await prisma.settings.update({
where: { id: settings.id },
data: {
lastUpdateCheck: new Date(),
updateAvailable: isUpdateAvailable,
latestVersion: latestVersion,
last_update_check: new Date(),
update_available: isUpdateAvailable,
latest_version: latestVersion,
},
});
@@ -142,8 +142,8 @@ class UpdateScheduler {
await prisma.settings.update({
where: { id: settings.id },
data: {
lastUpdateCheck: new Date(),
updateAvailable: false,
last_update_check: new Date(),
update_available: false,
},
});
}
@@ -236,6 +236,16 @@ class UpdateScheduler {
});
if (!response.ok) {
const errorText = await response.text();
if (
errorText.includes("rate limit") ||
errorText.includes("API rate limit")
) {
console.log(
"⚠️ GitHub API rate limit exceeded, skipping update check",
);
return null; // Return null instead of throwing error
}
throw new Error(
`GitHub API error: ${response.status} ${response.statusText}`,
);