summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVictor Borges <victor1882@outlook.com>2025-04-30 00:39:58 -0300
committerVictor Borges <victor1882@outlook.com>2025-04-30 00:39:58 -0300
commita0e5a71b4b604a16f0621400605e3f7005ac49fb (patch)
tree944b3b9891e8edd6f72b2d311cb3ea60c59724f2
parent929466b648cd4cbcdc671ccb2efa8e944a86a74b (diff)
downloaddecky-bazzite-buddy-a0e5a71b4b604a16f0621400605e3f7005ac49fb.tar.gz
decky-bazzite-buddy-a0e5a71b4b604a16f0621400605e3f7005ac49fb.zip
add more undefined checks
-rw-r--r--src/PartnerEventStorePatch.tsx13
1 files changed, 8 insertions, 5 deletions
diff --git a/src/PartnerEventStorePatch.tsx b/src/PartnerEventStorePatch.tsx
index d7ef75b..3aa2a94 100644
--- a/src/PartnerEventStorePatch.tsx
+++ b/src/PartnerEventStorePatch.tsx
@@ -32,7 +32,9 @@ const steamClanSteamID = "103582791470414830";
const steamClanID = "40893422";
const steamOSAppId = 1675200;
const githubReleasesURI = "https://api.github.com/repos/ublue-os/bazzite/releases";
-const generator = fetchReleases();
+let generator: AsyncGenerator<any, undefined, unknown>;
+const mutex = new Mutex();
+const cachedGithubReleases: { gid: string, release: any }[] = [];
enum SteamEventType {
SmallUpdate = 12,
@@ -50,9 +52,6 @@ enum SteamOSChannel {
Preview = "previewchannel",
}
-const mutex = new Mutex();
-const cachedGithubReleases: { gid: string, release: any }[] = [];
-
export function patchPartnerEventStore(): Patch[] {
const loadAdjacentPartnerEventsPatch = replacePatch(
PartnerEventStore.prototype,
@@ -244,13 +243,17 @@ async function LoadBazziteReleasesAsPartnerEvents(module: any, gid: any, tags: S
async function fetchMoreReleases(count: number, beta: boolean) {
const releases = [];
+
+ if (!generator && cachedGithubReleases.length === 0)
+ generator = fetchReleases();
+
let iterator;
do {
iterator = await generator.next();
const release = iterator.value;
- if ((beta && release.prerelease) || (!beta && !release.prerelease))
+ if (release && ((beta && release.prerelease) || (!beta && !release.prerelease)))
releases.push(release);
} while (releases.length < count && !iterator.done)