From 255beb0c1f74fe3a72a8069f30395b7774442f88 Mon Sep 17 00:00:00 2001 From: Paul Frazee Date: Mon, 18 Sep 2023 13:38:33 -0700 Subject: Various release fixes (#1470) * Fix error state for recommended feeds * Handle failure to set default feeds more safely * Dont return undefined within react-query * Update yarn.lock --- src/state/models/ui/preferences.ts | 28 +++++++++++++---------- src/view/com/auth/onboarding/RecommendedFeeds.tsx | 12 ++++++---- 2 files changed, 24 insertions(+), 16 deletions(-) (limited to 'src') diff --git a/src/state/models/ui/preferences.ts b/src/state/models/ui/preferences.ts index 7232a7b74..3790b3a92 100644 --- a/src/state/models/ui/preferences.ts +++ b/src/state/models/ui/preferences.ts @@ -233,18 +233,22 @@ export class PreferencesModel { // set defaults on missing items if (typeof prefs.feeds.saved === 'undefined') { - const {saved, pinned} = await DEFAULT_FEEDS( - this.rootStore.agent.service.toString(), - (handle: string) => - this.rootStore.agent - .resolveHandle({handle}) - .then(({data}) => data.did), - ) - runInAction(() => { - this.savedFeeds = saved - this.pinnedFeeds = pinned - }) - await this.rootStore.agent.setSavedFeeds(saved, pinned) + try { + const {saved, pinned} = await DEFAULT_FEEDS( + this.rootStore.agent.service.toString(), + (handle: string) => + this.rootStore.agent + .resolveHandle({handle}) + .then(({data}) => data.did), + ) + runInAction(() => { + this.savedFeeds = saved + this.pinnedFeeds = pinned + }) + await this.rootStore.agent.setSavedFeeds(saved, pinned) + } catch (error) { + this.rootStore.log.error('Failed to set default feeds', {error}) + } } } finally { this.lock.release() diff --git a/src/view/com/auth/onboarding/RecommendedFeeds.tsx b/src/view/com/auth/onboarding/RecommendedFeeds.tsx index 8e29a5895..b39714ef2 100644 --- a/src/view/com/auth/onboarding/RecommendedFeeds.tsx +++ b/src/view/com/auth/onboarding/RecommendedFeeds.tsx @@ -34,13 +34,15 @@ export const RecommendedFeeds = observer(function RecommendedFeedsImpl({ success, } = await store.agent.app.bsky.feed.getSuggestedFeeds() - if (!success) return + if (!success) { + return [] + } return (feeds.length ? feeds : []).map(feed => { return new CustomFeedModel(store, feed) }) } catch (e) { - return + return [] } }, }) @@ -148,11 +150,13 @@ export const RecommendedFeeds = observer(function RecommendedFeedsImpl({ style={{flex: 1}} /> ) : isLoading ? ( - + ) : ( - + + + )}