ewx: (geek)
[personal profile] ewx

What web browsers should I test DisOrder against? I've successfully tested with:

  • Firefox 2
  • Konqueror 3
  • Safari 3
  • MSIE 7
  • Opera 9
  • Seamonkey
  • iCab

Are there any other at least reasonably widely used browsers, ideally that I can download for free, that I can test with?

(See comments re IE6, and browsers I've tried that don't work.)

------------------------------------------------------------
revno: 518
committer: rjk@greenend.org.uk
branch nick: disorder.dev
timestamp: Sun 2008-01-06 12:39:13 +0000
message:
  Fix mime_content_type() to not be so lazy; now it copes with arbitrary
  parameters rather than just one that has to be the right one.  This
  gets the web interface working on Opera (for Mac).
------------------------------------------------------------
revno: 516
committer: Richard Kettlewell <rjk@greenend.org.uk>
branch nick: disorder.dev
timestamp: Sat 2008-01-05 19:15:32 +0000
message:
  Explicitly specify border-collapse for tables where we care about the
  cell spacing.  IE7 has different defaults to the UNIX browsers.
------------------------------------------------------------
revno: 515
committer: Richard Kettlewell <rjk@greenend.org.uk>
branch nick: disorder.dev
timestamp: Sat 2008-01-05 19:05:59 +0000
message:
  Explicit color specification for inactive menus.  Another IE fix.
------------------------------------------------------------
revno: 514
committer: Richard Kettlewell <rjk@greenend.org.uk>
branch nick: disorder.dev
timestamp: Sat 2008-01-05 18:40:16 +0000
message:
  Never use the value attribute of <button> to encode anything we care
  about, in particular 'action' arguments to the CGI.  This works around
  a bug in Internet Explorer.
  
  At the time of writing, the commentary at
  http://msdn2.microsoft.com/en-gb/library/ms535211(VS.85).aspx mentions
  the problem.  (Alternatively, MSDN Library -> Web Development -> HTML
  and CSS -> HTML and DHTML Reference -> Objects -> button.)
------------------------------------------------------------
revno: 502
committer: rjk@greenend.org.uk
branch nick: disorder.dev
timestamp: Tue 2008-01-01 20:35:57 +0000
message:
  Don't use quoted cookies because Safari is buggy.  This means changing
  the separator character and base64 encoding map used to be suitable
  for appearance in an unquoted HTTP token.
  
  I suppose I should test with MSIE sometime...

(no subject)

Date: 2008-01-06 01:54 pm (UTC)
From: [identity profile] sweh.livejournal.com
Seamonkey?

(no subject)

Date: 2008-01-06 02:54 pm (UTC)
ext_8103: (geek)
From: [identity profile] ewx.livejournal.com
That's a good thought. Seems to work fine. (Probably not surprising given its close relationship to Firefox.)

(no subject)

Date: 2008-01-06 02:08 pm (UTC)
From: [identity profile] pseudomonas.livejournal.com
I know you say "graphical", but is there a reason that lynx should be excluded? Is the interface completely Javascript-reliant?

(no subject)

Date: 2008-01-06 02:41 pm (UTC)
ext_8103: (geek)
From: [identity profile] ewx.livejournal.com
There's no Javascript, but Lynx doesn't support tables, so the queue listing is a hopeless wreck. I'm not that interested in text mode browsers in general.
Edited Date: 2008-01-06 02:45 pm (UTC)

(no subject)

Date: 2008-01-06 02:50 pm (UTC)
ext_8103: (geek)
From: [identity profile] ewx.livejournal.com
Also, experimenting, its cookie handling appears to be broken; it complains that /cgi-bin/disorder is not a prefix of /cgi-bin, which is true but as far as I can see from the RFC, entirely irrelevant.

(no subject)

Date: 2008-01-06 03:37 pm (UTC)
ext_8103: (geek)
From: [identity profile] ewx.livejournal.com
For clarification, the relevant RFC is RFC2109. RFC2965 also purports to define cookies, using a different header, but apparently is widely unimplemented (http://lists.evolt.org/archive/Week-of-Mon-20041220/167248.html).

(no subject)

Date: 2008-01-06 02:59 pm (UTC)
ext_8103: (geek)
From: [identity profile] ewx.livejournal.com
And w3m doesn't even support HTML 4 (http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=136810).

(no subject)

Date: 2008-01-06 02:17 pm (UTC)
pm215: (Default)
From: [personal profile] pm215
IE6?

(no subject)

Date: 2008-01-06 02:32 pm (UTC)
gerald_duck: (duck and computer)
From: [personal profile] gerald_duck
Agreed. I'm certainly not upgrading until I have to.

(no subject)

Date: 2008-01-06 02:44 pm (UTC)
ext_8103: (geek)
From: [identity profile] ewx.livejournal.com
I'd like to, but (looking at MS's remarks on the issue) running it in parallel with IE7 reportedly doesn't behave the same as a lone IE6. Their answer to this is a free VM, which is better than nothing and I'll probably try out at some point, but it's annoyingly time-limited.

