From 427a6bca9a0dbca7fcf3efe0841f63fc50387e84 Mon Sep 17 00:00:00 2001 From: Jacob Babich Date: Sat, 4 Jul 2020 23:24:05 -0400 Subject: [PATCH] better error: show a warning/error for unserializable server-preloaded data that can't be transmitted to the client --- runtime/src/server/middleware/get_page_handler.ts | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/runtime/src/server/middleware/get_page_handler.ts b/runtime/src/server/middleware/get_page_handler.ts index c39e96c0c..036925b49 100644 --- a/runtime/src/server/middleware/get_page_handler.ts +++ b/runtime/src/server/middleware/get_page_handler.ts @@ -267,7 +267,10 @@ export function get_page_handler( const { html, head, css } = App.render(props); const serialized = { - preloaded: `[${preloaded.map(data => try_serialize(data)).join(',')}]`, + preloaded: `[${preloaded.map(data => try_serialize(data, err => { + console.error(`Failed to serialize preloaded data to transmit to the client at the /${segments.join('/')} route: ${err.message}`); + console.warn('The client will re-render over the server-rendered page fresh instead of continuing where it left off. See https://sapper.svelte.dev/docs#Return_value for more information'); + })).join(',')}]`, session: session && try_serialize(session, err => { throw new Error(`Failed to serialize session data: ${err.message}`); }),