diff options
author | Ansh <anshnanda10@gmail.com> | 2023-06-14 13:14:56 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-06-14 15:14:56 -0500 |
commit | 71af9fd04b49cd4ea0d33632a0b3b47f8a30fb0f (patch) | |
tree | 8370bb66affc27ffde2ca9388ffe34227a748882 /src/state/models/ui | |
parent | c060cd4158a9d5cb8b5d8e42a7168c90e28ea845 (diff) | |
download | voidsky-71af9fd04b49cd4ea0d33632a0b3b47f8a30fb0f.tar.zst |
add error handling to updateCache for saved-feeds (#878)
Diffstat (limited to 'src/state/models/ui')
-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 |