Bug 5093 - Nokia770 skin on Nokia N800 shows a vertical scroll bar and the page footer moves bottom of the page when scrolling
: Nokia770 skin on Nokia N800 shows a vertical scroll bar and the page footer m...
Status: RESOLVED FIXED
Product: Logitech Media Server
Classification: Unclassified
Component: Skins
: 6.5.2
: PC Windows XP
: P2 normal (vote)
: ---
Assigned To: Ben Klaas
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2007-05-28 15:43 UTC by Nigel Birch
Modified: 2008-12-18 11:12 UTC (History)
1 user (show)

See Also:
Category: ---


Attachments
6.5.1 -> 6.5.2 (10.25 KB, patch)
2007-05-28 20:57 UTC, KDF
Details | Diff
Patch against v6.5.3 r12365 to change regex from Maemo to armv6l (743 bytes, patch)
2007-07-12 00:31 UTC, Nigel Birch
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Nigel Birch 2007-05-28 15:43:46 UTC
This is with v6.5.3 r12144 on Windows XP.

When using the Nokia770 skin on a Nokia N800, a vertical scroll bar is seem on all pages.  Also, the page footer moves up and down when the page is scrolled.  When the page footer moves up, it hides the underlying thing you are doing (e.g. a genre).  It doesn't affect Firefox on Windows.

See http://forums.slimdevices.com/showthread.php?p=205286.
Comment 1 Jeff Roesner 2007-05-28 17:58:02 UTC
I ran into this with my nightly of 6.5.2 from I think May 19.  My SlimServer version is as follows:

SlimServer Version: 6.5.2 - 12043 - solaris - EN - utf8

This is Solaris 10 x86.  I am also using an N800.
Comment 2 KDF 2007-05-28 20:57:51 UTC
Created attachment 2029 [details]
6.5.1 -> 6.5.2

these are the changes between 6.5.1 and 6.5.2.  The kind of thing that affects the footer moving up and down is the "position: fixed" vs "position: absolute" in the stylesheets, which is not changed.  

However, given that IE was pathetic at dealing with the Nokia skin, any user agent detected as IE is bounced to the Touch skin, which does use "position: absolute" for the footer.  Take a look at the d_http logs for a line that indicates rerouting to Touch, or you can check the search page.  If you see a virtual keyboard on the page, then it's being redirected mistakenly. Let us know what you see as the reported user agent in the d_http logs.
Comment 3 Nigel Birch 2007-05-29 00:44:04 UTC
There's no virtual keyboard being shown on the search page (I though that was v7.0-only, anyway?).  --d_http does show it being re-directed to touch either.

