Files
Kristaps Fabians Geikins 0a63afb6aa feat: various observability improvements (#2027)
* feat(server): adding userId to req logs

* feat(server): adding userId to gql logs

* feat(fe2): adding userId to logger calls

* feat(fe2): more userId logging additions

* even more thorough logging in FE2

* more adjustments

* add country to fe2 logs

* added prop to help distinguish gql req time logs

* get initial SSR req id in CSR logs

* improved 'fetch failed' error

* better rate limit error message

* minor improvements
2024-02-09 13:56:13 +02:00

38 lines
995 B
Vue

<!-- eslint-disable vue/no-v-html -->
<template>
<div id="speckle" class="bg-foundation-page text-foreground">
<NuxtLayout name="default">
<ErrorPageRenderer :error="error" />
</NuxtLayout>
<SingletonManagers />
</div>
</template>
<script setup lang="ts">
import type { NuxtError } from '#app'
import { useTheme } from '~/lib/core/composables/theme'
import { formatAppError } from '~/lib/core/helpers/observability'
/**
* Any errors thrown while rendering this page will cause Nuxt to revert to the default
* error page
*/
const props = defineProps<{
error: NuxtError
}>()
const { isDarkTheme } = useTheme()
const finalError = computed(() => formatAppError(props.error))
useHead({
title: computed(() => `${finalError.value.statusCode} - ${finalError.value.message}`),
bodyAttrs: {
class: 'simple-scrollbar bg-foundation-page text-foreground'
},
htmlAttrs: {
class: computed(() => (isDarkTheme.value ? `dark` : ``)),
lang: 'en'
}
})
</script>