Closed Bug 368966 Opened 17 years ago Closed 17 years ago

Can't see HTML mails in Yahoo mail

Categories

(Tech Evangelism Graveyard :: English US, defect)

defect
Not set
major

Tracking

(Not tracked)

VERIFIED FIXED

People

(Reporter: tgbarry, Unassigned)

References

()

Details

User-Agent:       Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.8.1.1) Gecko/20061204 Firefox/2.0.0.1
Build Identifier: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.8.1.1) Gecko/20061204 Firefox/2.0.0.1

The mail body window is blank, but if you hit CNTR-A, you can see the blocking. If you forward the mail, you can see the HTML content. If I look at it in IE, it's fine. This is affecting mail from the WSJ, ETrade, etc.  Seems to be a problem where you can't see images in the mail.

I forwarded the message to my GMail account, and I could see it fine, after I clicked the "show images" option.

Reproducible: Always

Steps to Reproduce:
1.View a mail that has HTML content
2.
3.
Actual Results:  
Just click on the mail message in Yahoo. 

Expected Results:  
I expect to see the email message, but cannot.

I can forward you an email to display the problem, if you like. If I'm doing something dumb, I apologize in advance.
That's a Yahoo bug introduced by their recent update (yesterday?), if some of the images in the message fail to load they don't show the message - affects only Gecko browsers due to browser sniffing. User Agent Switcher (https://addons.mozilla.org/firefox/59/) is confirmed to solve the issue. I have sent a full description of this issue to Ratan Hudda (the only Yahoo Mail contact I have) but didn't get a response yet.

Here is the script responsible for this:

var callCount = ((oBw.agt.match( /gecko/ ) == "gecko"))? 0 : 30;
function rmvScroll( msg )
{
   if ( callCount <  10 && ! imgsDone( msg ) ) {
      setTimeout( function() { rmvScroll( msg ); }, 300 );
      return;
   }
   var delta = msg.offsetHeight - msg.clientHeight;
   delta = ( isNaN( delta )? 1 : delta + 1 );
   if ( msg.scrollHeight > msg.clientHeight ) {
      msg.style.height = ( msg.scrollHeight + delta ) + "px";
   }
   delta = msg.offsetWidth - msg.clientWidth;
   delta = ( isNaN( delta )? 1 : delta + 1 );
   if ( msg.scrollWidth > msg.clientWidth ) {
      msg.style.width = ( msg.scrollWidth + delta ) + "px";
   }
   msg.style.overflow = "hidden";
   msg.style.visibility = "visible";
}
function imgsDone( msg )   // for Firefox, we need to scan for images that haven't set their width yet
{
   var imgList = msg.getElementsByTagName( "IMG" );
   var len = ((imgList == null)? 0 : imgList.length);
   for ( var i = 0; i < len; ++i ) {
      var theImg = imgList[i];
      if ( "undefined" != typeof theImg.naturalWidth && theImg.naturalWidth == 0 ) {
         return false;
      }
   }
   return true;
}
var msg = document.getElementById( "message" );
if ( msg && "undefined" != typeof msg ) { rmvScroll( msg ); }

Note that they never increase the callCount variable, that's the bug here. This is the first report of this issue AFAICT, confirming and moving to Tech Evangelism.
Assignee: nobody → english-us
Component: General → English US
OS: Windows 2000 → All
Product: Firefox → Tech Evangelism
QA Contact: general → english-us
Hardware: PC → All
Status: UNCONFIRMED → NEW
Ever confirmed: true
Thanks Wladimir, we will look at the issues and get back to you.
We have already fixed the issue. We will roll it out next week to all servers if everything goes as planned.
Yahoo Mail and Firefox
This is a copy of a comment made on Firefox Support forum. This fix mentioned seems to clear this problem up nicely without having to use any addons.

"jscher2000 wrote:
since wednesday wrote:
By the way, I cannot confirm that this is the same story as the other thread, jscher2000, as this affects "classic" Yahoo mail.

In the other case, the message is there but the height is too short: the div is "visible" but most of the content his hidden and of course there are no scroll bars. Perhaps we should combine scripts? This would be the bookmarklet-ized version for "classic" mail (for those not interested in installing GreaseMonkey):

The code:
Code:
javascript:var msg=document.getElementById(%22message%22); msg.style.visibility=%22visible%22; msg.style.height=msg.scrollHeight+%22px%22; msg.style.overflow=%22hidden%22; void 0;

Note: that should all be one line, reconstruct as needed.

To make this readily available:

   1. Select and copy the above bookmarklet code to the clipboard
   2. Right-click the bookmarks toolbar and choose New Bookmark
      If the Bookmarks toolbar is not already displayed, you can display it by right-clicking after Help on the menu bar and choosing it from the little pop-up
   3. On the Name line, enter something like Y!-Fix
   4. On the Location line, paste the above script
   5. Click OK to add the bookmark (or Cancel to fuggedaboudit)

Now when you see a Yahoo! message that has been shortened, click the new button for instant relief."

Some additional information is that this seems to be happening also when I try to read certain HTML messages in "Yahoo Mail Classic" using the Mozilla Browser Build 2005060906. I have not check or gone thru a search on Bugzilla to see if it has been solved or a workaround is available for it too.
patrick, can you help with this on the yahoo! side?
This works for me now so at least some servers have been updated. Can anybody confirm?
Works now, for me.
works for me now. Thanks, I hated having to go back to IE
Status: NEW → RESOLVED
Closed: 17 years ago
Resolution: --- → FIXED
Fix is pushed to all servers.
marking it VERIFIED as per comment# 16
Status: RESOLVED → VERIFIED
This problem just reared back up, again, this afternoon.  

I do note that Yahoo has been tinkering with Mail lately, and wonder if the same/similar coding error has popped back up.

See current bug: 359357, for comments there
You probably mean bug 359517 but I think this belongs into a new bug.
Yes, a typo.  I meant 359517.   I had appended my comment there, and recalled my earlier comments on this bug.

Should I craft yet another bug, in addition to 359517?  Or are you talking to the community at-large?
Product: Tech Evangelism → Tech Evangelism Graveyard
You need to log in before you can comment on or make changes to this bug.