mail icon indicating copy to clipboard operation
mail copied to clipboard

Mail App does not show full content of webinar invitation emails (issue persists in v5.0.0)

Open vawaver opened this issue 7 months ago • 15 comments
trafficstars

Steps to reproduce

Title: Mail App does not show full content of webinar invitation emails (issue persists in v5.0.0)

🐛 Bug Report

Issue:
The Mail app does not display the full content of webinar invitation emails (e.g., Nextcloud webinar invites). Only part of the message is shown, and key content like joining info is missing.

This issue was originally reported here:
🔗 https://help.nextcloud.com/t/mail-app-v4-3-6-does-not-show-full-content-of-nextcloud-webinar-invitations/222272

It still persists in version 5.0.0.


📋 Environment

  • App: Mail
  • App version: 5.0.0
  • Nextcloud version: AIO v10.11.0 (Hub 9 – 30.0.8)
  • OS: CachyOS (Linux)
  • Browsers tested:
    • Brave (latest)
    • Firefox (latest)

✅ Steps to reproduce

  1. Receive an email invitation for a Nextcloud webinar (or similar HTML-based invitation).
  2. Open the email in the Mail app.
  3. Only partial content is shown. Key information such as invitation text and meeting links are not visible.

🤔 Expected behavior

The Mail app should render the full content of the email, including all HTML sections with event details and joining information.


😕 Current behavior

  • The message appears truncated or incomplete.
  • Content that is clearly present when viewed in other email clients (Thunderbird, Gmail, etc.) is missing from the view in Nextcloud Mail.

📎 Additional context

  • The email appears fine in third-party email clients.
  • This affects users trying to join events or access links directly from within the Mail app.

Image

Image

Expected behavior

Filled above

Actual behavior

Filled above

Mail app version

No response

Nextcloud version

No response

Mailserver or service

No response

Operating system

No response

PHP engine version

None

Nextcloud memory caching

No response

Web server

None

Database

None

Additional info

No response

vawaver avatar Apr 15 '25 15:04 vawaver

Confirmed note this is not a webinar invitation.

Image

I can actually display the email by going to the body and clicking on the mail. The mail gets displayed line by line at each click. Looks like might be an error on the window resizing if i keep on clicking i can extend the body to extreme length well passed the end of the mail.

Image

📓 Eau pure en laboratoire – Un guide pour optimiser votre installation.txt

Aveyron-RetD avatar Apr 29 '25 10:04 Aveyron-RetD

I believe linked to #11008

Aveyron-RetD avatar Apr 29 '25 13:04 Aveyron-RetD

I just have updated to Mail 5.0.3 and the problem still persists. I do not know it is specific for email sender address: [email protected] I can forward these emails for inspecting if you give me some email address.

Image

Image

vawaver avatar Apr 29 '25 17:04 vawaver

Thank you for the report!

I believe linked to #11008

I don't think it is. Over there the message doesn't load at all. Here it loads, the view is just restricted.

This smells like the iframe resizer library inside of the iframe that renders the HTML email is not running. It's responsible for resizing the iframe once the contents have loaded.

Could you please check if this happens across all of your browsers, and try in a private window and with privacy/adblocker plugins disabled? They might block the script.

Webinar emails resize for me. This is not reproducible at the moment.

ChristophWurst avatar May 08 '25 10:05 ChristophWurst

Only for info. Mail 5.0.5 - issue still persists.

Image

vawaver avatar May 08 '25 18:05 vawaver

@vawaver can you provide any of the requested information? I can't guess that from your screenshot.

ChristophWurst avatar May 08 '25 19:05 ChristophWurst

@ChristophWurst

I managed to identify the cause of the issue.

The problem appears when I increase the width of the middle column — the one displaying the list of received emails. After expanding it, the rendering/layout bug I reported starts appearing (see attached screenshot). Additionally, once the column is expanded, it becomes very difficult to resize it back to a smaller width. The resizing handle seems to behave inconsistently or becomes unresponsive.