(no subject)

Date: 2008-01-06 04:27 pm (UTC)
reddragdiva: (Default)
From: [personal profile] reddragdiva
Apparently IES4Linux lets you run multiple versions of IE in Wine.

(no subject)

Date: 2008-01-06 02:59 pm (UTC)
From: [identity profile] mstevens.livejournal.com
I'm kinda fond of dillo, but I don't think many people actually use it.

(no subject)

Date: 2008-01-06 03:00 pm (UTC)
From: [identity profile] mstevens.livejournal.com
And I'm still on firefox 1.5 both at home and work, because neither gnewsense nor centos/rhel have done a release with firefox 2 yet.

(no subject)

Date: 2008-01-06 03:27 pm (UTC)
ext_8103: (geek)
From: [identity profile] ewx.livejournal.com
FF1.5 doesn't appear to be conveniently downloadable any more. I think I'll rely on bug reports, in the event that there are actually any problems.

(no subject)

Date: 2008-01-06 03:07 pm (UTC)
ext_8103: (geek)
From: [identity profile] ewx.livejournal.com
I just tried it. It sort of works for a bit, with degraded but usable visual appearance, but then forgets the login cookie for no apparent reason.

(no subject)

Date: 2008-01-06 03:43 pm (UTC)
From: [identity profile] mstevens.livejournal.com
Interesting. It tends to have a very strict interpretation of the cookie specs but that's the first time I've encountered it actually being wrong.

And they seem to have abandoned development slightly, which is depressing.

(no subject)

Date: 2008-01-06 04:58 pm (UTC)
ext_8103: (Default)
From: [identity profile] ewx.livejournal.com
Trying again I think the cookie may just not be being accepted and I probably wasn't paying attention when I thought it was surviving for a few requests. There's no indication as to what it didn't like about it on stderr.

(no subject)

Date: 2008-01-06 05:02 pm (UTC)
ext_8103: (Default)
From: [identity profile] ewx.livejournal.com

...and it's perfectly possible that DisOrder is wrong; but browsers that are both strict and silent don't actually help correct any of the software that their authors presumably believe ought to be fixed. At least Lynx tells you what it doesn't like about my cookies and offers to accept them even if as far as I can see it's wrong to dislike them.

I'm afraid I'm not inclined to dig into the source code of a browser that its own author has abandoned in order to support it.

(no subject)

Date: 2008-01-06 03:03 pm (UTC)
From: [identity profile] covertmusic.livejournal.com
IE6 is worth testing.

The only other thing that comes to mind is any embedded browsers you might care about.(Mobile Opera on Wii and NetFront on PSP and PS3 are the obvious two, plus I suppose the Windows Mobile browser: Mobile Safari should behave like Safari.) Harder to get the hardware for those though!

The big rendering engines are Gecko, WebKit, Trident (MSIE) and Presto (Opera), with their corresponding Javascript implementations, so if you work on those you're probably golden. NetFront's the only other one you're going to encounter in the wild, and even then only very rarely.

Of the browser shells, on the Mac, *maybe* iCab (http://www.icab.de/) is worth trying. There's a weird and wonderful variety of fringe Windows browsers (http://en.wikipedia.org/wiki/Internet_Explorer_shell) but they're nearly all really just alternative user interfaces for Gecko or MSIE.

(no subject)

Date: 2008-01-06 03:15 pm (UTC)
ext_8103: (Default)
From: [identity profile] ewx.livejournal.com

iCab seems to work. I'm not buying new hardware just for browser compatibility testing, users who want support for those devices can help me out if it doesn't just work, it is free software after all l-)

I don't have any Javascript so I'm not worried about that. I do use CSS, currently not very adventurously but getting slowly more so all the time.

See above re IE6.

(no subject)

Date: 2008-01-06 03:37 pm (UTC)
From: [identity profile] covertmusic.livejournal.com
Well, yeah, buying consoles to test free software's probably overkill :)

