Project

General

Profile

Bug #1081

Missing tabs in Internet Explorer 9

Added by Liquid Sky over 12 years ago. Updated over 12 years ago.

Status:
Fixed
Priority:
Low
Assignee:
-
Category:
User Interface
Target version:
-
Start date:
2012-08-03
Due date:
% Done:

100%

Estimated time:
Found in version:
2.99 gitver 7c7fc2c
Affected Versions:

Description

I would like to report a not serious but very annoying bug.
In Internet Explorer 9 the "Configuration" and "About" tabs are missing. In Chrome and Firefox are visible and usable.
I understand that for many IE is not a good browser, but it is a matter of personal taste...


Files

DebugButton.png (19.2 KB) DebugButton.png Ben ., 2012-08-23 21:34

History

#1

Updated by Liquid Sky over 12 years ago

Sorry for cut & paste error.

Found in version: 2.99.585.g15b96

#2

Updated by Adam Sutton over 12 years ago

  • Status changed from New to Invalid

This cannot be reproduced, I've asked some guys in #hts using IE9 to check for me (I don't have access to IE9) and they report things are working fine with latest from git (and not a lot has changed in this area for a while).

#3

Updated by John Klimek over 12 years ago

I'm having the same problem...

IE 9, Tvheadend v3.1.590.g4493e. I've also tried compatibility mode but those tabs still don't show up. However, it works fine in both Firefox and Chrome.

#4

Updated by Adam Sutton over 12 years ago

If IE has some sort of developer console that can show (javascript) errors, that information would be really useful.

However its fair to say that we're using a fairly old library (extjs v2) and so I wouldn't expect great compatibility with something like IE that generally disregards most standards!

However other users have reported it working fine, so it may be soluble.

#5

Updated by Adam Sutton over 12 years ago

  • Category set to 11
  • Status changed from Invalid to Need feedback
#6

Updated by Ben . over 12 years ago

Experienced this problem when messing with #1148 yesterday, although I incorrectly said it was IE8 when it was actually IE9. If you have an admin account open in another browser, you can see a 401 error is generated in the system log, although I'm not sure what that implies.

However, having checked it out in the developer console, I get the following errors:

SCRIPT1028: Expected identifier, string or number
iptv.js, line 8 character 1
SCRIPT1028: Expected identifier, string or number
epggrab.js, line 176 character 3
SCRIPT1028: Expected identifier, string or number
config.js, line 22 character 3
SCRIPT445: Object doesn't support this action
tvheadend.js, line 231 character 2

#7

Updated by Adam Sutton over 12 years ago

Looks like maybe IE9 has a rather pedantic JS parser!

try this: https://github.com/adamsutton/tvheadend/tree/issue/redmine-1081

no promises to have caught them all, but if there is more error output post it and I'll take another look.

Adam

#8

Updated by Ben . over 12 years ago

IE is still whinging, and config tab still isn't present:

SCRIPT1028: Expected identifier, string or number
iptv.js, line 113 character 7
SCRIPT1028: Expected identifier, string or number
epggrab.js, line 253 character 5
SCRIPT5007: Unable to get value of the property 'events': object is null or undefined
ext-all-debug.js, line 14191 character 15

#9

Updated by Adam Sutton over 12 years ago

OK,

try again, a couple more mods made. We'll get'em all in the end.

Adam

#10

Updated by Ben . over 12 years ago

Fixed the 2 comma problems above myself, along with another one in iptv and that didn't make a difference. Guess it's either related to that last item or we're barking up the wrong tree!

#11

Updated by Adam Sutton over 12 years ago

Post the other fix you made. Is it just the last line of that previous message now?

I'll take a look tomorrow. Maybe I can find an IE9 install somewhere!

#12

Updated by Ben . over 12 years ago

iptv.js, line 118:

from:
},
to:
}

And yeah, it's just that last item left from the list I posted.

#13

Updated by Liquid Sky over 12 years ago

I tried to apply some fixes (probably the same as Ben) and the last item left is the same:
SCRIPT5007: Unable to get value of the property 'events': object is null or undefined ext-all-debug.js, line 15 character 14191

#14

Updated by Adam Sutton over 12 years ago

Age you this guys able to get any more debug. That's buried in common library code, could be just about anything.

I will try and find an ie machine tomorrow.

#15

Updated by Ben . over 12 years ago