I tested this on both Brave and Firefox, and the issue occurred in both browsers. Reducing the column width again resolves the issue, although adjusting it back is tricky.

This behavior seems tied to the layout handling when the column gets too wide.

Image

vawaver avatar May 08 '25 20:05 vawaver

Are there any error on your browser console?

I'm still unable to reproduce.

ChristophWurst avatar May 09 '25 06:05 ChristophWurst

I have no idea how to check this. I am not an IT professional or a programmer. Let me know how to do it. I would be happy to take a look.

vawaver avatar May 09 '25 10:05 vawaver

Okay, no problem. Perhaps @Aveyron-RetD can help out.

ChristophWurst avatar May 09 '25 11:05 ChristophWurst

Ok i can reproduce on edge Microsoft Edge Version 136.0.3240.64 (Version officielle) (64 bits)

adblock not enable on firefox => Error still persits

I get those error when i get to the page looks like they silently fail abandonnée = disused ` Erreur d’analyse de la valeur pour « -webkit-text-size-adjust ». Déclaration abandonnée. html:32:96

Propriété « moz-osx-font-smoothing » inconnue. Déclaration abandonnée. html:32:159

Propriété « mso-table-lspace » inconnue. Déclaration abandonnée. html:33:41

Propriété « mso-table-rspace » inconnue. Déclaration abandonnée. html:33:60

Propriété « mso-line-height-rule » inconnue. Déclaration abandonnée. html:34:78`

Erreur d’analyse de la valeur pour « -webkit-text-size-adjust ». Déclaration abandonnée. html:32:96 Éléments correspondant au sélecteur : body NodeList [ body ] ​ 0: <body style="max-width: 100%;"> ​ length: 1 ​ <prototype>: NodeListPrototype { item: item(), keys: keys(), values: values(), … }

Aveyron-RetD avatar May 12 '25 07:05 Aveyron-RetD

On the latest update i get more useful messages ` [iFrameSizer][iFrameResizer11] auto is not a valid option for heightCalculationMethod. htmlresponse.js:1:5117 [iFrameSizer][iFrameResizer11] auto is not a valid option for widthCalculationMethod. htmlresponse.js:1:5117= parent(iFrameResizer11) init @ 09:01:27.227 index.umd.js:20:1380 Legacy version detected in iframe

Detected legacy version of child page script. It is recommended to update the page in the iframe to use @iframe-resizer/child.

See https://iframe-resizer.com/setup/#child-page-setup for more details. `

