From b86af7f26c04f6390d96ad74f5c75f52ded61b1d Mon Sep 17 00:00:00 2001 From: Gandalf Date: Mon, 8 Dec 2025 10:57:44 +0100 Subject: [PATCH] Fix pino logger.error argument order across codebase Pino's API expects error object as first argument: logger.error(error, 'message') or printf-style: logger.error('message: %s', value) The incorrect pattern logger.error('message', error) silently discards the second argument, making debugging impossible. Fixed 27 files with broken logger.error calls. --- .../app/(main-and-community)/roles/[tag]/page.tsx | 2 +- .../[param]/(user-profile)/communities/page.tsx | 2 +- .../app/[param]/(user-profile)/followed/page.tsx | 2 +- .../app/[param]/(user-profile)/followers/page.tsx | 2 +- apps/blog/app/[param]/(user-profile)/layout.tsx | 4 ++-- .../[param]/(user-profile)/notifications/page.tsx | 2 +- .../app/[param]/(user-profile)/settings/page.tsx | 2 +- apps/blog/app/[param]/[p2]/[permlink]/page.tsx | 2 +- apps/blog/app/communities/page.tsx | 2 +- apps/blog/app/search/page.tsx | 2 +- apps/blog/components/rocket-chat-widget.tsx | 4 ++-- apps/blog/features/account-lists/lists-page.tsx | 2 +- apps/blog/features/account-profile/posts-page.tsx | 2 +- apps/blog/features/community-profile/sort-page.tsx | 2 +- .../features/layouts/community/lib/metadata.ts | 2 +- .../layouts/community/prefetch-component.tsx | 2 +- .../features/layouts/sorts/server-side-layout.tsx | 2 +- apps/blog/features/tags-pages/sort-page.tsx | 2 +- packages/smart-signer/components/auth/process.tsx | 4 ++-- packages/smart-signer/components/login-panel.tsx | 4 ++-- packages/smart-signer/components/signin-panel.tsx | 2 +- packages/smart-signer/lib/get-hive-user-profile.ts | 4 ++-- packages/smart-signer/lib/hive-auth-utils.ts | 14 +++++++------- packages/transaction/lib/hivesense-api.ts | 2 +- 24 files changed, 35 insertions(+), 35 deletions(-) diff --git a/apps/blog/app/(main-and-community)/roles/[tag]/page.tsx b/apps/blog/app/(main-and-community)/roles/[tag]/page.tsx index 85db540da..667a3282e 100644 --- a/apps/blog/app/(main-and-community)/roles/[tag]/page.tsx +++ b/apps/blog/app/(main-and-community)/roles/[tag]/page.tsx @@ -13,7 +13,7 @@ const Page = async ({ params }: { params: { tag: string } }) => { queryFn: () => getListCommunityRoles(params.tag) }); } catch (error) { - logger.error('Error in Page:', error); + logger.error(error, 'Error in Page:'); } return ; }; diff --git a/apps/blog/app/[param]/(user-profile)/communities/page.tsx b/apps/blog/app/[param]/(user-profile)/communities/page.tsx index 676be8f36..a677f8a08 100644 --- a/apps/blog/app/[param]/(user-profile)/communities/page.tsx +++ b/apps/blog/app/[param]/(user-profile)/communities/page.tsx @@ -27,7 +27,7 @@ const CommunitiesPage = async ({ params }: { params: { param: string } }) => { queryFn: () => getPeakdBadges(username) }); } catch (error) { - logger.error('Error in CommunitiesPage:', error); + logger.error(error, 'Error in CommunitiesPage:'); } return ( diff --git a/apps/blog/app/[param]/(user-profile)/followed/page.tsx b/apps/blog/app/[param]/(user-profile)/followed/page.tsx index 2b8f1d1f9..601e83a53 100644 --- a/apps/blog/app/[param]/(user-profile)/followed/page.tsx +++ b/apps/blog/app/[param]/(user-profile)/followed/page.tsx @@ -23,7 +23,7 @@ const FollowedUsersPage = async ({ params }: { params: { param: string } }) => { } }); } catch (error) { - logger.error('Error in FollowedUsersPage:', error); + logger.error(error, 'Error in FollowedUsersPage:'); } return ( diff --git a/apps/blog/app/[param]/(user-profile)/followers/page.tsx b/apps/blog/app/[param]/(user-profile)/followers/page.tsx index d528c60ad..607b06488 100644 --- a/apps/blog/app/[param]/(user-profile)/followers/page.tsx +++ b/apps/blog/app/[param]/(user-profile)/followers/page.tsx @@ -24,7 +24,7 @@ const FollowersPage = async ({ params }: { params: { param: string } }) => { } }); } catch (error) { - logger.error('Error in FollowersPage:', error); + logger.error(error, 'Error in FollowersPage:'); } return ( diff --git a/apps/blog/app/[param]/(user-profile)/layout.tsx b/apps/blog/app/[param]/(user-profile)/layout.tsx index 0221cdf85..c470497bd 100644 --- a/apps/blog/app/[param]/(user-profile)/layout.tsx +++ b/apps/blog/app/[param]/(user-profile)/layout.tsx @@ -42,7 +42,7 @@ export async function generateMetadata({ params }: { params: { param: string } } } }; } catch (error) { - logger.error('Error in generateMetadata:', error); + logger.error(error, 'Error in generateMetadata:'); return { title: 'Hive', description: 'Hive: Communities Without Borders.', @@ -82,7 +82,7 @@ const Layout = async ({ children, params }: { children: ReactNode; params: { par queryFn: () => getDynamicGlobalProperties() }); } catch (error) { - logger.error('Error in Layout:', error); + logger.error(error, 'Error in Layout:'); } return ( diff --git a/apps/blog/app/[param]/(user-profile)/notifications/page.tsx b/apps/blog/app/[param]/(user-profile)/notifications/page.tsx index 5f3c5e1d4..244199f0f 100644 --- a/apps/blog/app/[param]/(user-profile)/notifications/page.tsx +++ b/apps/blog/app/[param]/(user-profile)/notifications/page.tsx @@ -17,7 +17,7 @@ const NotificationsPage = async ({ params }: { params: { param: string } }) => { queryFn: () => getAccountNotifications(username) }); } catch (error) { - logger.error('Error in NotificationsPage:', error); + logger.error(error, 'Error in NotificationsPage:'); } return ( diff --git a/apps/blog/app/[param]/(user-profile)/settings/page.tsx b/apps/blog/app/[param]/(user-profile)/settings/page.tsx index 5945942f9..7dc8f86c2 100644 --- a/apps/blog/app/[param]/(user-profile)/settings/page.tsx +++ b/apps/blog/app/[param]/(user-profile)/settings/page.tsx @@ -21,7 +21,7 @@ const SettingsPage = async ({ params }: { params: { param: string } }) => { queryFn: () => getAccountFull(username) }); } catch (error) { - logger.error('Error in SettingsPage:', error); + logger.error(error, 'Error in SettingsPage:'); } return ( diff --git a/apps/blog/app/[param]/[p2]/[permlink]/page.tsx b/apps/blog/app/[param]/[p2]/[permlink]/page.tsx index e9ea4f6d2..79756c563 100644 --- a/apps/blog/app/[param]/[p2]/[permlink]/page.tsx +++ b/apps/blog/app/[param]/[p2]/[permlink]/page.tsx @@ -53,7 +53,7 @@ const PostPage = async ({ }); } } catch (error) { - logger.error('Error in PostPage:', error); + logger.error(error, 'Error in PostPage:'); } return ( diff --git a/apps/blog/app/communities/page.tsx b/apps/blog/app/communities/page.tsx index 314ee6356..3a6af76e0 100644 --- a/apps/blog/app/communities/page.tsx +++ b/apps/blog/app/communities/page.tsx @@ -19,7 +19,7 @@ const CommunitiesPage = async () => { queryFn: async () => await getCommunities(sort, query, observer) }); } catch (error) { - logger.error('Error in CommunitiesPage:', error); + logger.error(error, 'Error in CommunitiesPage:'); } return ( diff --git a/apps/blog/app/search/page.tsx b/apps/blog/app/search/page.tsx index 01af2ce3d..2a99bee95 100644 --- a/apps/blog/app/search/page.tsx +++ b/apps/blog/app/search/page.tsx @@ -84,7 +84,7 @@ const SearchPage = async ({ searchParams }: SearchPageProps) => { }); } } catch (error) { - logger.error('Error in SearchPage:', error); + logger.error(error, 'Error in SearchPage:'); } return ( diff --git a/apps/blog/components/rocket-chat-widget.tsx b/apps/blog/components/rocket-chat-widget.tsx index 2061402d9..5d094c057 100644 --- a/apps/blog/components/rocket-chat-widget.tsx +++ b/apps/blog/components/rocket-chat-widget.tsx @@ -40,7 +40,7 @@ const chatLogin = ( logger.warn('chatLogin not posting message, data is wrong', data); } } catch (error) { - logger.error('chatLogin not posting message', data); + logger.error(data, 'chatLogin not posting message'); } } else { logger.info('chatLogin siteConfig.openhiveChatIframeIntegrationEnable is false'); @@ -64,7 +64,7 @@ export const chatLogout = (iframeRef: React.RefObject): void `${siteConfig.openhiveChatUri}` ); } catch (error) { - logger.error('chatLogout error', error); + logger.error(error, 'chatLogout error'); } } }; diff --git a/apps/blog/features/account-lists/lists-page.tsx b/apps/blog/features/account-lists/lists-page.tsx index 494601eaf..358780d88 100644 --- a/apps/blog/features/account-lists/lists-page.tsx +++ b/apps/blog/features/account-lists/lists-page.tsx @@ -24,7 +24,7 @@ const ListsPage = async ({ queryFn: () => getFollowList(usernameClean, type) }); } catch (error) { - logger.error('Error in ListsPage:', error); + logger.error(error, 'Error in ListsPage:'); } return {children}; }; diff --git a/apps/blog/features/account-profile/posts-page.tsx b/apps/blog/features/account-profile/posts-page.tsx index 8d4eca357..7c040762d 100644 --- a/apps/blog/features/account-profile/posts-page.tsx +++ b/apps/blog/features/account-profile/posts-page.tsx @@ -37,7 +37,7 @@ const PostsPage = async ({ } }); } catch (error) { - logger.error('Error in PostsPage:', error); + logger.error(error, 'Error in PostsPage:'); } return {children}; }; diff --git a/apps/blog/features/community-profile/sort-page.tsx b/apps/blog/features/community-profile/sort-page.tsx index fe88e497c..e02aa6917 100644 --- a/apps/blog/features/community-profile/sort-page.tsx +++ b/apps/blog/features/community-profile/sort-page.tsx @@ -53,7 +53,7 @@ const SortPage = async ({ } }); } catch (error) { - logger.error('Error in SortPage:', error); + logger.error(error, 'Error in SortPage:'); } return {children}; }; diff --git a/apps/blog/features/layouts/community/lib/metadata.ts b/apps/blog/features/layouts/community/lib/metadata.ts index 3a618b971..fe8495240 100644 --- a/apps/blog/features/layouts/community/lib/metadata.ts +++ b/apps/blog/features/layouts/community/lib/metadata.ts @@ -42,7 +42,7 @@ export async function buildCommunityTagMetadata( } }; } catch (error) { - logger.error('Error in buildCommunityTagMetadata:', error); + logger.error(error, 'Error in buildCommunityTagMetadata:'); } return { title: `#${tag}${sectionLabel ? ` / ${sectionLabel}` : ''} - Hive`, diff --git a/apps/blog/features/layouts/community/prefetch-component.tsx b/apps/blog/features/layouts/community/prefetch-component.tsx index 8b762d155..d90b9094e 100644 --- a/apps/blog/features/layouts/community/prefetch-component.tsx +++ b/apps/blog/features/layouts/community/prefetch-component.tsx @@ -39,7 +39,7 @@ const PrefetchComponent = async ({ children, community }: { children: ReactNode; }); } } catch (error) { - logger.error('Error in PrefetchComponent:', error); + logger.error(error, 'Error in PrefetchComponent:'); } return ( diff --git a/apps/blog/features/layouts/sorts/server-side-layout.tsx b/apps/blog/features/layouts/sorts/server-side-layout.tsx index 1caca6087..de26c63ea 100644 --- a/apps/blog/features/layouts/sorts/server-side-layout.tsx +++ b/apps/blog/features/layouts/sorts/server-side-layout.tsx @@ -23,7 +23,7 @@ const ServerSideLayout = async ({ children }: { children: ReactNode }) => { queryFn: () => getSubscriptions(observer) }); } catch (error) { - logger.error('Error in ServerSideLayout:', error); + logger.error(error, 'Error in ServerSideLayout:'); } return {children}; }; diff --git a/apps/blog/features/tags-pages/sort-page.tsx b/apps/blog/features/tags-pages/sort-page.tsx index ec8ab7b88..11af42451 100644 --- a/apps/blog/features/tags-pages/sort-page.tsx +++ b/apps/blog/features/tags-pages/sort-page.tsx @@ -38,7 +38,7 @@ const SortPage = async ({ } }); } catch (error) { - logger.error('Error in SortPage:', error); + logger.error(error, 'Error in SortPage:'); } return ( diff --git a/packages/smart-signer/components/auth/process.tsx b/packages/smart-signer/components/auth/process.tsx index bea0dc1c3..6ea100e7c 100644 --- a/packages/smart-signer/components/auth/process.tsx +++ b/packages/smart-signer/components/auth/process.tsx @@ -98,7 +98,7 @@ export const useProcessAuth = (authenticateOnBackend: boolean, strict: boolean) }) }); } catch (error) { - logger.error('onSubmit error in signLoginChallenge', error); + logger.error(error, 'onSubmit error in signLoginChallenge'); return Promise.reject(error); } @@ -123,7 +123,7 @@ export const useProcessAuth = (authenticateOnBackend: boolean, strict: boolean) throw new Error('Unexpected error while processing authorization'); } } catch (error: unknown) { - logger.error('onSubmit unexpected error', error); + logger.error(error, 'onSubmit unexpected error'); throw error; } finally { authDataRef.current = null; diff --git a/packages/smart-signer/components/login-panel.tsx b/packages/smart-signer/components/login-panel.tsx index efdb15322..0d766c3ff 100644 --- a/packages/smart-signer/components/login-panel.tsx +++ b/packages/smart-signer/components/login-panel.tsx @@ -71,7 +71,7 @@ export function LoginPanel({ authenticateOnBackend, strict }: LoginPanelOptions) }); signatures[keyType] = signature; } catch (error) { - logger.error('onSubmit error in signLoginChallenge', error); + logger.error(error, 'onSubmit error in signLoginChallenge'); setErrorMsg('Login failed'); return; } @@ -91,7 +91,7 @@ export function LoginPanel({ authenticateOnBackend, strict }: LoginPanelOptions) try { await signIn.mutateAsync({ data: body }); } catch (error) { - logger.error('onSubmit unexpected error', error); + logger.error(error, 'onSubmit unexpected error'); setErrorMsg('Login failed'); } }; diff --git a/packages/smart-signer/components/signin-panel.tsx b/packages/smart-signer/components/signin-panel.tsx index ed3285f83..47b096d89 100644 --- a/packages/smart-signer/components/signin-panel.tsx +++ b/packages/smart-signer/components/signin-panel.tsx @@ -105,7 +105,7 @@ export function LoginPanel({ }; await signIn.mutateAsync({ data: signInData }); } catch (error) { - logger.error('onSubmit error in signLoginChallenge', error); + logger.error(error, 'onSubmit error in signLoginChallenge'); setErrorMsg('Login failed'); return; } diff --git a/packages/smart-signer/lib/get-hive-user-profile.ts b/packages/smart-signer/lib/get-hive-user-profile.ts index bc23e4e77..3e24372a1 100644 --- a/packages/smart-signer/lib/get-hive-user-profile.ts +++ b/packages/smart-signer/lib/get-hive-user-profile.ts @@ -23,7 +23,7 @@ export const getHiveUserProfile = async (hiveUsername: string): Promise { - logger.error('Hive Auth: broadcast request expired', error.message); + logger.error('Hive Auth: broadcast request expired: %s', error.message); updateModalMessage(translateFn('hiveauthservices.requestExpired')); callbackFn({ @@ -166,7 +166,7 @@ const broadcast = ( }; const handleAttachFailure = (error: { message: any }) => { - logger.error('Hive Auth: lost connection to server and failed re-attaching', error.message); + logger.error('Hive Auth: lost connection to server and failed re-attaching: %s', error.message); clearLoginInstructions(); callbackFn({ success: false, @@ -213,7 +213,7 @@ const signChallenge = ( }; const handleChallengeFailure = (e: any) => { - logger.error('Hive Auth: challenge failure', e); + logger.error(e, 'Hive Auth: challenge failure'); callbackFn({ success: false, error: translateFn('hiveauthservices.userRejectedRequest') @@ -222,7 +222,7 @@ const signChallenge = ( }; const handleChallengeError = (e: any) => { - logger.error('Hive Auth: challenge error', e); + logger.error(e, 'Hive Auth: challenge error'); callbackFn({ success: false, error: translateFn('hiveauthservices.challengeError') @@ -231,7 +231,7 @@ const signChallenge = ( }; const handleRequestExpired = (error: { message: any }) => { - logger.error('Hive Auth: challenge request expired', error.message); + logger.error('Hive Auth: challenge request expired: %s', error.message); updateModalMessage(translateFn('hiveauthservices.requestExpired')); callbackFn({ @@ -393,7 +393,7 @@ const login = async ( }; const handleRequestExpired = (error: { message: any }) => { - logger.error('Hive Auth: authentication request expired', error.message); + logger.error('Hive Auth: authentication request expired: %s', error.message); clearLoginInstructions(); updateModalMessage(translateFn('hiveauthservices.requestExpired')); @@ -406,7 +406,7 @@ const login = async ( }; const handleAttachFailure = (error: { message: any }) => { - logger.error('Hive Auth: lost connection to server and failed re-attaching', error.message); + logger.error('Hive Auth: lost connection to server and failed re-attaching: %s', error.message); clearLoginInstructions(); callbackFn({ success: false, diff --git a/packages/transaction/lib/hivesense-api.ts b/packages/transaction/lib/hivesense-api.ts index 31ca513bc..efd1145da 100644 --- a/packages/transaction/lib/hivesense-api.ts +++ b/packages/transaction/lib/hivesense-api.ts @@ -3,7 +3,7 @@ import { Entry, MixedPostsResponse, PostStub } from './extended-hive.chain'; import { getChain } from './chain'; const logStandarizedError = (methodName: string, error: unknown): null => { - logger.error(`Error in ${methodName}`, error); + logger.error(error, `Error in ${methodName}`); throw new Error(`Error in ${methodName}`); }; -- GitLab