5.2.0-git
2014-08-02

[#11940] Javascript errors with Internet Explorer 8
Summary Javascript errors with Internet Explorer 8
Queue IMP
Queue Version Git master
Type Bug
State Resolved
Priority 1. Low
Owners jan (at) horde (dot) org, slusarz (at) horde (dot) org
Requester thomas.jarosch (at) intra2net (dot) com
Created 2013-01-08 (571 days ago)
Due
Updated 2013-03-04 (516 days ago)
Assigned 2013-02-18 (530 days ago)
Resolved 2013-03-04 (516 days ago)
Milestone
Patch No

History
2013-03-04 08:57:30 Thomas Jarosch Comment #31 Reply to this comment
I can't reproduce and I have removed every bit of my cache after the 
recent changes (easy to do since I run IE 8 in a virtual machine).
Thanks for trying!

2013-03-04 00:51:03 Michael Slusarz Comment #30
State ⇒ Resolved
Reply to this comment
I can't reproduce and I have removed every bit of my cache after the 
recent changes (easy to do since I run IE 8 in a virtual machine).

Regardless, unless these bugs are showstoppers (i.e. prevent IE8 from 
working entirely), I don't have the time to track down at this time 
unless someone can provide patches.
2013-02-27 10:38:58 Thomas Jarosch Comment #29 Reply to this comment
#12043 was fixed - does that fix this?
Not yet. Playing around some more, I found out how to trigger this:

The trick is to mark deleted messages as "\Deleted" only and enable 
"hide deleted messages" in the imp view.

As soon as the deleted messages are hidden, the Javascript errors pop up.
May be some "outstanding" requests?

Two new errors (this time with cookie based session):

Message: 'this.viewport.getMetaData(...)' is null or no object
Line: 1342
Character: 13
Code: 0
URI: 
https://172.16.1.123/horde/imp/js/dimpbase.js?v=94bb72db456008168cbe506f7a47cd76


Message: 'undefined' is null or no object
Line: 1364
Character: 13
Code: 0
URI: 
https://172.16.1.123/horde/imp/js/dimpbase.js?v=94bb72db456008168cbe506f7a47cd76

Code is git HEAD as of now.

2013-02-24 06:02:08 Michael Slusarz Comment #28 Reply to this comment
Might be related to #12043, I don't see it when
using cookie based sessions.
#12043 was fixed - does that fix this?
2013-02-19 19:58:52 Michael Slusarz Comment #27 Reply to this comment
Tested IE8 with git head and caught this:

Message: 'null' is Null or no object
Can't reproduce, with or without cookies.
I'm still seeing it. Any hint how I could debug this?
You need to figure out why the variable is null at the error location 
thrown by the browser.

2013-02-19 10:08:54 Thomas Jarosch Comment #26 Reply to this comment
Tested IE8 with git head and caught this:

Message: 'null' is Null or no object
Can't reproduce, with or without cookies.
I'm still seeing it. Any hint how I could debug this?

2013-02-18 02:15:58 Michael Slusarz Comment #25
State ⇒ Feedback
Reply to this comment
Tested IE8 with git head and caught this:

Message: 'null' is Null or no object
Can't reproduce, with or without cookies.
2013-02-14 14:30:20 Thomas Jarosch Comment #24
State ⇒ Assigned
Reply to this comment
Tested IE8 with git head and caught this:

Message: 'null' is Null or no object
Line: 1441
Char: 9
Code: 0
URI: 
https://172.16.1.123/horde/imp/js/dimpbase.js?v=94bb72db456008168cbe506f7a47cd76


Might be related to #12043, I don't see it when
using cookie based sessions.

Thomas


2013-02-07 16:04:07 Thomas Jarosch Comment #23 Reply to this comment
I think this is what's happening: IE8 doesn't support multiple 
background images per CSS, thus trying to load everything after 
background-image:url(. This is loading a non-existant URL which is 
catched by Horde's rampage.php which requires authentication. Since 
you don't use session cookies, this is an unauthenticated request.
Jan's analysis is correct:
"GET 
/horde/themes/default/graphics/button-split.png),%20url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAdBAMAAACZLxtaAAAAGFBMVEWkpKTGxsbQ0NDW1tbY2NjU1NTLy8u/v8ASRiaXAAAAEklEQVQIW2NhYBGAQgaiIVg9ABtiAOWD49QFAAAAAElFTkSuQmCC 
HTTP/1.1"


Let's not care about this, imp works and the log is disabled on 
productive systems.

@mms: Thanks for the popup window fix, replying etc. works now.

2013-02-07 09:04:41 Jan Schneider Comment #22 Reply to this comment

[Show Quoted Text - 17 lines]
I think this is what's happening: IE8 doesn't support multiple 
background images per CSS, thus trying to load everything after 
background-image:url(. This is loading a non-existant URL which is 
catched by Horde's rampage.php which requires authentication. Since 
you don't use session cookies, this is an unauthenticated request.
2013-02-07 08:47:32 Thomas Jarosch Comment #21 Reply to this comment

[Show Quoted Text - 9 lines]
I knew you were going to say this :)

Still I'm seeing it. I can even record a video of a window showing the 
log and going back and forth over the button if you want.

Better yet, I'll enable apache's access log and have a look what is sent.

2013-02-06 19:47:30 Michael Slusarz Comment #20 Reply to this comment
Every time I hower the "Reply" button with the mouse in the pop-up window,
I'm getting this in the logs:

2013-02-06T10:05:24+01:00 EMERG: HORDE User is not authorized for 
horde [pid 17610 on line 259 of 
"/datastore/share/pear/Horde/Registry.php"]
This makes zero sense since nothing is being triggered on the server 
with a hover.  (I can't reproduce).
2013-02-06 19:46:52 Michael Slusarz Comment #19 Reply to this comment
When opening a message in the popup window and you click on reply, 
it doesn't insert the quoted text and the message window is not 
editable.
This isn't correct - the text is inserted - the compose body textarea 
is instead hidden at this point.  Fixed.
2013-02-06 19:46:12 Git Commit Comment #18 Reply to this comment
Changes have been made in Git (master):

commit 3a3d09c68f054ffe875c47e84b10746c4df71b73
Author: Michael M Slusarz <slusarz@horde.org>
Date:   Wed Feb 6 12:45:10 2013 -0700

     Some more IE8 fixes (Bug #11940)

  imp/js/compose-dimp.js |    4 ++--
  1 files changed, 2 insertions(+), 2 deletions(-)

http://git.horde.org/horde-git/-/commit/3a3d09c68f054ffe875c47e84b10746c4df71b73
2013-02-06 09:06:54 Thomas Jarosch Comment #17 Reply to this comment
-----------------------------------------------------
There is still a problem with reply in IE8. When double-clicking a
  mail and clicking reply on the newly opened  window it doesn't work.
Every time I hower the "Reply" button with the mouse in the pop-up window,
I'm getting this in the logs:

2013-02-06T10:05:24+01:00 EMERG: HORDE User is not authorized for 
horde [pid 17610 on line 259 of 
"/datastore/share/pear/Horde/Registry.php"]

May be the session ID is missing somewhere?
2013-02-06 08:39:48 Thomas Jarosch Comment #16 Reply to this comment
IMP seems to be fine now.
I've backported your commit to imp 6.0.3 and it works fine. Thanks!

I'm still seeing this one:
-----------------------------------------------------
There is still a problem with reply in IE8. When double-clicking a
  mail and clicking reply on the newly opened  window it doesn't work.
  JavaScript Error HordeCore.base.DimpBase is null or not an object

  When right-clicking reply in the context menu it works.
-----------------------------------------------------

When opening a message in the popup window and you click on reply, it 
doesn't insert the quoted text and the message window is not editable.

Anything known/fixed like this?

2013-02-06 00:56:30 Michael Slusarz Comment #15
State ⇒ Resolved
Reply to this comment
IMP seems to be fine now.
2013-02-06 00:55:21 Git Commit Comment #14 Reply to this comment
Changes have been made in Git (master):

commit 12bbf29e9029e4ee506f676038e6581e54474299
Author: Michael M Slusarz <slusarz@horde.org>
Date:   Tue Feb 5 17:54:41 2013 -0700

     Bug #11940: Better tricks for fixing bad behavior in IE 8

  imp/js/dimpbase.js     |   15 ++++++++-------
  imp/js/imp.js          |    7 ++++++-
  imp/js/message-dimp.js |   17 ++++++++++-------
  3 files changed, 24 insertions(+), 15 deletions(-)

http://git.horde.org/horde-git/-/commit/12bbf29e9029e4ee506f676038e6581e54474299
2013-01-16 18:28:22 Michael Slusarz Comment #13 Reply to this comment
From my observation, JS caching still delivers several, large files.
This is expected: prototype.js is always delivered separately from all 
other files. It is the only file guaranteed to be delivered on every 
page.  Sending separately allows it to be cached and removed from the 
size of the variable payload based on the actual page content.
2013-01-16 15:44:32 nimm (at) technikum-wien (dot) at Comment #12 Reply to this comment
There is still a problem with reply in IE8. When double-clicking a 
mail and clicking reply on the newly opened  window it doesn't work.
JavaScript Error HordeCore.base.DimpBase is null or not an object

When right-clicking reply in the context menu it works.
A few errors might have been follow-up errors, at least I can't 
reproduce them anymore after fixing those two issues.
2013-01-16 13:41:24 Thomas Jarosch Comment #11 Reply to this comment
A few errors might have been follow-up errors, at least I can't 
reproduce them anymore after fixing those two issues.
Thanks! Works for me too.

kronolith seems broken, it's stuck at "Loading calendars...".
Probably needs the same defer() fix?

2013-01-16 13:06:47 Jan Schneider Comment #10
Assigned to Jan Schneider
Reply to this comment
A few errors might have been follow-up errors, at least I can't 
reproduce them anymore after fixing those two issues.
2013-01-16 13:05:32 Git Commit Comment #9 Reply to this comment
Changes have been made in Git (master):

commit ff1c527b33de2cbda55c957c964951b37389b550
Author: Jan Schneider <jan@horde.org>
Date:   Wed Jan 16 14:04:35 2013 +0100

     [jan] Fix JavaScript errors with Internet Explorer 8 (Bug #11940).

  imp/docs/CHANGES   |    1 +
  imp/js/dimpbase.js |    6 ++++++
  imp/js/mailbox.js  |    4 ++--
  imp/mailbox.php    |    2 +-
  imp/package.xml    |    2 ++
  5 files changed, 12 insertions(+), 3 deletions(-)

http://git.horde.org/horde-git/-/commit/ff1c527b33de2cbda55c957c964951b37389b550
2013-01-16 10:22:14 Thomas Jarosch Comment #8 Reply to this comment
I'll have a try. File based JavaScript caching was broken on
my horde installation last time i checked in December.
This probably needs some debugging on my part...
This will work correctly, but it is troubling that it may not work 
in the default installation.  So it does need to be fixed 
unfortunately.
Hmm, it's working correctly now with git HEAD. Last time I tried in 
December, it gave random Javascript errors so I disabled it before 
pushing H5 into production.


JS caching doesn't help with IE8 though. I've tried the file based 
backend and the "horde cache" based backend.

Error message (roughly translated from German):

Message: 'undefined' is Null or no object
Line: 469
Character: 774
Code: 0
URI: 
https://172.16.1.123/horde/services/cache.php?cache=js%2Fcid%3D14a8eb2e20b5c51f91c6e85a9c5a72c1d3f2f6c7


From my observation, JS caching still delivers several, large files.

2013-01-14 20:24:37 Michael Slusarz Comment #6
State ⇒ Assigned
Assigned to Michael Slusarz
Reply to this comment
Microsoft provides VM images for IE8 and others for free:
I have IE8 on a virtual machine.  It's just that it's only on my home 
desktop, and I haven't been around home much lately.
Or better yet - use cached js (horde/config/conf.php).  Loading all
javascript in a single file fixes this issue on IE 7/IE 8.
I'll have a try. File based JavaScript caching was broken on
my horde installation last time i checked in December.
This probably needs some debugging on my part...
This will work correctly, but it is troubling that it may not work in 
the default installation.  So it does need to be fixed unfortunately.
2013-01-14 14:24:34 Thomas Jarosch Comment #5 Reply to this comment
Smells like it.
I don't really have access to IE 8 right now, so someone would have 
to develop a solution for that browser.
Microsoft provides VM images for IE8 and others for free:
http://www.microsoft.com/en-us/download/details.aspx?id=11575
http://joemaller.com/2896/ie6-ie7-and-ie8-compatibility-testing-with-microsoft-virtual-pcs/

This is just a note, I'm not implying you should "fix" it :)
Or better yet - use cached js (horde/config/conf.php).  Loading all 
javascript in a single file fixes this issue on IE 7/IE 8.
I'll have a try. File based JavaScript caching was broken on
my horde installation last time i checked in December.
This probably needs some debugging on my part...

Thomas

2013-01-14 05:08:20 Michael Slusarz Comment #4 Reply to this comment
Most likely it is this:

https://groups.google.com/forum/?fromgroups=#!topic/prototype-scriptaculous/ksKUW23hiQw

I don't really have access to IE 8 right now, so someone would have to 
develop a solution for that browser.

Or better yet - use cached js (horde/config/conf.php).  Loading all 
javascript in a single file fixes this issue on IE 7/IE 8.
2013-01-11 09:42:38 csoft2k5 (at) gmail (dot) com Comment #3
New Attachment: screenshot.JPG Download
Reply to this comment

[Show Quoted Text - 9 lines]
Also using basic view with IE 8 some js errors appear. Also clicking 
on  delete , blacklist, whitelist, forward etc buttons nothing happens.
2013-01-08 10:39:35 Thomas Jarosch Comment #2 Reply to this comment
One more just got reported:

Message: 'undefined' ist null or no object
Line: 3687
Character: 13
Code: 0
URI: 
https://intranator/horde/imp/js/dimpbase.js?v=938ddf4c432f76f13d9286d1f39a954d

2013-01-08 10:38:37 Thomas Jarosch Comment #1
State ⇒ Unconfirmed
Patch ⇒ No
Milestone ⇒
Queue ⇒ IMP
Summary ⇒ Javascript errors with Internet Explorer 8
Type ⇒ Bug
Priority ⇒ 1. Low
Reply to this comment
Hi,

when entering the dynamic view with IE8, the left menu bar does not load.
IE shows a bunch of Javascript errors (I've roughly translated the 
German error messages):

Message: 'HordeDialog' is undefined
Line: 450
Character: 10412
Code: 0
URI: 
https://intranator/horde/imp/dynamic.php?Horde=o9p7v869rm07bava2g30aqq1c3&page=mailbox


Message: 'IMP_JS' is undefined
Line: 3647
Character: 9
Code: 0
URI: 
https://intranator/horde/imp/js/dimpbase.js?v=938ddf4c432f76f13d9286d1f39a954d


Message: 'this.splitbar' is null or no object
Line: 3789
Chracater: 9
Code: 0
URI: 
https://intranator/horde/imp/js/dimpbase.js?v=938ddf4c432f76f13d9286d1f39a954d


One has to open the Javascript error dialog once and then they are "accepted".
When one re-logins into IMP, it's fine.

I have no idea where IE8 saves accepted Javascript errors,
I can just reproduce it by resetting my Windows XP VM.

Thomas