(()=>{var e={89357:(e,t,n)=>{"use strict";n.d(t,{A:()=>c});var o=n(71354),i=n.n(o),r=n(76314),a=n.n(r)()(i());a.push([e.id,"/**\n * SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n* {\n\tfont-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Cantarell, Ubuntu, 'Helvetica Neue', Arial, 'Noto Color Emoji', sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';\n}\n\nhtml {\n\toverflow-y: hidden;\n}\n","",{version:3,sources:["webpack://./css/html-response.css"],names:[],mappings:"AAAA;;;EAGE;AACF;CACC,qNAAqN;AACtN;;AAEA;CACC,kBAAkB;AACnB",sourcesContent:["/**\n * SPDX-FileCopyrightText: 2020 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n* {\n\tfont-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Cantarell, Ubuntu, 'Helvetica Neue', Arial, 'Noto Color Emoji', sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';\n}\n\nhtml {\n\toverflow-y: hidden;\n}\n"],sourceRoot:""}]);const c=a},76314:e=>{"use strict";e.exports=function(e){var t=[];return t.toString=function(){return this.map((function(t){var n="",o=void 0!==t[5];return t[4]&&(n+="@supports (".concat(t[4],") {")),t[2]&&(n+="@media ".concat(t[2]," {")),o&&(n+="@layer".concat(t[5].length>0?" ".concat(t[5]):""," {")),n+=e(t),o&&(n+="}"),t[2]&&(n+="}"),t[4]&&(n+="}"),n})).join("")},t.i=function(e,n,o,i,r){"string"==typeof e&&(e=[[null,e,void 0]]);var a={};if(o)for(var c=0;c<this.length;c++){var s=this[c][0];null!=s&&(a[s]=!0)}for(var u=0;u<e.length;u++){var l=[].concat(e[u]);o&&a[l[0]]||(void 0!==r&&(void 0===l[5]||(l[1]="@layer".concat(l[5].length>0?" ".concat(l[5]):""," {").concat(l[1],"}")),l[5]=r),n&&(l[2]?(l[1]="@media ".concat(l[2]," {").concat(l[1],"}"),l[2]=n):l[2]=n),i&&(l[4]?(l[1]="@supports (".concat(l[4],") {").concat(l[1],"}"),l[4]=i):l[4]="".concat(i)),t.push(l))}},t}},71354:e=>{"use strict";e.exports=function(e){var t=e[1],n=e[3];if(!n)return t;if("function"==typeof btoa){var o=btoa(unescape(encodeURIComponent(JSON.stringify(n)))),i="sourceMappingURL=data:application/json;charset=utf-8;base64,".concat(o),r="/*# ".concat(i," */");return[t].concat([r]).join("\n")}return[t].join("\n")}},80481:e=>{!function(t){if("undefined"!=typeof window){var n=!0,o="",i=0,r="",a=null,c="",s=!1,u={resize:1,click:1},l=128,d=!0,f=1,m="bodyOffset",p=m,h=!0,v="",g={},y=32,b=null,w=!1,T=!1,S="[iFrameSizer]",E="",A={max:1,min:1,bodyScroll:1,documentElementScroll:1},M="child",O=window.parent,C="*",I=0,N=!1,x=null,R=16,L=1,k="scroll",z=k,P=window,F=function(){ie("onMessage function not defined")},j=function(){},D=function(){},U={height:function(){return ie("Custom height calculation function not defined"),document.documentElement.offsetHeight},width:function(){return ie("Custom width calculation function not defined"),document.body.scrollWidth}},H={},q=!1;try{var B=Object.create({},{passive:{get:function(){q=!0}}});window.addEventListener("test",$,B),window.removeEventListener("test",$,B)}catch(e){}var W,J,X,G,V,Y,K,Q={bodyOffset:function(){return document.body.offsetHeight+he("marginTop")+he("marginBottom")},offset:function(){return Q.bodyOffset()},bodyScroll:function(){return document.body.scrollHeight},custom:function(){return U.height()},documentElementOffset:function(){return document.documentElement.offsetHeight},documentElementScroll:function(){return document.documentElement.scrollHeight},max:function(){return Math.max.apply(null,ge(Q))},min:function(){return Math.min.apply(null,ge(Q))},grow:function(){return Q.max()},lowestElement:function(){return Math.max(Q.bodyOffset()||Q.documentElementOffset(),ve("bottom",be()))},taggedElement:function(){return ye("bottom","data-iframe-height")}},_={bodyScroll:function(){return document.body.scrollWidth},bodyOffset:function(){return document.body.offsetWidth},custom:function(){return U.width()},documentElementScroll:function(){return document.documentElement.scrollWidth},documentElementOffset:function(){return document.documentElement.offsetWidth},scroll:function(){return Math.max(_.bodyScroll(),_.documentElementScroll())},max:function(){return Math.max.apply(null,ge(_))},min:function(){return Math.min.apply(null,ge(_))},rightMostElement:function(){return ve("right",be())},taggedElement:function(){return ye("right","data-iframe-width")}},Z=(W=we,V=null,Y=0,K=function(){Y=Date.now(),V=null,G=W.apply(J,X),V||(J=X=null)},function(){var e=Date.now();Y||(Y=e);var t=R-(e-Y);return J=this,X=arguments,t<=0||t>R?(V&&(clearTimeout(V),V=null),Y=e,G=W.apply(J,X),V||(J=X=null)):V||(V=setTimeout(K,t)),G});"iframeResizer"in window||(window.iframeChildListener=function(e){Oe({data:e,sameDomian:!0})},ee(window,"message",Oe),ee(window,"readystatechange",Ce),Ce())}function $(){}function ee(e,t,n,o){e.addEventListener(t,n,!!q&&(o||{}))}function te(e){return e.charAt(0).toUpperCase()+e.slice(1)}function ne(e){return S+"["+E+"] "+e}function oe(e){w&&"object"==typeof window.console&&console.log(ne(e))}function ie(e){"object"==typeof window.console&&console.warn(ne(e))}function re(){var e,u;!function(){function e(e){return"true"===e}var a=v.slice(13).split(":");E=a[0],i=t===a[1]?i:Number(a[1]),s=t===a[2]?s:e(a[2]),w=t===a[3]?w:e(a[3]),y=t===a[4]?y:Number(a[4]),n=t===a[6]?n:e(a[6]),r=a[7],p=t===a[8]?p:a[8],o=a[9],c=a[10],I=t===a[11]?I:Number(a[11]),g.enable=t!==a[12]&&e(a[12]),M=t===a[13]?M:a[13],z=t===a[14]?z:a[14],T=t===a[15]?T:e(a[15])}(),oe("Initialising iFrame ("+window.location.href+")"),function(){function e(e,t){return"function"==typeof e&&(oe("Setup custom "+t+"CalcMethod"),U[t]=e,e="custom"),e}var t;"iFrameResizer"in window&&Object===window.iFrameResizer.constructor&&(t=window.iFrameResizer,oe("Reading data from page: "+JSON.stringify(t)),Object.keys(t).forEach(ae,t),F="onMessage"in t?t.onMessage:F,j="onReady"in t?t.onReady:j,C="targetOrigin"in t?t.targetOrigin:C,p="heightCalculationMethod"in t?t.heightCalculationMethod:p,z="widthCalculationMethod"in t?t.widthCalculationMethod:z,p=e(p,"height"),z=e(z,"width")),oe("TargetOrigin for parent set to: "+C)}(),t===r&&(r=i+"px"),ce("margin",(-1!==(u=r).indexOf("-")&&(ie("Negative CSS value ignored for margin"),u=""),u)),ce("background",o),ce("padding",c),(e=document.createElement("div")).style.clear="both",e.style.display="block",e.style.height="0",document.body.appendChild(e),de(),fe(),document.documentElement.style.height="",document.body.style.height="",oe('HTML & body height set to "auto"'),oe("Enable public methods"),P.parentIFrame={autoResize:function(e){return!0===e&&!1===n?(n=!0,me()):!1===e&&!0===n&&(n=!1,ue("remove"),null!==a&&a.disconnect(),clearInterval(b)),Me(0,0,"autoResize",JSON.stringify(n)),n},close:function(){Me(0,0,"close")},getId:function(){return E},getPageInfo:function(e){"function"==typeof e?(D=e,Me(0,0,"pageInfo")):(D=function(){},Me(0,0,"pageInfoStop"))},moveToAnchor:function(e){g.findTarget(e)},reset:function(){Ae("parentIFrame.reset")},scrollTo:function(e,t){Me(t,e,"scrollTo")},scrollToOffset:function(e,t){Me(t,e,"scrollToOffset")},sendMessage:function(e,t){Me(0,0,"message",JSON.stringify(e),t)},setHeightCalculationMethod:function(e){p=e,de()},setWidthCalculationMethod:function(e){z=e,fe()},setTargetOrigin:function(e){oe("Set targetOrigin: "+e),C=e},size:function(e,t){Te("size","parentIFrame.size("+(e||"")+(t?","+t:"")+")",e,t)}},function(){function e(e){Me(0,0,e.type,e.screenY+":"+e.screenX)}function t(t,n){oe("Add event listener: "+n),ee(window.document,t,e)}!0===T&&(t("mouseenter","Mouse Enter"),t("mouseleave","Mouse Leave"))}(),me(),g=function(){function e(e){var n=e.getBoundingClientRect(),o={x:window.pageXOffset===t?document.documentElement.scrollLeft:window.pageXOffset,y:window.pageYOffset===t?document.documentElement.scrollTop:window.pageYOffset};return{x:parseInt(n.left,10)+parseInt(o.x,10),y:parseInt(n.top,10)+parseInt(o.y,10)}}function n(n){var o=n.split("#")[1]||n,i=decodeURIComponent(o),r=document.getElementById(i)||document.getElementsByName(i)[0];t===r?(oe("In page link (#"+o+") not found in iFrame, so sending to parent"),Me(0,0,"inPageLink","#"+o)):function(t){var n=e(t);oe("Moving to in page link (#"+o+") at x: "+n.x+" y: "+n.y),Me(n.y,n.x,"scrollToOffset")}(r)}function o(){var e=window.location.hash,t=window.location.href;""!==e&&"#"!==e&&n(t)}return g.enable?Array.prototype.forEach&&document.querySelectorAll?(oe("Setting up location.hash handlers"),Array.prototype.forEach.call(document.querySelectorAll('a[href^="#"]'),(function(e){"#"!==e.getAttribute("href")&&ee(e,"click",(function(e){e.preventDefault(),n(this.getAttribute("href"))}))})),ee(window,"hashchange",o),setTimeout(o,l)):ie("In page linking not fully supported in this browser! (See README.md for IE8 workaround)"):oe("In page linking not enabled"),{findTarget:n}}(),Te("init","Init message from host page"),j()}function ae(e){var t=e.split("Callback");if(2===t.length){var n="on"+t[0].charAt(0).toUpperCase()+t[0].slice(1);this[n]=this[e],delete this[e],ie("Deprecated: '"+e+"' has been renamed '"+n+"'. The old method will be removed in the next major version.")}}function ce(e,n){t!==n&&""!==n&&"null"!==n&&(document.body.style[e]=n,oe("Body "+e+' set to "'+n+'"'))}function se(e){var t={add:function(t){function n(){Te(e.eventName,e.eventType)}H[t]=n,ee(window,t,n,{passive:!0})},remove:function(e){var t,n,o=H[e];delete H[e],t=e,n=o,window.removeEventListener(t,n,!1)}};e.eventNames&&Array.prototype.map?(e.eventName=e.eventNames[0],e.eventNames.map(t[e.method])):t[e.method](e.eventName),oe(te(e.method)+" event listener: "+e.eventType)}function ue(e){se({method:e,eventType:"Animation Start",eventNames:["animationstart","webkitAnimationStart"]}),se({method:e,eventType:"Animation Iteration",eventNames:["animationiteration","webkitAnimationIteration"]}),se({method:e,eventType:"Animation End",eventNames:["animationend","webkitAnimationEnd"]}),se({method:e,eventType:"Input",eventName:"input"}),se({method:e,eventType:"Mouse Up",eventName:"mouseup"}),se({method:e,eventType:"Mouse Down",eventName:"mousedown"}),se({method:e,eventType:"Orientation Change",eventName:"orientationchange"}),se({method:e,eventType:"Print",eventNames:["afterprint","beforeprint"]}),se({method:e,eventType:"Ready State Change",eventName:"readystatechange"}),se({method:e,eventType:"Touch Start",eventName:"touchstart"}),se({method:e,eventType:"Touch End",eventName:"touchend"}),se({method:e,eventType:"Touch Cancel",eventName:"touchcancel"}),se({method:e,eventType:"Transition Start",eventNames:["transitionstart","webkitTransitionStart","MSTransitionStart","oTransitionStart","otransitionstart"]}),se({method:e,eventType:"Transition Iteration",eventNames:["transitioniteration","webkitTransitionIteration","MSTransitionIteration","oTransitionIteration","otransitioniteration"]}),se({method:e,eventType:"Transition End",eventNames:["transitionend","webkitTransitionEnd","MSTransitionEnd","oTransitionEnd","otransitionend"]}),"child"===M&&se({method:e,eventType:"IFrame Resized",eventName:"resize"})}function le(e,t,n,o){return t!==e&&(e in n||(ie(e+" is not a valid option for "+o+"CalculationMethod."),e=t),oe(o+' calculation method set to "'+e+'"')),e}function de(){p=le(p,m,Q,"height")}function fe(){z=le(z,k,_,"width")}function me(){var e;!0===n?(ue("add"),e=0>y,window.MutationObserver||window.WebKitMutationObserver?e?pe():a=function(){function e(e){function t(e){!1===e.complete&&(oe("Attach listeners to "+e.src),e.addEventListener("load",o,!1),e.addEventListener("error",i,!1),a.push(e))}"attributes"===e.type&&"src"===e.attributeName?t(e.target):"childList"===e.type&&Array.prototype.forEach.call(e.target.querySelectorAll("img"),t)}function t(e){oe("Remove listeners from "+e.src),e.removeEventListener("load",o,!1),e.removeEventListener("error",i,!1),function(e){a.splice(a.indexOf(e),1)}(e)}function n(e,n,o){t(e.target),Te(n,o+": "+e.target.src)}function o(e){n(e,"imageLoad","Image loaded")}function i(e){n(e,"imageLoadFailed","Image load failed")}function r(t){Te("mutationObserver","mutationObserver: "+t[0].target+" "+t[0].type),t.forEach(e)}var a=[],c=window.MutationObserver||window.WebKitMutationObserver,s=function(){var e=document.querySelector("body");return s=new c(r),oe("Create body MutationObserver"),s.observe(e,{attributes:!0,attributeOldValue:!1,characterData:!0,characterDataOldValue:!1,childList:!0,subtree:!0}),s}();return{disconnect:function(){"disconnect"in s&&(oe("Disconnect body MutationObserver"),s.disconnect(),a.forEach(t))}}}():(oe("MutationObserver not supported in this browser!"),pe())):oe("Auto Resize disabled")}function pe(){0!==y&&(oe("setInterval: "+y+"ms"),b=setInterval((function(){Te("interval","setInterval: "+y)}),Math.abs(y)))}function he(e,t){var n=0;return t=t||document.body,n=null===(n=document.defaultView.getComputedStyle(t,null))?0:n[e],parseInt(n,10)}function ve(e,t){for(var n=t.length,o=0,i=0,r=te(e),a=Date.now(),c=0;c<n;c++)(o=t[c].getBoundingClientRect()[e]+he("margin"+r,t[c]))>i&&(i=o);return a=Date.now()-a,oe("Parsed "+n+" HTML elements"),oe("Element position calculated in "+a+"ms"),function(e){e>R/2&&oe("Event throttle increased to "+(R=2*e)+"ms")}(a),i}function ge(e){return[e.bodyOffset(),e.bodyScroll(),e.documentElementOffset(),e.documentElementScroll()]}function ye(e,t){var n=document.querySelectorAll("["+t+"]");return 0===n.length&&(ie("No tagged elements ("+t+") found on page"),document.querySelectorAll("body *")),ve(e,n)}function be(){return document.querySelectorAll("body *")}function we(e,n,o,i){var r,a;!function(){function e(e,t){return!(Math.abs(e-t)<=I)}return r=t===o?Q[p]():o,a=t===i?_[z]():i,e(f,r)||s&&e(L,a)}()&&"init"!==e?!(e in{init:1,interval:1,size:1})&&(p in A||s&&z in A)?Ae(n):e in{interval:1}||oe("No change in size detected"):(Se(),Me(f=r,L=a,e))}function Te(e,t,n,o){N&&e in u?oe("Trigger event cancelled: "+e):(e in{reset:1,resetPage:1,init:1}||oe("Trigger event: "+t),"init"===e?we(e,t,n,o):Z(e,t,n,o))}function Se(){N||(N=!0,oe("Trigger event lock on")),clearTimeout(x),x=setTimeout((function(){N=!1,oe("Trigger event lock off"),oe("--")}),l)}function Ee(e){f=Q[p](),L=_[z](),Me(f,L,e)}function Ae(e){var t=p;p=m,oe("Reset trigger event: "+e),Se(),Ee("reset"),p=t}function Me(e,n,o,i,r){var a;t===r?r=C:oe("Message targetOrigin: "+r),oe("Sending message to host page ("+(a=E+":"+e+":"+n+":"+o+(t===i?"":":"+i))+")"),O.postMessage(S+a,r)}function Oe(n){var o,i={init:function(){v=n.data,O=n.source,re(),d=!1,setTimeout((function(){h=!1}),l)},reset:function(){h?oe("Page reset ignored by init"):(oe("Page size reset by host page"),Ee("resetPage"))},resize:function(){Te("resizeParent","Parent window requested size check")},moveToAnchor:function(){g.findTarget(a())},inPageLink:function(){this.moveToAnchor()},pageInfo:function(){var e=a();oe("PageInfoFromParent called from parent: "+e),D(JSON.parse(e)),oe(" --")},message:function(){var e=a();oe("onMessage called from parent: "+e),F(JSON.parse(e)),oe(" --")}};function r(){return n.data.split("]")[1].split(":")[0]}function a(){return n.data.slice(n.data.indexOf(":")+1)}function c(){return n.data.split(":")[2]in{true:1,false:1}}S===(""+n.data).slice(0,13)&&(!1===d?(o=r())in i?i[o]():!e.exports&&"iFrameResize"in window||window.jQuery!==t&&"iFrameResize"in window.jQuery.prototype||c()||ie("Unexpected message ("+n.data+")"):c()?i.init():oe('Ignored message of type "'+r()+'". Received before initialization.'))}function Ce(){"loading"!==document.readyState&&window.parent.postMessage("[iFrameResizerChild]Ready","*")}}()},85072:e=>{"use strict";var t=[];function n(e){for(var n=-1,o=0;o<t.length;o++)if(t[o].identifier===e){n=o;break}return n}function o(e,o){for(var r={},a=[],c=0;c<e.length;c++){var s=e[c],u=o.base?s[0]+o.base:s[0],l=r[u]||0,d="".concat(u," ").concat(l);r[u]=l+1;var f=n(d),m={css:s[1],media:s[2],sourceMap:s[3],supports:s[4],layer:s[5]};if(-1!==f)t[f].references++,t[f].updater(m);else{var p=i(m,o);o.byIndex=c,t.splice(c,0,{identifier:d,updater:p,references:1})}a.push(d)}return a}function i(e,t){var n=t.domAPI(t);return n.update(e),function(t){if(t){if(t.css===e.css&&t.media===e.media&&t.sourceMap===e.sourceMap&&t.supports===e.supports&&t.layer===e.layer)return;n.update(e=t)}else n.remove()}}e.exports=function(e,i){var r=o(e=e||[],i=i||{});return function(e){e=e||[];for(var a=0;a<r.length;a++){var c=n(r[a]);t[c].references--}for(var s=o(e,i),u=0;u<r.length;u++){var l=n(r[u]);0===t[l].references&&(t[l].updater(),t.splice(l,1))}r=s}}},77659:e=>{"use strict";var t={};e.exports=function(e,n){var o=function(e){if(void 0===t[e]){var n=document.querySelector(e);if(window.HTMLIFrameElement&&n instanceof window.HTMLIFrameElement)try{n=n.contentDocument.head}catch(e){n=null}t[e]=n}return t[e]}(e);if(!o)throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");o.appendChild(n)}},10540:e=>{"use strict";e.exports=function(e){var t=document.createElement("style");return e.setAttributes(t,e.attributes),e.insert(t,e.options),t}},55056:(e,t,n)=>{"use strict";e.exports=function(e){var t=n.nc;t&&e.setAttribute("nonce",t)}},97825:e=>{"use strict";e.exports=function(e){if("undefined"==typeof document)return{update:function(){},remove:function(){}};var t=e.insertStyleElement(e);return{update:function(n){!function(e,t,n){var o="";n.supports&&(o+="@supports (".concat(n.supports,") {")),n.media&&(o+="@media ".concat(n.media," {"));var i=void 0!==n.layer;i&&(o+="@layer".concat(n.layer.length>0?" ".concat(n.layer):""," {")),o+=n.css,i&&(o+="}"),n.media&&(o+="}"),n.supports&&(o+="}");var r=n.sourceMap;r&&"undefined"!=typeof btoa&&(o+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(r))))," */")),t.styleTagTransform(o,e,t.options)}(t,e,n)},remove:function(){!function(e){if(null===e.parentNode)return!1;e.parentNode.removeChild(e)}(t)}}}},41113:e=>{"use strict";e.exports=function(e,t){if(t.styleSheet)t.styleSheet.cssText=e;else{for(;t.firstChild;)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(e))}}}},t={};function n(o){var i=t[o];if(void 0!==i)return i.exports;var r=t[o]={id:o,exports:{}};return e[o](r,r.exports,n),r.exports}n.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return n.d(t,{a:t}),t},n.d=(e,t)=>{for(var o in t)n.o(t,o)&&!n.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:t[o]})},n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.nc=void 0,(()=>{"use strict";var e=n(85072),t=n.n(e),o=n(97825),i=n.n(o),r=n(77659),a=n.n(r),c=n(55056),s=n.n(c),u=n(10540),l=n.n(u),d=n(41113),f=n.n(d),m=n(89357),p={};p.styleTagTransform=f(),p.setAttributes=s(),p.insert=a().bind(null,"head"),p.domAPI=i(),p.insertStyleElement=l(),t()(m.A,p),m.A&&m.A.locals&&m.A.locals,n(80481),document.addEventListener("DOMContentLoaded",(function(){for(const e of document.querySelectorAll("*"))e.style["max-width"]||(e.style["max-width"]="100%")}))})()})(); //# sourceMappingURL=htmlresponse.js.map

Aveyron-RetD avatar May 19 '25 07:05 Aveyron-RetD

https://github.com/nextcloud/mail/pull/11044 is where we have updated the child library. Today we released v5.1.0. Mind trying to see if it makes any difference? Thanks

ChristophWurst avatar May 20 '25 17:05 ChristophWurst

With 5.1.0 same behaviour on this email https://github.com/user-attachments/files/19956753/Eau.pure.en.laboratoire.Un.guide.pour.optimiser.votre.installation.txt

Image

Image

Image

Aveyron-RetD avatar May 21 '25 08:05 Aveyron-RetD

There must be a caching issue on your instance, because the lib was definitely updated. Try restarting your web server.

I can also not see any issues with the imported email you've shared.

Image

ChristophWurst avatar May 21 '25 09:05 ChristophWurst

Hi there! It looks like this issue hasn’t seen much activity for a while and might need a bit more information to move forward. If we don’t hear back soon, we may close it to keep things organized. Thanks again for your contributions – we really appreciate it!

nextcloud-command avatar Jun 21 '25 01:06 nextcloud-command

The email in question does not show anymore this behaviour with the new version. I believe it is fixed. @vawaver do you confirm But received an email today which at first did not get displayed fully and after re-entering the mail it got displayed normally. i suppose this is just a caching issue with the mail which did not get fully downloaded.

Aveyron-RetD avatar Jul 01 '25 13:07 Aveyron-RetD

The email in question does not show anymore this behaviour with the new version. I believe it is fixed. @vawaver do you confirm But received an email today which at first did not get displayed fully and after re-entering the mail it got displayed normally. i suppose this is just a caching issue with the mail which did not get fully downloaded.

I can confirm that the problem is no longer occurring for me. The content is displayed correctly even when changing the column width.

vawaver avatar Jul 01 '25 18:07 vawaver

Issue can be closed, thanks

Aveyron-RetD avatar Jul 02 '25 07:07 Aveyron-RetD