diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/state/models/ui/saved-feeds.ts | 28 |
1 files changed, 19 insertions, 9 deletions
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 |