Browse Source

fix(share-link): disable $lsx() on share link pages by setting isSharedPage in rendererConfig

The rendererConfig was missing isSharedPage: true for share link pages, so
the Lsx component rendered LsxSubstance instead of LsxDisabled and made
unauthenticated requests to /_api/lsx, triggering Basic auth challenges.

Added getServerSideShareLinkRendererConfigProps that injects isSharedPage: true
into the renderer config for share link SSR, ensuring the Lsx component shows
the disabled state without making API calls.

Fixes #11263
Claude 6 days ago
parent
commit
442d5bbd8c

+ 21 - 0
apps/app/src/pages/general-page/configuration-props.ts

@@ -125,3 +125,24 @@ export const getServerSideGeneralPageProps: GetServerSideProps<
     },
   };
 };
+
+export const getServerSideShareLinkRendererConfigProps: GetServerSideProps<
+  RendererConfigProps
+> = async (context: GetServerSidePropsContext) => {
+  const result = await getServerSideRendererConfigProps(context);
+
+  if ('props' in result) {
+    const props = await result.props;
+    return {
+      props: {
+        ...props,
+        rendererConfig: {
+          ...props.rendererConfig,
+          isSharedPage: true,
+        },
+      },
+    };
+  }
+
+  return result;
+};

+ 1 - 0
apps/app/src/pages/general-page/index.ts

@@ -1,6 +1,7 @@
 export {
   getServerSideGeneralPageProps,
   getServerSideRendererConfigProps,
+  getServerSideShareLinkRendererConfigProps,
 } from './configuration-props';
 export { isValidGeneralPageInitialProps } from './type-guards';
 export type * from './types';

+ 2 - 2
apps/app/src/pages/share/[[...path]]/server-side-props.ts

@@ -13,7 +13,7 @@ import {
 } from '../../common-props';
 import {
   getServerSideGeneralPageProps,
-  getServerSideRendererConfigProps,
+  getServerSideShareLinkRendererConfigProps,
   isValidGeneralPageInitialProps,
 } from '../../general-page';
 import { addActivity } from '../../utils/activity';
@@ -58,7 +58,7 @@ export async function getServerSidePropsForInitial(
     getServerSideCommonEachProps(context),
     getServerSideCommonInitialProps(context),
     getServerSideGeneralPageProps(context),
-    getServerSideRendererConfigProps(context),
+    getServerSideShareLinkRendererConfigProps(context),
     getServerSideI18nProps(context, ['translation']),
     getPageDataForInitial(context),
   ]);