Not having Javascript makes your compatibility testing a lot less arduous. Given that, I'd wager the vast majority of problems you're going to encounter in practice will be IE-centric; hasLayout/float/CSS box-model/CSS2-implementation bugs. (Though I was surprised by the Safari cookie bug you ran into; hadn't seen that one before!) There's the lack of alpha-channel support in IE6 too, but I doubt that's going to be much of an issue.

I really mentioned the mobile devices/consoles in case there was anyone around here who could beta-test it for you: mobile devices and consoles'd make quite cool DisOrder controllers, I reckon. There must be someone round here with both a Wii, or iPod Touch, and a DisOrder server...

(no subject)

Date: 2008-01-06 03:41 pm (UTC)
ext_8103: (geek)
From: [identity profile] ewx.livejournal.com

The PNGs do use transparency but they'll just look a little less nice on browsers too stupid to cope. No great disaster.

A mobile or TV based UI would indeed be lovely, though the requirements might well be somewhat different from a general purpose computer's UI for other reasons.

(no subject)

Date: 2008-01-06 03:54 pm (UTC)
From: [identity profile] covertmusic.livejournal.com
If you want, you can fix up the PNG alpha-channel stuff with a little bit of Javascript and the slightly-dubious IE conditional comment syntax:

From hiddenmusic.co.uk:

<!--[if lt IE 7.]
  <script defer type="text/javascript" src="http://www.hiddenmusic.co.uk/static/pngfix.js"></script>
<![endif]-->

(no subject)

Date: 2008-01-06 03:08 pm (UTC)
From: [identity profile] kaet.livejournal.com
Btw, if you have extensive JS, I'd recommend ignoring Safari 2. Safari 3's gaining ground quickly, and is a fraction of the javascript effort.

(no subject)

Date: 2008-01-06 03:17 pm (UTC)
ext_8103: (geek)
From: [identity profile] ewx.livejournal.com
I've avoided Javascript so far and don't see any reason to change that.

(no subject)

Date: 2008-01-06 03:56 pm (UTC)
From: [identity profile] covertmusic.livejournal.com
I'd recommend cutting to the chase, making it someone else's problem, and using jQuery (jquery.org) - but I'm lazy like that!

(no subject)

Date: 2008-01-06 03:58 pm (UTC)
From: [identity profile] covertmusic.livejournal.com
I mean http://jquery.com/ - sorry!

(no subject)

Date: 2008-01-06 03:08 pm (UTC)
From: [identity profile] kaet.livejournal.com
I wish I could convince customers to give up on IE6.

(no subject)

Date: 2008-01-06 03:38 pm (UTC)
From: [identity profile] daniel silverstone (from livejournal.com)
NetSurf (http://www.netsurf-browser.org/)

Get it from SVN and test against it.

It'll be going into embedded systems reasonably soon, it'd be nice to be able to control a DisOrder system from my handheld.

D.

(no subject)

Date: 2008-01-06 03:47 pm (UTC)
ext_8103: (geek)
From: [identity profile] ewx.livejournal.com
Would it be possible to have the makefile stop when an error occurs rather than blunder on and later complain about a malformed .d file?

(no subject)

Date: 2008-01-07 09:36 am (UTC)
From: [identity profile] daniel silverstone (from livejournal.com)
Failing to build the .d properly is something I'm trying to fix, I take it you used Makefile.unix instead of doing 'make gtk' as Docs/BUILDING-GTK suggests.

If you could let me know under what circumstance the .d failed to build I can try and reproduce it and work out how to cleanly spot and fix that.

Thanks,

D.

(no subject)

Date: 2008-01-07 09:57 am (UTC)
ext_8103: (Default)
From: [identity profile] ewx.livejournal.com
Yes, I used Makefile.unix. I read the ReadMe - which, if it had a pointer to Docs/BUILDING-GTK I didn't spot it - and so had no idea what the dependencies were, so followed my usual practice of trying to build and see what broke.

(no subject)

Date: 2008-01-07 10:30 am (UTC)
From: [identity profile] daniel silverstone (from livejournal.com)
Makefile.unix is unfortunately a work-in-progress :-)

Hence knowing how it broke would be handy for me. The ReadMe goes into the packaged browser so perhaps we need a BUILDING doc to point at the Docs/ dir, I'll ponder that, thanks.

(no subject)

Date: 2008-01-06 04:41 pm (UTC)
ext_8103: (geek)
From: [identity profile] ewx.livejournal.com
It appears to ignore the cookie with no diagnostic.

(no subject)

Date: 2008-01-06 04:54 pm (UTC)
ext_8103: (geek)
From: [identity profile] ewx.livejournal.com

Here's the HTTP response header it's getting, from strace on the browser:

HTTP/1.0 200 OK
Date: Sun, 06 Jan 2008 16:37:34 GMT
Server: Apache/1.3.34 (Debian)
Cache-Control: no-cache
Set-Cookie: disorder=4782554e$richard$Dpsbx9TrAGel5KtRi351PPIuv8k#;Version=1;Path=/index.cgi
Set-Cookie: disorder=4782554e$richard$Dpsbx9TrAGel5KtRi351PPIuv8k#;Version=1;Path=/index.cgi
Content-Type: text/html
X-Cache: MISS from www-proxy.anjou.terraraq.org.uk
X-Cache-Lookup: MISS from www-proxy.anjou.terraraq.org.uk:3128
Via: 1.0 www-proxy.anjou.terraraq.org.uk:3128 (squid/2.6.STABLE5)
Proxy-Connection: close

The request was a POST to http://test-jukebox.anjou.terraraq.org.uk/index.cgi.

(no subject)

Date: 2008-01-07 09:35 am (UTC)
From: [identity profile] daniel silverstone (from livejournal.com)
Looks like NetSurf was a touch too strict about its cookie checking.

Log:
Fix potential crash in urldb_dump()
Relax 4.3.2(i) checking (Cookie path must be a prefix of URL path). We now permit a cookie path containing the document leafname -- we strip the leafname from the path.
Make testsuite build again.
Add tests for cookie path checking.

Modified:
trunk/netsurf/content/urldb.c


Was checked in at 5am.

(no subject)

Date: 2008-01-07 10:34 am (UTC)
ext_8103: (Default)
From: [identity profile] ewx.livejournal.com

Do you know where the meme that a path is not a prefix of itself comes from? Lynx also cites that section for its over-strict checking but I can't see any text in the RFC that supports it.

It seems like the less obvious choice even if you think the text is somehow ambiguous, too. Insisting that /cgi-bin/disorder has a path of /cgi-bin means its cookies must be sent to /cgi-bin/stupid-bbs-software, and while it might be convenient to allow that it's certainly not something anyone wanted to be forced into.

RFC2965 may have been widely ignored but does emphasize that a path is a prefix of itself.

(no subject)

Date: 2008-01-07 12:12 pm (UTC)
From: [identity profile] daniel silverstone (from livejournal.com)
Not certain what the deal is. John-Mark Bell is the person who handles the cookie stuff in NetSurf.

You could come into #netsurf on Freenode if you're an IRCer, otherwise I can try and convey your queries.

(no subject)

Date: 2008-01-10 05:01 pm (UTC)
ext_8103: (Default)
From: [identity profile] ewx.livejournal.com
Feel free to either pass on my remarks or point interested parties at this discussion.

(no subject)

Date: 2008-01-12 12:34 pm (UTC)
ext_8103: (geek)
From: [identity profile] ewx.livejournal.com

There's another problem. The cookie header being sent by the browser is now:

$Version=1; disorder=4789fbca$richard$I04C0g0GMFZUgB6PysPHiAWnOeE#; $Path=/

The value part must be a word, which is a token | quoted-string (RFC2109 s4.1 (http://tools.ietf.org/html/rfc2109#section-4.1)).
This incorporates the definition of token from RFC2068 s2.2 (http://tools.ietf.org/html/rfc2068#section-2.2):

token          = 1*<any CHAR except CTLs or tspecials>

tspecials      = "(" | ")" | "<" | ">" | "@"
               | "," | ";" | ":" | "\" | <">
               | "/" | "[" | "]" | "?" | "="
               | "{" | "}" | SP | HT

/ is in tspecials, and so may not appear unquoted, as it does in $Path above. 2068 is of course obsoleted by 2616, but in fact the rules are the same there too (http://tools.ietf.org/html/rfc2616#section-2.2).

Now, before you rush off to change any code...

I earlier changed my own (server-side) code to not quote the path I sent because Safari fucks up if you quote anything (http://ewx.livejournal.com/459902.html). And indeed, it gets it wrong if you quote just the path but not the cookie.

So my plan is to:

  • Never quote paths, because it doesn't work reliably in reality, even though the spec says you must quote them
  • Accept unquoted paths
  • Badmouth Safari in public (http://www.greenend.org.uk/rjk/2008/cookies.html)

If anyone installs DisOrder's CGI at a path including semicolons or something then it will just break, and they can blame Apple rather than me.

How you make Netsurf cope with this hopeless situation, I leave up to you l-)

(no subject)

Date: 2008-01-06 04:26 pm (UTC)
From: [identity profile] mhoulden.livejournal.com
How about the Nokia "services" WAP browser and their unnamed web browser based on Apple Webkit?

November 2025

S M T W T F S
      1
2345678
91011121314 15
1617 181920 2122
23242526272829
30      

Most Popular Tags

Expand Cut Tags

No cut tags