diff --git a/server/index.ts b/server/index.ts index e07b1a4..b0544fd 100644 --- a/server/index.ts +++ b/server/index.ts @@ -112,7 +112,8 @@ ${workoutsHtml} }; res.send(renderTemplate({ meta, content, assetTags: getAssetTagsSafe() })); - } catch { + } catch (err) { + console.error("SSR error:", err); res.status(500).send("Internal Server Error"); } }); @@ -151,7 +152,8 @@ ${list} }; res.send(renderTemplate({ meta, content, assetTags: getAssetTagsSafe() })); - } catch { + } catch (err) { + console.error("SSR error:", err); res.status(500).send("Internal Server Error"); } }); @@ -160,7 +162,15 @@ ${list} app.get("/public/workouts/:id", async (req: Request, res: Response) => { try { const detail = await getPublicWorkout(req.params.id); - const w = detail.workout; + const w = (detail as any).workout || detail; + if (!w || !w.name) { + console.error( + "SSR: unexpected API response shape:", + JSON.stringify(detail).slice(0, 500), + ); + res.status(500).send("Unexpected API response"); + return; + } const content = `

${escapeHtml(w.name)}

@@ -199,6 +209,7 @@ app.get("/public/workouts/:id", async (req: Request, res: Response) => { res.send(renderTemplate({ meta, content, assetTags: getAssetTagsSafe() })); } catch (err: unknown) { + console.error("SSR error:", err); // Check for 404 from API if ( err && @@ -228,7 +239,8 @@ app.get("/routes", async (_req: Request, res: Response) => { }; res.send(renderTemplate({ meta, content, assetTags: getAssetTagsSafe() })); - } catch { + } catch (err) { + console.error("SSR error:", err); res.status(500).send("Internal Server Error"); } }); @@ -256,7 +268,8 @@ app.get("/sitemap.xml", async (_req: Request, res: Response) => { res.set("Content-Type", "application/xml; charset=utf-8"); res.send(xml); - } catch { + } catch (err) { + console.error("SSR error:", err); res.status(500).send("Internal Server Error"); } });