From 97d1f8009a80a377fee56d2f0ac007920c3ae266 Mon Sep 17 00:00:00 2001 From: Roberto Guido Date: Sun, 19 Jul 2026 19:50:36 +0200 Subject: [PATCH] fix: bubbling events from html message iframe Signed-off-by: Roberto Guido --- src/components/MessageHTMLBody.vue | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/components/MessageHTMLBody.vue b/src/components/MessageHTMLBody.vue index 978a58c640..a990a25729 100644 --- a/src/components/MessageHTMLBody.vue +++ b/src/components/MessageHTMLBody.vue @@ -154,6 +154,19 @@ export default { if (this.isSenderTrusted) { this.displayIframe() } + + // Events occurring into the iframe are forced to bubble to the + // document, to be intercepted by other functions + const propagateEvents = ['click', 'keydown', 'keyup'] + propagateEvents.forEach((eventType) => { + iframeDoc.addEventListener(eventType, (e) => { + const cloned = new e.constructor(e.type, e) + this.$refs.iframe.dispatchEvent(cloned) + if (cloned.defaultPrevented) { + e.preventDefault() + } + }) + }) }, onBeforePrint() {