Skip to content

Commit

Permalink
fix: fix client-side error page rendering
Browse files Browse the repository at this point in the history
  • Loading branch information
brillout committed Feb 20, 2024
1 parent 744a4af commit 49fe40c
Showing 1 changed file with 12 additions and 6 deletions.
18 changes: 12 additions & 6 deletions vike/client/client-routing-runtime/renderPageClientSide.ts
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ import { getErrorPageId } from '../../shared/error-page.js'
const globalObject = getGlobalObject<{
clientRoutingIsDisabled?: true
renderCounter: number
onRenderClientPromise?: Promise<void>
onRenderClientPromise?: Promise<unknown>
isTransitioning?: true
previousPageContext?: { _pageId: string }
}>('renderPageClientSide.ts', { renderCounter: 0 })
Expand Down Expand Up @@ -382,23 +382,29 @@ async function renderPageClientSide(renderArgs: RenderArgs): Promise<void> {
globalObject.previousPageContext = pageContext
assert(globalObject.onRenderClientPromise === undefined)
globalObject.onRenderClientPromise = (async () => {
let onRenderClientError: unknown
try {
await executeOnRenderClientHook(pageContext, true)
} catch (err) {
await onError(err)
return
onRenderClientError = err
}
addLinkPrefetchHandlers(pageContext)
globalObject.onRenderClientPromise = undefined
return onRenderClientError
})()
await globalObject.onRenderClientPromise
const onRenderClientError = await globalObject.onRenderClientPromise
assert(globalObject.onRenderClientPromise === undefined)
if (onRenderClientError) {
await onError(onRenderClientError)
if (!isErrorPage) return
}
/* We don't abort in order to ensure that onHydrationEnd() is called: we abort only after onHydrationEnd() is called.
if (isRenderOutdated(true)) return
*/

addLinkPrefetchHandlers(pageContext)

// onHydrationEnd()
if (isHydrationRender) {
if (isHydrationRender && !onRenderClientError) {
assertHook(pageContext, 'onHydrationEnd')
const hook = getHook(pageContext, 'onHydrationEnd')
if (hook) {
Expand Down

0 comments on commit 49fe40c

Please sign in to comment.