From 24cc2455f97ac24ce9df130c5b252206b1afa63d Mon Sep 17 00:00:00 2001 From: Half-Shot Date: Thu, 3 Jul 2025 12:35:55 +0100 Subject: [PATCH] Add message hint to prevent media from being downloaded. --- .../element-web-module-api/element-web-module-api.api.md | 1 + .../element-web-module-api/src/api/custom-components.ts | 6 ++++++ 2 files changed, 7 insertions(+) diff --git a/packages/element-web-module-api/element-web-module-api.api.md b/packages/element-web-module-api/element-web-module-api.api.md index 6d6403735e..ce5f5e8ea5 100644 --- a/packages/element-web-module-api/element-web-module-api.api.md +++ b/packages/element-web-module-api/element-web-module-api.api.md @@ -78,6 +78,7 @@ originalComponent?: (props?: OriginalComponentProps) => React.JSX.Element) => JS // @alpha export type CustomMessageRenderHints = { allowEditingEvent?: boolean; + allowDownloadingMedia?: boolean | Promise; }; // @alpha @deprecated (undocumented) diff --git a/packages/element-web-module-api/src/api/custom-components.ts b/packages/element-web-module-api/src/api/custom-components.ts index becc0f1992..67d7a6bef9 100644 --- a/packages/element-web-module-api/src/api/custom-components.ts +++ b/packages/element-web-module-api/src/api/custom-components.ts @@ -44,6 +44,12 @@ export type CustomMessageRenderHints = { * Default is true. */ allowEditingEvent?: boolean; + /** + * If an event contains media, this function will be called to check + * if the media can be prompted to be downloaded as a file. + * Default is true. + */ + allowDownloadingMedia?: (mxEvent: MatrixEvent) => Promise; }; /**