From 93d2933a4dd247b2c2a523c4161fd037be5a7049 Mon Sep 17 00:00:00 2001 From: Bogdan Chadkin Date: Sun, 2 Feb 2025 22:43:33 +0700 Subject: [PATCH] fix: render nothing on website when collection is invalid User got 500 on published site. Turned out collection got invalid data (not array). We need to keep site working in such cases, missing piece will be more intuitive than 500 on whole website. --- .../app/__generated__/[sitemap.xml]._index.tsx | 2 +- .../app/__generated__/[resources]._index.tsx | 2 +- .../app/__generated__/[sitemap.xml]._index.tsx | 2 +- packages/react-sdk/src/component-generator.test.tsx | 6 +++--- packages/react-sdk/src/component-generator.ts | 5 +++-- 5 files changed, 9 insertions(+), 8 deletions(-) diff --git a/fixtures/webstudio-custom-template/app/__generated__/[sitemap.xml]._index.tsx b/fixtures/webstudio-custom-template/app/__generated__/[sitemap.xml]._index.tsx index 5e4d20aaec15..0cc85277fb84 100644 --- a/fixtures/webstudio-custom-template/app/__generated__/[sitemap.xml]._index.tsx +++ b/fixtures/webstudio-custom-template/app/__generated__/[sitemap.xml]._index.tsx @@ -35,7 +35,7 @@ const Page = ({ system: system }: { system: any }) => { tag={"urlset"} xmlns={"http://www.sitemaps.org/schemas/sitemap/0.9"} > - {sitemapxml?.data?.map((url: any, index: number) => ( + {sitemapxml?.data?.map?.((url: any, index: number) => ( diff --git a/fixtures/webstudio-remix-vercel/app/__generated__/[resources]._index.tsx b/fixtures/webstudio-remix-vercel/app/__generated__/[resources]._index.tsx index 5aa5c2e5d698..192c01a3fbb9 100644 --- a/fixtures/webstudio-remix-vercel/app/__generated__/[resources]._index.tsx +++ b/fixtures/webstudio-remix-vercel/app/__generated__/[resources]._index.tsx @@ -33,7 +33,7 @@ const Page = ({}: { system: any }) => { let list = useResource("list_1"); return ( - {list?.data?.map((collectionItem: any, index: number) => ( + {list?.data?.map?.((collectionItem: any, index: number) => ( diff --git a/fixtures/webstudio-remix-vercel/app/__generated__/[sitemap.xml]._index.tsx b/fixtures/webstudio-remix-vercel/app/__generated__/[sitemap.xml]._index.tsx index 0a37dd532259..6fe73ffb71e3 100644 --- a/fixtures/webstudio-remix-vercel/app/__generated__/[sitemap.xml]._index.tsx +++ b/fixtures/webstudio-remix-vercel/app/__generated__/[sitemap.xml]._index.tsx @@ -45,7 +45,7 @@ const Page = ({ system: system }: { system: any }) => { path: "/olegs-test", lastModified: "2024-05-07", }, - ]?.map((url: any, index: number) => ( + ]?.map?.((url: any, index: number) => ( diff --git a/packages/react-sdk/src/component-generator.test.tsx b/packages/react-sdk/src/component-generator.test.tsx index 2367cf829d28..711234f7625e 100644 --- a/packages/react-sdk/src/component-generator.test.tsx +++ b/packages/react-sdk/src/component-generator.test.tsx @@ -458,7 +458,7 @@ test("generate collection component as map", () => { ).toEqual( validateJSX( clear(` - {data?.map((element: any, index: number) => + {data?.map?.((element: any, index: number) =>