diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/state/models/ui/preferences.ts | 28 | ||||
-rw-r--r-- | src/view/com/auth/onboarding/RecommendedFeeds.tsx | 12 |
2 files changed, 24 insertions, 16 deletions
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 ? ( - <View> + <View style={{flex: 1}}> <ActivityIndicator size="large" /> </View> ) : ( - <ErrorMessage message="Failed to load recommended feeds" /> + <View style={{flex: 1}}> + <ErrorMessage message="Failed to load recommended feeds" /> + </View> )} <Button |