Bluesky app fork with some witchin' additions 💫
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

Clean up some sentry logs (#2630)

* Change prop name for sentry ingestion

* Fix test

* Add default object

authored by

Eric Bailey and committed by
GitHub
bc502eda 3371038f

+84 -147
+1 -1
src/lib/hooks/useOTAUpdate.ts
··· 36 36 showUpdatePopup() 37 37 } catch (e) { 38 38 logger.error('useOTAUpdate: Error while checking for update', { 39 - error: e, 39 + message: e, 40 40 }) 41 41 } 42 42 }, [showUpdatePopup])
+2 -2
src/lib/notifications/notifications.ts
··· 40 40 logger.DebugContext.notifications, 41 41 ) 42 42 } catch (error) { 43 - logger.error('Notifications: Failed to set push token', {error}) 43 + logger.error('Notifications: Failed to set push token', {message: error}) 44 44 } 45 45 } 46 46 ··· 71 71 logger.DebugContext.notifications, 72 72 ) 73 73 } catch (error) { 74 - logger.error('Notifications: Failed to set push token', {error}) 74 + logger.error('Notifications: Failed to set push token', {message: error}) 75 75 } 76 76 }) 77 77 return () => {
+1 -1
src/state/models/media/image.ts
··· 186 186 this.cropped = cropped 187 187 }) 188 188 } catch (err) { 189 - logger.error('Failed to crop photo', {error: err}) 189 + logger.error('Failed to crop photo', {message: err}) 190 190 } 191 191 } 192 192
+1 -1
src/state/persisted/__tests__/migrate.test.ts
··· 88 88 expect(logger.error).toHaveBeenCalledWith( 89 89 'persisted state: legacy data failed validation', 90 90 // @ts-ignore 91 - {error: validate.error}, 91 + {message: validate.error}, 92 92 ) 93 93 })
+3 -3
src/state/persisted/index.ts
··· 34 34 logger.log('persisted state: initialized') 35 35 } catch (e) { 36 36 logger.error('persisted state: failed to load root state from storage', { 37 - error: e, 37 + message: e, 38 38 }) 39 39 // AsyncStorage failure, but we can still continue in memory 40 40 return defaults ··· 59 59 }) 60 60 } catch (e) { 61 61 logger.error(`persisted state: failed writing root state to storage`, { 62 - error: e, 62 + message: e, 63 63 }) 64 64 } 65 65 } ··· 89 89 logger.error( 90 90 `persisted state: failed handling update from broadcast channel`, 91 91 { 92 - error: e, 92 + message: e, 93 93 }, 94 94 ) 95 95 }
+2 -30
src/state/persisted/legacy.ts
··· 127 127 const newData = await read() 128 128 const alreadyMigrated = Boolean(newData) 129 129 130 - /* TODO BEGIN DEBUG — remove this eventually */ 131 - try { 132 - if (rawLegacyData) { 133 - const legacy = JSON.parse(rawLegacyData) as Partial<LegacySchema> 134 - logger.info(`persisted state: debug legacy data`, { 135 - hasExistingLoggedInAccount: Boolean(legacy?.session?.data), 136 - numberOfExistingAccounts: legacy?.session?.accounts?.length, 137 - foundExistingCurrentAccount: Boolean( 138 - legacy.session?.accounts?.find( 139 - a => a.did === legacy.session?.data?.did, 140 - ), 141 - ), 142 - }) 143 - logger.info(`persisted state: debug new data`, { 144 - hasNewData: Boolean(newData), 145 - hasExistingLoggedInAccount: Boolean(newData?.session?.currentAccount), 146 - numberOfExistingAccounts: newData?.session?.accounts?.length, 147 - existingAccountMatchesLegacy: Boolean( 148 - newData?.session?.currentAccount?.did === 149 - legacy?.session?.data?.did, 150 - ), 151 - }) 152 - } 153 - } catch (e: any) { 154 - logger.error(e, {message: `persisted state: legacy debugging failed`}) 155 - } 156 - /* TODO END DEBUG */ 157 - 158 130 if (!alreadyMigrated && rawLegacyData) { 159 131 logger.info('persisted state: migrating legacy storage') 160 132 ··· 167 139 logger.info('persisted state: migrated legacy storage') 168 140 } else { 169 141 logger.error('persisted state: legacy data failed validation', { 170 - error: validate.error, 142 + message: validate.error, 171 143 }) 172 144 } 173 145 } else { ··· 185 157 await AsyncStorage.removeItem(DEPRECATED_ROOT_STATE_STORAGE_KEY) 186 158 } catch (e: any) { 187 159 logger.error(`persisted legacy store: failed to clear`, { 188 - error: e.toString(), 160 + message: e.toString(), 189 161 }) 190 162 } 191 163 }
+1 -1
src/state/persisted/store.ts
··· 22 22 try { 23 23 await AsyncStorage.removeItem(BSKY_STORAGE) 24 24 } catch (e: any) { 25 - logger.error(`persisted store: failed to clear`, {error: e.toString()}) 25 + logger.error(`persisted store: failed to clear`, {message: e.toString()}) 26 26 } 27 27 }
+1 -1
src/state/queries/actor-autocomplete.ts
··· 75 75 }) 76 76 } catch (e) { 77 77 logger.error('useActorSearch: searchActorsTypeahead failed', { 78 - error: e, 78 + message: e, 79 79 }) 80 80 } 81 81 }
+9 -46
src/state/session/index.tsx
··· 138 138 139 139 logger.info(`session: persistSession`, { 140 140 event, 141 - did: refreshedAccount.did, 142 - handle: refreshedAccount.handle, 143 - service: refreshedAccount.service, 144 141 deactivated: refreshedAccount.deactivated, 145 142 }) 146 143 ··· 217 214 verificationPhone, 218 215 verificationCode, 219 216 }: any) => { 220 - logger.info(`session: creating account`, { 221 - service, 222 - handle, 223 - }) 217 + logger.info(`session: creating account`) 224 218 track('Try Create Account') 225 219 226 220 const agent = new BskyAgent({service}) ··· 272 266 queryClient.clear() 273 267 upsertAccount(account) 274 268 275 - logger.debug( 276 - `session: created account`, 277 - { 278 - service, 279 - handle, 280 - }, 281 - logger.DebugContext.session, 282 - ) 269 + logger.debug(`session: created account`, {}, logger.DebugContext.session) 283 270 track('Create Account') 284 271 }, 285 272 [upsertAccount, queryClient, clearCurrentAccount], ··· 287 274 288 275 const login = React.useCallback<ApiContext['login']>( 289 276 async ({service, identifier, password}) => { 290 - logger.debug( 291 - `session: login`, 292 - { 293 - service, 294 - identifier, 295 - }, 296 - logger.DebugContext.session, 297 - ) 277 + logger.debug(`session: login`, {}, logger.DebugContext.session) 298 278 299 279 const agent = new BskyAgent({service}) 300 280 ··· 329 309 queryClient.clear() 330 310 upsertAccount(account) 331 311 332 - logger.debug( 333 - `session: logged in`, 334 - { 335 - service, 336 - identifier, 337 - }, 338 - logger.DebugContext.session, 339 - ) 312 + logger.debug(`session: logged in`, {}, logger.DebugContext.session) 340 313 341 314 track('Sign In', {resumedSession: false}) 342 315 }, ··· 360 333 361 334 const initSession = React.useCallback<ApiContext['initSession']>( 362 335 async account => { 363 - logger.debug( 364 - `session: initSession`, 365 - { 366 - did: account.did, 367 - handle: account.handle, 368 - }, 369 - logger.DebugContext.session, 370 - ) 336 + logger.debug(`session: initSession`, {}, logger.DebugContext.session) 371 337 372 338 const agent = new BskyAgent({ 373 339 service: account.service, ··· 435 401 * we handle that failure via `createPersistSessionHandler` 436 402 */ 437 403 logger.info(`session: resumeSessionWithFreshAccount failed`, { 438 - error: e, 404 + message: e, 439 405 }) 440 406 441 407 __globalAgent = PUBLIC_BSKY_AGENT ··· 454 420 * we handle that failure via `createPersistSessionHandler` 455 421 */ 456 422 logger.info(`session: resumeSessionWithFreshAccount failed`, { 457 - error: e, 423 + message: e, 458 424 }) 459 425 460 426 __globalAgent = PUBLIC_BSKY_AGENT ··· 497 463 await initSession(account) 498 464 } 499 465 } catch (e) { 500 - logger.error(`session: resumeSession failed`, {error: e}) 466 + logger.error(`session: resumeSession failed`, {message: e}) 501 467 } finally { 502 468 setState(s => ({ 503 469 ...s, ··· 613 579 } else if (!session.currentAccount && state.currentAccount) { 614 580 logger.debug( 615 581 `session: persisted onUpdate, logging out`, 616 - { 617 - did: state.currentAccount?.did, 618 - handle: state.currentAccount?.handle, 619 - }, 582 + {}, 620 583 logger.DebugContext.session, 621 584 ) 622 585
+5 -3
src/view/com/auth/create/state.ts
··· 119 119 } catch (e: any) { 120 120 logger.error( 121 121 `Failed to request sms verification code (${e.status} status)`, 122 - {error: e}, 122 + {message: e}, 123 123 ) 124 124 uiDispatch({type: 'set-error', value: cleanError(e.toString())}) 125 125 } ··· 204 204 } 205 205 206 206 if ([400, 429].includes(e.status)) { 207 - logger.warn('Failed to create account', {error: e}) 207 + logger.warn('Failed to create account', {message: e}) 208 208 } else { 209 - logger.error(`Failed to create account (${e.status} status)`, {error: e}) 209 + logger.error(`Failed to create account (${e.status} status)`, { 210 + message: e, 211 + }) 210 212 } 211 213 212 214 uiDispatch({type: 'set-processing', value: false})
+2 -2
src/view/com/auth/onboarding/RecommendedFeedsItem.tsx
··· 55 55 resetRemoveFeed() 56 56 } catch (e) { 57 57 Toast.show(_(msg`There was an issue contacting your server`)) 58 - logger.error('Failed to unsave feed', {error: e}) 58 + logger.error('Failed to unsave feed', {message: e}) 59 59 } 60 60 } else { 61 61 try { ··· 64 64 track('Onboarding:CustomFeedAdded') 65 65 } catch (e) { 66 66 Toast.show(_(msg`There was an issue contacting your server`)) 67 - logger.error('Failed to pin feed', {error: e}) 67 + logger.error('Failed to pin feed', {message: e}) 68 68 } 69 69 } 70 70 }
+1 -1
src/view/com/auth/onboarding/RecommendedFollows.tsx
··· 135 135 } 136 136 } catch (e) { 137 137 logger.error('RecommendedFollows: failed to get suggestions', { 138 - error: e, 138 + message: e, 139 139 }) 140 140 } 141 141 }
+1 -1
src/view/com/auth/onboarding/RecommendedFollowsItem.tsx
··· 88 88 } catch (e: any) { 89 89 if (e?.name !== 'AbortError') { 90 90 logger.error('RecommendedFollows: failed to toggle following', { 91 - error: e, 91 + message: e, 92 92 }) 93 93 } 94 94 } finally {
+3 -3
src/view/com/composer/useExternalLinkFetch.ts
··· 51 51 }, 52 52 err => { 53 53 logger.error('Failed to fetch post for quote embedding', { 54 - error: err.toString(), 54 + message: err.toString(), 55 55 }) 56 56 setExtLink(undefined) 57 57 }, ··· 70 70 }) 71 71 }, 72 72 err => { 73 - logger.error('Failed to fetch feed for embedding', {error: err}) 73 + logger.error('Failed to fetch feed for embedding', {message: err}) 74 74 setExtLink(undefined) 75 75 }, 76 76 ) ··· 88 88 }) 89 89 }, 90 90 err => { 91 - logger.error('Failed to fetch list for embedding', {error: err}) 91 + logger.error('Failed to fetch list for embedding', {message: err}) 92 92 setExtLink(undefined) 93 93 }, 94 94 )
+3 -3
src/view/com/feeds/FeedSourceCard.tsx
··· 111 111 Toast.show(_(msg`Removed from my feeds`)) 112 112 } catch (e) { 113 113 Toast.show(_(msg`There was an issue contacting your server`)) 114 - logger.error('Failed to unsave feed', {error: e}) 114 + logger.error('Failed to unsave feed', {message: e}) 115 115 } 116 116 }, 117 117 }) ··· 125 125 Toast.show(_(msg`Added to my feeds`)) 126 126 } catch (e) { 127 127 Toast.show(_(msg`There was an issue contacting your server`)) 128 - logger.error('Failed to save feed', {error: e}) 128 + logger.error('Failed to save feed', {message: e}) 129 129 } 130 130 } 131 131 }, [isSaved, openModal, feed, removeFeed, saveFeed, _, pinOnSave, pinFeed]) ··· 180 180 Toast.show( 181 181 _(msg`There was an issue contacting your server`), 182 182 ) 183 - logger.error('Failed to unsave feed', {error: e}) 183 + logger.error('Failed to unsave feed', {message: e}) 184 184 } 185 185 }, 186 186 })
+2 -2
src/view/com/feeds/ProfileFeedgens.tsx
··· 103 103 try { 104 104 await refetch() 105 105 } catch (err) { 106 - logger.error('Failed to refresh feeds', {error: err}) 106 + logger.error('Failed to refresh feeds', {message: err}) 107 107 } 108 108 setIsPTRing(false) 109 109 }, [refetch, setIsPTRing]) ··· 114 114 try { 115 115 await fetchNextPage() 116 116 } catch (err) { 117 - logger.error('Failed to load more feeds', {error: err}) 117 + logger.error('Failed to load more feeds', {message: err}) 118 118 } 119 119 }, [isFetching, hasNextPage, isError, fetchNextPage]) 120 120
+2 -2
src/view/com/lists/ListMembers.tsx
··· 103 103 try { 104 104 await refetch() 105 105 } catch (err) { 106 - logger.error('Failed to refresh lists', {error: err}) 106 + logger.error('Failed to refresh lists', {message: err}) 107 107 } 108 108 setIsRefreshing(false) 109 109 }, [refetch, track, setIsRefreshing]) ··· 114 114 try { 115 115 await fetchNextPage() 116 116 } catch (err) { 117 - logger.error('Failed to load more lists', {error: err}) 117 + logger.error('Failed to load more lists', {message: err}) 118 118 } 119 119 }, [isFetching, hasNextPage, isError, fetchNextPage, track]) 120 120
+1 -1
src/view/com/lists/MyLists.tsx
··· 69 69 try { 70 70 await refetch() 71 71 } catch (err) { 72 - logger.error('Failed to refresh lists', {error: err}) 72 + logger.error('Failed to refresh lists', {message: err}) 73 73 } 74 74 setIsPTRing(false) 75 75 }, [refetch, track, setIsPTRing])
+2 -2
src/view/com/lists/ProfileLists.tsx
··· 106 106 try { 107 107 await refetch() 108 108 } catch (err) { 109 - logger.error('Failed to refresh lists', {error: err}) 109 + logger.error('Failed to refresh lists', {message: err}) 110 110 } 111 111 setIsPTRing(false) 112 112 }, [refetch, track, setIsPTRing]) ··· 118 118 try { 119 119 await fetchNextPage() 120 120 } catch (err) { 121 - logger.error('Failed to load more lists', {error: err}) 121 + logger.error('Failed to load more lists', {message: err}) 122 122 } 123 123 }, [isFetching, hasNextPage, isError, fetchNextPage, track]) 124 124
+1 -1
src/view/com/modals/AddAppPasswords.tsx
··· 116 116 } 117 117 } catch (e) { 118 118 Toast.show(_(msg`Failed to create app password.`), 'times') 119 - logger.error('Failed to create app password', {error: e}) 119 + logger.error('Failed to create app password', {message: e}) 120 120 } 121 121 } 122 122
+1 -1
src/view/com/modals/BirthDateSettings.tsx
··· 43 43 await setBirthDate({birthDate: date}) 44 44 closeModal() 45 45 } catch (e) { 46 - logger.error(`setBirthDate failed`, {error: e}) 46 + logger.error(`setBirthDate failed`, {message: e}) 47 47 } 48 48 }, [date, setBirthDate, closeModal]) 49 49
+1 -1
src/view/com/modals/ChangeHandle.tsx
··· 121 121 onChanged() 122 122 } catch (err: any) { 123 123 setError(cleanError(err)) 124 - logger.error('Failed to update handle', {handle, error: err}) 124 + logger.error('Failed to update handle', {handle, message: err}) 125 125 } finally { 126 126 } 127 127 }, [
+1 -1
src/view/com/modals/ContentFilteringSettings.tsx
··· 125 125 Toast.show( 126 126 _(msg`There was an issue syncing your preferences with the server`), 127 127 ) 128 - logger.error('Failed to update preferences with server', {error: e}) 128 + logger.error('Failed to update preferences with server', {message: e}) 129 129 } 130 130 }, [variables, preferences, mutate, _]) 131 131
+1 -1
src/view/com/modals/EditProfile.tsx
··· 129 129 onUpdate?.() 130 130 closeModal() 131 131 } catch (e: any) { 132 - logger.error('Failed to update user profile', {error: String(e)}) 132 + logger.error('Failed to update user profile', {message: String(e)}) 133 133 } 134 134 }, [ 135 135 track,
+2 -2
src/view/com/notifications/Feed.tsx
··· 73 73 await checkUnread({invalidate: true}) 74 74 } catch (err) { 75 75 logger.error('Failed to refresh notifications feed', { 76 - error: err, 76 + message: err, 77 77 }) 78 78 } finally { 79 79 setIsPTRing(false) ··· 86 86 try { 87 87 await fetchNextPage() 88 88 } catch (err) { 89 - logger.error('Failed to load more notifications', {error: err}) 89 + logger.error('Failed to load more notifications', {message: err}) 90 90 } 91 91 }, [isFetching, hasNextPage, isError, fetchNextPage]) 92 92
+2 -2
src/view/com/post-thread/PostLikedBy.tsx
··· 40 40 try { 41 41 await refetch() 42 42 } catch (err) { 43 - logger.error('Failed to refresh likes', {error: err}) 43 + logger.error('Failed to refresh likes', {message: err}) 44 44 } 45 45 setIsPTRing(false) 46 46 }, [refetch, setIsPTRing]) ··· 50 50 try { 51 51 await fetchNextPage() 52 52 } catch (err) { 53 - logger.error('Failed to load more likes', {error: err}) 53 + logger.error('Failed to load more likes', {message: err}) 54 54 } 55 55 }, [isFetching, hasNextPage, isError, fetchNextPage]) 56 56
+2 -2
src/view/com/post-thread/PostRepostedBy.tsx
··· 40 40 try { 41 41 await refetch() 42 42 } catch (err) { 43 - logger.error('Failed to refresh reposts', {error: err}) 43 + logger.error('Failed to refresh reposts', {message: err}) 44 44 } 45 45 setIsPTRing(false) 46 46 }, [refetch, setIsPTRing]) ··· 50 50 try { 51 51 await fetchNextPage() 52 52 } catch (err) { 53 - logger.error('Failed to load more reposts', {error: err}) 53 + logger.error('Failed to load more reposts', {message: err}) 54 54 } 55 55 }, [isFetching, hasNextPage, isError, fetchNextPage]) 56 56
+1 -1
src/view/com/post-thread/PostThread.tsx
··· 238 238 try { 239 239 await onRefresh() 240 240 } catch (err) { 241 - logger.error('Failed to refresh posts thread', {error: err}) 241 + logger.error('Failed to refresh posts thread', {message: err}) 242 242 } 243 243 setIsPTRing(false) 244 244 }, [setIsPTRing, onRefresh])
+3 -3
src/view/com/posts/Feed.tsx
··· 120 120 onHasNew(true) 121 121 } 122 122 } catch (e) { 123 - logger.error('Poll latest failed', {feed, error: String(e)}) 123 + logger.error('Poll latest failed', {feed, message: String(e)}) 124 124 } 125 125 }, [feed, data, isFetching, onHasNew, enabled, disablePoll]) 126 126 ··· 216 216 await refetch() 217 217 onHasNew?.(false) 218 218 } catch (err) { 219 - logger.error('Failed to refresh posts feed', {error: err}) 219 + logger.error('Failed to refresh posts feed', {message: err}) 220 220 } 221 221 setIsPTRing(false) 222 222 }, [refetch, track, setIsPTRing, onHasNew]) ··· 228 228 try { 229 229 await fetchNextPage() 230 230 } catch (err) { 231 - logger.error('Failed to load more posts', {error: err}) 231 + logger.error('Failed to load more posts', {message: err}) 232 232 } 233 233 }, [isFetching, hasNextPage, isError, fetchNextPage, track]) 234 234
+1 -1
src/view/com/posts/FeedErrorMessage.tsx
··· 139 139 msgLingui`There was an an issue removing this feed. Please check your internet connection and try again.`, 140 140 ), 141 141 ) 142 - logger.error('Failed to remove feed', {error: err}) 142 + logger.error('Failed to remove feed', {message: err}) 143 143 } 144 144 }, 145 145 onPressCancel() {
+2 -2
src/view/com/profile/ProfileFollowers.tsx
··· 41 41 try { 42 42 await refetch() 43 43 } catch (err) { 44 - logger.error('Failed to refresh followers', {error: err}) 44 + logger.error('Failed to refresh followers', {message: err}) 45 45 } 46 46 setIsPTRing(false) 47 47 }, [refetch, setIsPTRing]) ··· 51 51 try { 52 52 await fetchNextPage() 53 53 } catch (err) { 54 - logger.error('Failed to load more followers', {error: err}) 54 + logger.error('Failed to load more followers', {message: err}) 55 55 } 56 56 } 57 57
+6 -6
src/view/com/profile/ProfileHeader.tsx
··· 200 200 ) 201 201 } catch (e: any) { 202 202 if (e?.name !== 'AbortError') { 203 - logger.error('Failed to follow', {error: String(e)}) 203 + logger.error('Failed to follow', {message: String(e)}) 204 204 Toast.show(_(msg`There was an issue! ${e.toString()}`)) 205 205 } 206 206 } ··· 221 221 ) 222 222 } catch (e: any) { 223 223 if (e?.name !== 'AbortError') { 224 - logger.error('Failed to unfollow', {error: String(e)}) 224 + logger.error('Failed to unfollow', {message: String(e)}) 225 225 Toast.show(_(msg`There was an issue! ${e.toString()}`)) 226 226 } 227 227 } ··· 260 260 Toast.show(_(msg`Account muted`)) 261 261 } catch (e: any) { 262 262 if (e?.name !== 'AbortError') { 263 - logger.error('Failed to mute account', {error: e}) 263 + logger.error('Failed to mute account', {message: e}) 264 264 Toast.show(_(msg`There was an issue! ${e.toString()}`)) 265 265 } 266 266 } ··· 273 273 Toast.show(_(msg`Account unmuted`)) 274 274 } catch (e: any) { 275 275 if (e?.name !== 'AbortError') { 276 - logger.error('Failed to unmute account', {error: e}) 276 + logger.error('Failed to unmute account', {message: e}) 277 277 Toast.show(_(msg`There was an issue! ${e.toString()}`)) 278 278 } 279 279 } ··· 293 293 Toast.show(_(msg`Account blocked`)) 294 294 } catch (e: any) { 295 295 if (e?.name !== 'AbortError') { 296 - logger.error('Failed to block account', {error: e}) 296 + logger.error('Failed to block account', {message: e}) 297 297 Toast.show(_(msg`There was an issue! ${e.toString()}`)) 298 298 } 299 299 } ··· 315 315 Toast.show(_(msg`Account unblocked`)) 316 316 } catch (e: any) { 317 317 if (e?.name !== 'AbortError') { 318 - logger.error('Failed to unblock account', {error: e}) 318 + logger.error('Failed to unblock account', {message: e}) 319 319 Toast.show(_(msg`There was an issue! ${e.toString()}`)) 320 320 } 321 321 }
+2 -2
src/view/com/util/forms/PostDropdownBtn.tsx
··· 82 82 Toast.show(_(msg`Post deleted`)) 83 83 }, 84 84 e => { 85 - logger.error('Failed to delete post', {error: e}) 85 + logger.error('Failed to delete post', {message: e}) 86 86 Toast.show(_(msg`Failed to delete post, please try again`)) 87 87 }, 88 88 ) ··· 99 99 Toast.show(_(msg`You will now receive notifications for this thread`)) 100 100 } 101 101 } catch (e) { 102 - logger.error('Failed to toggle thread mute', {error: e}) 102 + logger.error('Failed to toggle thread mute', {message: e}) 103 103 } 104 104 }, [rootUri, toggleThreadMute, _]) 105 105
+2 -2
src/view/screens/ModerationBlockedAccounts.tsx
··· 66 66 try { 67 67 await refetch() 68 68 } catch (err) { 69 - logger.error('Failed to refresh my muted accounts', {error: err}) 69 + logger.error('Failed to refresh my muted accounts', {message: err}) 70 70 } 71 71 setIsPTRing(false) 72 72 }, [refetch, setIsPTRing]) ··· 77 77 try { 78 78 await fetchNextPage() 79 79 } catch (err) { 80 - logger.error('Failed to load more of my muted accounts', {error: err}) 80 + logger.error('Failed to load more of my muted accounts', {message: err}) 81 81 } 82 82 }, [isFetching, hasNextPage, isError, fetchNextPage]) 83 83
+2 -2
src/view/screens/ModerationMutedAccounts.tsx
··· 66 66 try { 67 67 await refetch() 68 68 } catch (err) { 69 - logger.error('Failed to refresh my muted accounts', {error: err}) 69 + logger.error('Failed to refresh my muted accounts', {message: err}) 70 70 } 71 71 setIsPTRing(false) 72 72 }, [refetch, setIsPTRing]) ··· 77 77 try { 78 78 await fetchNextPage() 79 79 } catch (err) { 80 - logger.error('Failed to load more of my muted accounts', {error: err}) 80 + logger.error('Failed to load more of my muted accounts', {message: err}) 81 81 } 82 82 }, [isFetching, hasNextPage, isError, fetchNextPage]) 83 83
+3 -3
src/view/screens/ProfileFeed.tsx
··· 209 209 msg`There was an an issue updating your feeds, please check your internet connection and try again.`, 210 210 ), 211 211 ) 212 - logger.error('Failed up update feeds', {error: err}) 212 + logger.error('Failed up update feeds', {message: err}) 213 213 } 214 214 }, [ 215 215 feedInfo, ··· 234 234 } 235 235 } catch (e) { 236 236 Toast.show(_(msg`There was an issue contacting the server`)) 237 - logger.error('Failed to toggle pinned feed', {error: e}) 237 + logger.error('Failed to toggle pinned feed', {message: e}) 238 238 } 239 239 }, [isPinned, feedInfo, pinFeed, unpinFeed, resetPinFeed, resetUnpinFeed, _]) 240 240 ··· 549 549 msg`There was an an issue contacting the server, please check your internet connection and try again.`, 550 550 ), 551 551 ) 552 - logger.error('Failed up toggle like', {error: err}) 552 + logger.error('Failed up toggle like', {message: err}) 553 553 } 554 554 }, [likeUri, isLiked, feedInfo, likeFeed, unlikeFeed, track, _]) 555 555
+1 -1
src/view/screens/ProfileList.tsx
··· 261 261 } 262 262 } catch (e) { 263 263 Toast.show(_(msg`There was an issue contacting the server`)) 264 - logger.error('Failed to toggle pinned feed', {error: e}) 264 + logger.error('Failed to toggle pinned feed', {message: e}) 265 265 } 266 266 }, [list.uri, isPinned, pinFeed, unpinFeed, _]) 267 267
+3 -3
src/view/screens/SavedFeeds.tsx
··· 207 207 } 208 208 } catch (e) { 209 209 Toast.show(_(msg`There was an issue contacting the server`)) 210 - logger.error('Failed to toggle pinned feed', {error: e}) 210 + logger.error('Failed to toggle pinned feed', {message: e}) 211 211 } 212 212 }, [feedUri, isPinned, pinFeed, unpinFeed, resetSaveFeedsMutationState, _]) 213 213 ··· 229 229 }) 230 230 } catch (e) { 231 231 Toast.show(_(msg`There was an issue contacting the server`)) 232 - logger.error('Failed to set pinned feed order', {error: e}) 232 + logger.error('Failed to set pinned feed order', {message: e}) 233 233 } 234 234 }, [feedUri, isPinned, setSavedFeeds, currentFeeds, _]) 235 235 ··· 250 250 }) 251 251 } catch (e) { 252 252 Toast.show(_(msg`There was an issue contacting the server`)) 253 - logger.error('Failed to set pinned feed order', {error: e}) 253 + logger.error('Failed to set pinned feed order', {message: e}) 254 254 } 255 255 }, [feedUri, isPinned, setSavedFeeds, currentFeeds, _]) 256 256
+4 -4
src/view/screens/Search/Search.tsx
··· 153 153 getSuggestions() 154 154 } catch (e) { 155 155 logger.error(`SearchScreenSuggestedFollows: failed to get suggestions`, { 156 - error: e, 156 + message: e, 157 157 }) 158 158 } 159 159 }, [currentAccount, setSuggestions, getSuggestedFollowsByActor]) ··· 480 480 setSearchHistory(JSON.parse(history)) 481 481 } 482 482 } catch (e: any) { 483 - logger.error('Failed to load search history', e) 483 + logger.error('Failed to load search history', {message: e}) 484 484 } 485 485 } 486 486 ··· 558 558 JSON.stringify(newHistory), 559 559 ) 560 560 } catch (e: any) { 561 - logger.error('Failed to save search history', e) 561 + logger.error('Failed to save search history', {message: e}) 562 562 } 563 563 } 564 564 }, ··· 598 598 setSearchHistory(updatedHistory) 599 599 AsyncStorage.setItem('searchHistory', JSON.stringify(updatedHistory)).catch( 600 600 e => { 601 - logger.error('Failed to update search history', e) 601 + logger.error('Failed to update search history', {message: e}) 602 602 }, 603 603 ) 604 604 }