I updated my working installation through different revisions (11311, 11450, 11844, 11872, & 11939) they worked, but 12000 broke it.  So how about 11199 (http://svn.slimdevices.com/?rev=11999&sortby=rev&sortdir=down&view=rev) being the offender?
Comment 4 Nigel Birch 2007-05-29 00:44:57 UTC
That should say "--d_http does not show it being re-directed to touch either.".
Comment 5 Nigel Birch 2007-05-29 01:11:11 UTC
It looks like it's r11963 (http://svn.slimdevices.com/?rev=11963&sortby=rev&sortdir=down&view=rev) that's the cause.
Comment 6 Nigel Birch 2007-05-29 01:23:30 UTC
It was re-directing to Touch (I hadn't refreshed the text edit was reading the console log).

For the records, my Nokia N800 user agent is "Mozilla/4.0 (compatible; MSIE 6.0; X11; Linux armv6l; U) Opera 8.5 [en_GB] Maemo browser 0.7.11 RX-34_2007SE_3.2007.10-7".
Comment 7 Ben Klaas 2007-05-29 07:04:11 UTC
I'll try to take a look at this during the week.
Comment 8 KDF 2007-05-29 08:12:32 UTC
ah ok, interesting.  stupid to report itself as MSIE when it's nothing like IE.
have to tweak the regex then.

Index: Slim/Web/HTTP.pm
===================================================================
--- Slim/Web/HTTP.pm    (revision 12147)
+++ Slim/Web/HTTP.pm    (working copy)
@@ -482,7 +482,8 @@
 
                # BUG: 4911 detect Internet Explorer and redirect if using the Nokia770 skin, as IE will not support the styles
                # Touch is similar in most ways and works nicely with IE
-               if ($request->header('user-agent') =~ /MSIE/ && ($params->{'skinOverride'} || Slim::Utils::Prefs::get('skin')) eq 'Nokia770') {
+               if ($request->header('user-agent') =~ /MSIE/ && $request->header('user-agent') !~ /Maemo/ 
+                               && ($params->{'skinOverride'} || Slim::Utils::Prefs::get('skin')) eq 'Nokia770') {
 
                        $::d_http && msg("Internet Explorer Detected with Nokia Skin, redirecting to Touch\n");
                        $params->{'skinOverride'} ='Touch';
Comment 9 Ben Klaas 2007-05-29 08:22:22 UTC
KDF-- code looks good there. I figure the Maemo string should show up there for the foreseeable future on Nokia internet tablet browsers...

can you check this in? If you need me to, I don't currently have a working svn checkout (long story), but plan to this week.

AFAIK, the desktop Opera browser has been spoofing the User-agent ident for a long time...I don't blame them, considering how many sites actually bar you from even viewing them unless there's an MSIE string in the User-agent, even though Opera can read them just fine.
Comment 10 KDF 2007-05-29 09:48:28 UTC
I can only check in after 6pm tonight, so go ahead :)  

Either way, it will be in tomorrow's build of 6.5.3
Comment 11 KDF 2007-05-29 18:32:38 UTC
fixed in trunk at change 12150 and in 6.5.3 builds at change 12149
Comment 12 Nigel Birch 2007-05-29 23:57:29 UTC
Looks good.  Thanks.
Comment 13 Nigel Birch 2007-07-10 00:23:34 UTC
Hi,

I've re-opened this bug since the symptoms have started again.  It was fixed, but after seeing this post (http://forums.slimdevices.com/showpost.php?p=212872&postcount=665) I checked my N800 and was showing the same problem (v6.5.3 r12352 on XP).

--d_http shows:

2007-07-10 08:14:43.9655 Rendering using Nokia770
2007-07-10 08:14:43.9658 Internet Explorer Detected with Nokia Skin, redirecting to Touch

Since last time, I've updated the N800 firmware.  It looks like the UA string changed to get rid of Maemo:

Mozilla/4.0 (compatible; MSIE 6.0; X11; Linux armv6l; U) Opera 8.5 [en_GB] Tablet browser 0.0.14 RX-34_2007SE_4.2007.26-8

I suppose old and new will need to be catered for?

Thanks.
Comment 14 Chris Owens 2007-07-11 08:23:24 UTC
I don't think we want to hold up 6.5.3 for this issue.  I'll leave it targeted in the 6.5.x branch so we'll catch it in the next version.
Comment 15 KDF 2007-07-11 10:58:59 UTC
simple enough fix.  probably worth just changing 'Maemo' to 'armv6l'
Comment 16 Nigel Birch 2007-07-12 00:31:49 UTC
Created attachment 2066 [details]
Patch against v6.5.3 r12365 to change regex from Maemo to armv6l
Comment 17 Nigel Birch 2007-07-12 00:32:31 UTC
KDF's suggested fix in comment 15 works for me (patch attached).
Comment 18 KDF 2007-07-14 17:19:33 UTC
however, the arm value changes.  I'm inclined to go with Ben on this and tell IE users to just NOT try to use the skin and expect it to work.  

Chris, I no longer know who should be making this call, but as it is an out of the box experience type of issue, best let us know how to approach this.  thanks.
Comment 19 Mick 2007-07-15 13:42:17 UTC
This is a moving target since the "ARMV" string changes depending on the device (N770 seems to be ARMV5, N800 ARMV6) and firmware version. ARMV6 is too specific and will only work for some.

I think searching for Linux Opera & arm (with no version) would give you a a pretty safe means of determining a real Nokia device Vs. somone on I.E or just search for a less safe alternative "Windows" in the Agent string

N800 - latest firmware

Browser = Opera
Full version string = 4.0 (compatible; MSIE 6.0; X11; Linux armv6l; U)
Full User Agent string = Mozilla/4.0 (compatible; MSIE 6.0; X11; Linux armv6l; U) Opera 8.5 [en_GB] Tablet browser 0.0.14 RX-34_2007SE_4.2007.26-8
Browser default plug-in
Java is enabled
Java plug-in version =
Platform = Linux
Monitor screen size (resolution) = 480x800 pixels
Screen color depth = 16 bits


N770 - latest firmware

Browser = Opera
Full version string = 4.0 (compatible; MSIE 6.0; ; Linux armv5tejl; U)
Full User Agent string = Mozilla/4.0 (compatible; MSIE 6.0; ; Linux armv5tejl; U) Opera 8.02 [en_US] Maemo browser 0.4.34 N770/SU-18



I.E 7 on WindowsXP
Browser = Microsoft Internet Explorer
Full version string = 4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322; .NET CLR 2.0.50727)
Full User Agent string = Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322; .NET CLR 2.0.50727)
Microsoft JScript version = 5.7

Comment 20 Ben Klaas 2007-07-15 20:03:51 UTC
Those user-agent strings are helpful, thanks.

I'll check in a fix for this tomorrow. Will post the diff to this bug when I do.
Comment 21 Nigel Birch 2007-07-18 01:19:38 UTC
Another data point:  There's a new Mozilla-based browser for the N800 (http://browser.garage.maemo.org/) that, apparently (http://www.internettablettalk.com/forums/showpost.php?p=60678&postcount=23), uses this user agent:

Firefox/3.0a1 Tablet browser 0.1.13 RX-34_2007SE_4.2007.26-8

This taken from about:config, so it might not be the full string returned by the browser.
Comment 22 Mick 2007-07-18 10:40:29 UTC
I sucessfully tested this change to HTTP.pm @ ~ line 486 on my N800

		if ($request->header('user-agent') =~ /MSIE/ && $request->header('user-agent') !~ /Opera/  && $request->header('user-agent') !~ /Linux/
        && $request->header('user-agent') !~ /arm/
				&& ($params->{'skinOverride'} || Slim::Utils::Prefs::get('skin')) eq 'Nokia770') {
		
			$::d_http && msg("Internet Explorer Detected with Nokia Skin, redirecting to Touch\n");
			$params->{'skinOverride'} ='Touch';
		}





BTW Anyone know why I got this error using the latest version of Perl on Windows.
XML:Simple has this version string

$VERSION           = '2.16';

on line 101-102 of Slimserver.pl I see the following

# Only use XML::Simple 2.15 an above, which has support for pass-by-ref
use XML::Simple qw(2.15);

.. but when I run Slimserver.pl using perl I get the following error

C:\Perl\lib>perl -w "C:\Program Files\SlimServer65\server\slimserver.pl"
XML::Simple version 2.15 required--this is only version 2.12 at C:/Perl/lib/Exporter/Heavy.pm line 121.
BEGIN failed--compilation aborted at C:\Program Files\SlimServer65\server\slimserver.pl line 102.


The only way I could get Slimserver to start was to change the required version in Slimserver.pl down to 2.12 as a hack.

I've searched both my perl\lib directory and the Slimserver CPAN dir for the string 2.12 and cannot find it.





Comment 23 Ben Klaas 2007-07-23 12:21:11 UTC
fixed in trunk, svn 12410
Comment 24 Ben Klaas 2007-07-23 12:34:00 UTC
fixed in 6.5 branch, svn 12412
Comment 25 Nigel Birch 2007-07-23 13:46:01 UTC
Works for me.

Thanks, Ben.  Your first official commit?  Thanks for all your hard work on the skin.