- src/lib/constants.ts: SW_VERSION_QUERY_TIMEOUT_MS, SW_UPDATE_POLL_INTERVAL_MS - pwa.svelte.ts: nutzt die Konstanten statt 1500/30*60_000 - cache-strategy.ts / diff-manifest.ts: RequestShape/ManifestDiff entkapselt (intern statt export, da nirgends extern importiert) - recipes/[id]/image: deutsche Fehlermeldungen auf Englisch (Konsistenz mit allen anderen Endpoints) Findings aus REVIEW-2026-04-18.md (Quick-Wins 6+7) und dead-code.md
15 lines
623 B
TypeScript
15 lines
623 B
TypeScript
// Vergleicht die aktuelle Rezept-ID-Liste (vom Server) mit dem, was
|
|
// der Cache schon hat. Der SW nutzt das Delta, um nur Neue zu laden
|
|
// und Gelöschte abzuräumen.
|
|
type ManifestDiff = { toAdd: number[]; toRemove: number[] };
|
|
|
|
export function diffManifest(currentIds: number[], cachedIds: number[]): ManifestDiff {
|
|
const current = new Set(currentIds);
|
|
const cached = new Set(cachedIds);
|
|
const toAdd: number[] = [];
|
|
const toRemove: number[] = [];
|
|
for (const id of current) if (!cached.has(id)) toAdd.push(id);
|
|
for (const id of cached) if (!current.has(id)) toRemove.push(id);
|
|
return { toAdd, toRemove };
|
|
}
|