From 4ebc804985a90c27d079171eba4ed5f92b7f6a54 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi=20de=20Juvigny?= <8087692+remidej@users.noreply.github.com> Date: Wed, 5 Mar 2025 09:55:33 +0100 Subject: [PATCH] fix: add origin to preview message (#23059) * fix: add origin to preview message * Update packages/core/content-manager/admin/src/preview/components/PreviewHeader.tsx Co-authored-by: markkaylor --------- Co-authored-by: markkaylor --- .../admin/src/preview/components/PreviewHeader.tsx | 6 +++++- .../content-manager/admin/src/preview/pages/Preview.tsx | 4 ++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/packages/core/content-manager/admin/src/preview/components/PreviewHeader.tsx b/packages/core/content-manager/admin/src/preview/components/PreviewHeader.tsx index f5a93534e4..38df15bcf0 100644 --- a/packages/core/content-manager/admin/src/preview/components/PreviewHeader.tsx +++ b/packages/core/content-manager/admin/src/preview/components/PreviewHeader.tsx @@ -185,7 +185,11 @@ const UnstablePreviewHeader = () => { document, meta, onPreview: () => { - iframeRef?.current?.contentWindow?.postMessage({ type: 'strapiUpdate' }); + iframeRef?.current?.contentWindow?.postMessage( + { type: 'strapiUpdate' }, + // The iframe origin is safe to use since it must be provided through the allowedOrigins config + new URL(iframeRef.current.src).origin + ); }, } satisfies DocumentActionProps; diff --git a/packages/core/content-manager/admin/src/preview/pages/Preview.tsx b/packages/core/content-manager/admin/src/preview/pages/Preview.tsx index 8652ba1227..42b5f04859 100644 --- a/packages/core/content-manager/admin/src/preview/pages/Preview.tsx +++ b/packages/core/content-manager/admin/src/preview/pages/Preview.tsx @@ -8,7 +8,7 @@ import { Form as FormContext, } from '@strapi/admin/strapi-admin'; import { Box, Flex, FocusTrap, IconButton, Portal } from '@strapi/design-system'; -import { ArrowLeft } from '@strapi/icons'; +import { ArrowLineLeft } from '@strapi/icons'; import { useIntl } from 'react-intl'; import { useLocation, useParams } from 'react-router-dom'; import { styled } from 'styled-components'; @@ -47,7 +47,7 @@ const [PreviewProvider, usePreviewContext] = createContext( * PreviewPage * -----------------------------------------------------------------------------------------------*/ -const AnimatedArrow = styled(ArrowLeft)<{ isSideEditorOpen: boolean }>` +const AnimatedArrow = styled(ArrowLineLeft)<{ isSideEditorOpen: boolean }>` will-change: transform; rotate: ${(props) => (props.isSideEditorOpen ? '0deg' : '180deg')}; transition: rotate 0.2s ease-in-out;