Skip to content

Commit 5b2e395

Browse files
committed
fix: gracefully skip removed plugins in update check
1 parent bb663c4 commit 5b2e395

2 files changed

Lines changed: 7 additions & 6 deletions

File tree

apps/www/src/app/api/bump/plugin/[slug]/route.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { FieldValue } from 'firebase-admin/firestore';
22
import { Database } from '../../../Firebase';
3-
import { FetchPlugins } from '../../v1/plugins/GetPlugins';
3+
import { FetchPlugins } from '../../../v1/plugins/GetPlugins';
44

55
function withCORS(response: Response): Response {
66
response.headers.set('Access-Control-Allow-Origin', 'https://steamloopback.host');
@@ -19,7 +19,7 @@ export async function GET(request: Request, { params }: { params: Promise<{ slug
1919
const { pluginData } = await FetchPlugins();
2020
const plugin = pluginData.find((p) => p.id === slug || p.initCommitId === slug);
2121

22-
if (!plugin) {
22+
if (!plugin || !plugin.initCommitId) {
2323
return withCORS(new Response(JSON.stringify({ success: false, message: 'Plugin not found' }), { status: 404 }));
2424
}
2525

apps/www/src/app/api/checkupdates/route.ts

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -136,22 +136,23 @@ async function CheckForPluginUpdates(plugins: PluginUpdateCheck[]) {
136136
const allPlugins = fetchResult.pluginData;
137137
const metadata = fetchResult.metadata;
138138

139-
const pluginStatuses: PluginUpdateStatus[] = plugins.map((plugin) => {
139+
const pluginStatuses: PluginUpdateStatus[] = plugins.flatMap((plugin) => {
140140
const metadataEntry = metadata.find((m) => m.id === plugin.id);
141141
const pluginInfo = allPlugins.find((p) => p.initCommitId === plugin.id);
142142

143143
if (!pluginInfo || !pluginInfo.commitId) {
144-
throw new Error(`Plugin ${plugin.id} not found or missing commit ID`);
144+
console.warn(`Plugin ${plugin.id} not found in database — skipping`);
145+
return [];
145146
}
146147

147-
return {
148+
return [{
148149
id: plugin.id,
149150
pluginDirectory: plugin.name,
150151
commit: pluginInfo.commitId,
151152
hasUpdate: metadataEntry ? metadataEntry.commitId !== plugin.commit : false,
152153
commitMessage: pluginInfo.commitMessage,
153154
pluginInfo: pluginInfo,
154-
};
155+
}];
155156
});
156157

157158
return pluginStatuses;

0 commit comments

Comments
 (0)