From 71af9fd04b49cd4ea0d33632a0b3b47f8a30fb0f Mon Sep 17 00:00:00 2001 From: Ansh Date: Wed, 14 Jun 2023 13:14:56 -0700 Subject: add error handling to updateCache for saved-feeds (#878) --- src/state/models/ui/saved-feeds.ts | 28 +++++++++++++++++++--------- 1 file changed, 19 insertions(+), 9 deletions(-) (limited to 'src/state/models/ui') diff --git a/src/state/models/ui/saved-feeds.ts b/src/state/models/ui/saved-feeds.ts index f82666517..40265f7cf 100644 --- a/src/state/models/ui/saved-feeds.ts +++ b/src/state/models/ui/saved-feeds.ts @@ -78,17 +78,27 @@ export class SavedFeedsModel { } } + // early exit if no feeds need to be fetched + if (!neededFeedUris.length || neededFeedUris.length === 0) { + return + } + // fetch the missing models - for (let i = 0; i < neededFeedUris.length; i += 25) { - const res = await this.rootStore.agent.app.bsky.feed.getFeedGenerators({ - feeds: neededFeedUris.slice(i, 25), - }) - for (const feedInfo of res.data.feeds) { - newFeedModels[feedInfo.uri] = new CustomFeedModel( - this.rootStore, - feedInfo, - ) + try { + for (let i = 0; i < neededFeedUris.length; i += 25) { + const res = await this.rootStore.agent.app.bsky.feed.getFeedGenerators({ + feeds: neededFeedUris.slice(i, 25), + }) + for (const feedInfo of res.data.feeds) { + newFeedModels[feedInfo.uri] = new CustomFeedModel( + this.rootStore, + feedInfo, + ) + } } + } catch (error) { + console.error('Failed to fetch feed models', error) + this.rootStore.log.error('Failed to fetch feed models', error) } // merge into the cache -- cgit 1.4.1