[READ-ONLY] a fast, modern browser for the npm registry

chore: fix auth error message (#1024)

Co-authored-by: Willow (GHOST) <ghostdevbusiness@gmail.com>

authored by

abeer0
Willow (GHOST)
and committed by
GitHub
3cf7fef9 79a62fa6

+12 -1
+2
app/error.vue
··· 9 9 const statusText = computed(() => { 10 10 if (props.error.statusMessage) return props.error.statusMessage 11 11 switch (status.value) { 12 + case 401: 13 + return 'Unauthorized' 12 14 case 404: 13 15 return 'Page not found' 14 16 case 500:
+1
server/api/auth/atproto.get.ts
··· 108 108 109 109 return handleApiError(error, { 110 110 statusCode: 401, 111 + statusMessage: 'Unauthorized', 111 112 message: `${message}. Please login and try again.`, 112 113 }) 113 114 }
+8 -1
server/utils/error-handler.ts
··· 7 7 * Handles H3 errors, Valibot, and fallbacks in that order 8 8 */ 9 9 export function handleApiError(error: unknown, fallback: ErrorOptions): never { 10 - // If already a known Nuxt/H3 Error, re-throw 10 + // If already a known Nuxt/H3 Error, apply fallback only when the error has a generic 500 status 11 11 if (isError(error)) { 12 + if (error.statusCode === 500 && fallback.statusCode) { 13 + error.statusCode = fallback.statusCode 14 + } 15 + if (error.statusMessage === 'Server Error' && fallback.statusMessage) { 16 + error.statusMessage = fallback.statusMessage 17 + } 12 18 throw error 13 19 } 14 20 ··· 24 30 // Generic fallback 25 31 throw createError({ 26 32 statusCode: fallback.statusCode ?? 502, 33 + statusMessage: fallback.statusMessage, 27 34 message: fallback.message, 28 35 }) 29 36 }
+1
shared/types/error.ts
··· 1 1 export interface ErrorOptions { 2 2 message: string 3 3 statusCode?: number 4 + statusMessage?: string 4 5 }