Another bug I just found with the WebUI in IE9 is the log debug toggle. Seems to have no effect, with a request sent that IE believes it never gets a response to, according to the network traffic logger in the screenshot I've attached. Unsure if that's related.

Pressing the 'Watch TV' button gives:

SCRIPT65535: Unexpected call to method or property access.
ext-all-debug.js, line 15896 character 17

For the actual problem in this thread, the only thing I can of is it's related to this function in tvheadend.js:

@/** * This function creates top level tabs based on access so users without * access to subsystems won't see them. * * Obviosuly, access is verified in the server too.
*/
function accessUpdate(o) {

if(o.dvr  true && tvheadend.dvrpanel  null) {
tvheadend.dvrpanel = new tvheadend.dvr;
tvheadend.rootTabPanel.add(tvheadend.dvrpanel);
}
if(o.admin  true && tvheadend.confpanel  null) {
tvheadend.confpanel = new Ext.TabPanel({
activeTab:0,
autoScroll:true,
title: 'Configuration',
iconCls: 'wrench',
items: [
new tvheadend.miscconf,
new tvheadend.chconf,
new tvheadend.epggrab,
new tvheadend.cteditor,
new tvheadend.dvrsettings,
new tvheadend.tvadapters,
new tvheadend.iptv,
new tvheadend.acleditor,
new tvheadend.cwceditor,
new tvheadend.capmteditor]
});
tvheadend.rootTabPanel.add(tvheadend.confpanel);
}
if(tvheadend.aboutPanel == null) {
tvheadend.aboutPanel = new Ext.Panel({
border: false,
layout:'fit',
title:'About',
iconCls:'info',
autoLoad: 'about.html'
});
tvheadend.rootTabPanel.add(tvheadend.aboutPanel);
}
tvheadend.rootTabPanel.doLayout();
}@

That's what actually creates the Config & About tabs, and any failure there would explain why those are invisible while the JS has apparently loaded fine for them.

#16

Updated by Ben . over 12 years ago

Ok, further testing...

I made a dummy account with full privileges. Results as expected:

Chrome: Can see all tabs

IE9: Configuration & About missing

So, as expected. Next, I tried removing the DVR access. This removed the DVR tab from IE9, as expected. Next, I disabled admin access. This is where it gets interesting. In IE9, this brought back the 'About' tab. In my very (very) inexperienced eyes, this implies that the fault lies somewhere in this specific slice of code:

if(o.admin  true && tvheadend.confpanel  null) {
tvheadend.confpanel = new Ext.TabPanel({
activeTab:0,
autoScroll:true,
title: 'Configuration',
iconCls: 'wrench',
items: [
new tvheadend.miscconf,
new tvheadend.chconf,
new tvheadend.epggrab,
new tvheadend.cteditor,
new tvheadend.dvrsettings,
new tvheadend.tvadapters,
new tvheadend.iptv,
new tvheadend.acleditor,
new tvheadend.cwceditor,
new tvheadend.capmteditor]
});
tvheadend.rootTabPanel.add(tvheadend.confpanel);

The code to create the About tab is directly below this, suggesting that is is getting hung up somewhere in there and then failing to continue on to creating the About tab. When Admin access is taken away, it skips it thanks to the if statement at the top.

#17

Updated by Adam Sutton over 12 years ago

Can you try removing epggrab, iptv and miscconf, from that list of installed tabs. There ones I've messed about with so they're the most likely candidates for failure I guess.

If it works without those three installed, try each in turn to see which of the 3 might cause a failure. That might at least help me narrow it down.

Adam

#18

Updated by Ben . over 12 years ago

it's miscconf. For possible further info on what might be the problem: If you remove 'activeTab:0' from the function, that tab does not display any other information aside from the 'Save Configuration' button in Chrome.

I'd look further but no idea where you've stored miscconf as it's not in the same folder as every other one of those .js files.

#19

Updated by Adam Sutton over 12 years ago

It's config.js (yeah naming all got screwed up a bit).

And I've just found another minor mistake. So you could try the new code, I really need to get my hands on an IE9 machine though.

Adam

#20

Updated by Ben . over 12 years ago

Fixed, nice one :)

#21

Updated by Adam Sutton over 12 years ago

  • Status changed from Need feedback to Fixed
  • % Done changed from 0 to 100

Applied in changeset commit:08434b14f19e2551a5658d2277abe06b35b74610.

Also available in: Atom PDF