diff --git a/apps/web/src/components/views/rooms/MessageComposerUrlPreview.test.tsx b/apps/web/src/components/views/rooms/MessageComposerUrlPreview.test.tsx index 344836f994..d720f80be9 100644 --- a/apps/web/src/components/views/rooms/MessageComposerUrlPreview.test.tsx +++ b/apps/web/src/components/views/rooms/MessageComposerUrlPreview.test.tsx @@ -96,4 +96,29 @@ describe("MessageComposerUrlPreview", () => { { timeout: DEBOUNCE_REQUEST_TIMEOUT_MS }, ); }); + test("to reset module component override when filter function does not match ", async () => { + const modApi = { + customComponents: new CustomComponentsApi(), + } as ModuleApi; + modApi.customComponents.registerComposerPreview( + (text) => text === "show-fake-preview", + () => Fake preview, + ); + const { container, getByText, rerender } = wrapComponent( + , + ); + await waitFor( + () => { + expect(getByText("Fake preview")).toBeDefined(); + }, + { timeout: DEBOUNCE_REQUEST_TIMEOUT_MS }, + ); + rerender(); + await waitFor( + () => { + expect(container).toMatchInlineSnapshot(`
`); + }, + { timeout: DEBOUNCE_REQUEST_TIMEOUT_MS }, + ); + }); }); diff --git a/apps/web/src/components/views/rooms/MessageComposerUrlPreview.tsx b/apps/web/src/components/views/rooms/MessageComposerUrlPreview.tsx index 18030de994..a551e61549 100644 --- a/apps/web/src/components/views/rooms/MessageComposerUrlPreview.tsx +++ b/apps/web/src/components/views/rooms/MessageComposerUrlPreview.tsx @@ -52,9 +52,7 @@ export function MessageComposerUrlPreviewWrapper({ () => , ); - if (customComponent) { - setCustomComponent(customComponent); - } + setCustomComponent(customComponent); // We still update the VM even if the custom component is used since // the component may choose to render the original component. void vm.updateWithText(content);