Bug #1081
Missing tabs in Internet Explorer 9
100%
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
History
Updated by Liquid Sky over 12 years ago
Sorry for cut & paste error.
Found in version: 2.99.585.g15b96
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).
Updated by John Klimek about 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.
Updated by Adam Sutton about 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.
Updated by Adam Sutton about 12 years ago
- Category set to 11
- Status changed from Invalid to Need feedback
Updated by Ben . about 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
Updated by Adam Sutton about 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
Updated by Ben . about 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
Updated by Adam Sutton about 12 years ago
OK,
try again, a couple more mods made. We'll get'em all in the end.
Adam
Updated by Ben . about 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!
Updated by Adam Sutton about 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!
Updated by Ben . about 12 years ago
iptv.js, line 118:
from:
},
to:
}
And yeah, it's just that last item left from the list I posted.
Updated by Liquid Sky about 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
Updated by Adam Sutton about 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.
Updated by Ben . about 12 years ago
- File DebugButton.png DebugButton.png added
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.
Updated by Ben . about 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.
Updated by Adam Sutton about 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
Updated by Ben . about 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.
Updated by Adam Sutton about 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
Updated by Adam Sutton about 12 years ago
- Status changed from Need feedback to Fixed
- % Done changed from 0 to 100
Applied in changeset commit:08434b14f19e2551a5658d2277abe06b35b74610.