[17:50:11] RoanKattouw: so, replacing the table sorting code resulted in epic fail [17:50:46] You didn't commit that yet, did you? [17:51:11] because mediawiki doesn't output [tr/th elements][tr/td elements]
[17:51:14] no [17:51:20] I would have to change the parser [17:51:34] and that's clearly a rabit hole not worth going down for this [17:51:43] it should output tables like that, i think. [17:51:44] so, I am probably going to leave it be for now [17:51:52] it doesn't [17:52:35] look at the code, then get a warm blanket and a pacifier cause you will probably spend the next few hours in the fetal position, scared to death of the horror that is the MW parser's table code [17:52:48] ohgod. [17:53:09] ok, maybe I'm being dramatic... You can probably do without a pacifier... [17:56:06] will a bottle of whiskey serve me better? [17:57:20] jorm: you may need to drink it through a sippy cup [17:58:33] is kind of silly. [17:58:48] I only ever use it with jQuery table sorting code. ;-) [17:59:54] Shirley: that's literally why we need it [18:00:01] it is useful for css manipulation as well. [18:00:13] i figure we should output correct html anyway. [18:00:14] It shouldn't be too hard to accomplish that, right? [18:00:16] jorm: Really? [18:00:28] And to vindicate that statement, I'm prepared to do it personalyl [18:00:28] RoanKattouw: cursory glances have shown otherwise [18:00:34] I can't imagine what you'd do with it that you can't do without it. [18:00:42] Let me take a cursory glance then [18:00:44] k [18:00:55] Someone should start a parser rewrite thread! [18:01:04] ha ha ha [18:01:24] TrevorParscal: http://www.mediawiki.org/wiki/ResourceLoader/Status in case you haven't seen it yet. [18:01:25] that stupid something broke thing... ugh! [18:01:35] cool [18:01:36] And I fixed the tracking bug to be sane. [18:01:47] yes, thanks for that btw [18:01:51] No problem. [18:02:21] apply row-level styling on th elements. [18:02:47] Most tables have one header. You just do it with a class on the table. [18:02:50] without applying a class to a tr that defines it as the header. [18:03:09] That's how class="wikitable" works. [18:03:32] How new are /? [18:03:35] I never learned them. [18:03:44] They've been around for some time [18:03:52] But have been obscure for most of that time AFAIK [18:03:57] Shirley: the objective here is to implement a js library used by lots of other people, not to write our own [18:04:06] The only reason I know they exist is that Firebug's normalized HTML view inserts them [18:04:31] TrevorParscal: OK so it looks like the parser just translates ! !! !! to row-wise, as I'd expect [18:04:31] we already have one that works, it's just limited in functionality, and before we go dumping time into it, we want to contribute to another project insteadg [18:04:58] So then I wonder what the HTML spec says: no s in , no s in , or both? [18:05:02] TrevorParscal: I don't think anyone will object to adding /. [18:05:09] I just think they're kind of silly in general. [18:05:10] If it's either, this should be doable [18:05:36] Shirley: I don't suspect they would, it should be a benign change, but making the change looked messy to me at first glance [18:05:41] Oh, there's a too. [18:06:10] Huh, and they don't require closing tags. How ugly. [18:06:24] i remember using them as far back as 2002 but i don't know if they were official then. [18:06:34] > TFOOT must appear before TBODY within a TABLE definition so that user agents can render the foot before receiving all of the (potentially numerous) rows of data. [18:06:44] That's gross. [18:07:14] Yes, that's ridiculous [18:07:19] Though understandable [18:07:27] The not requiring ending tags part is probably HTML5 [18:07:28] That's from http://www.w3.org/TR/REC-html40/struct/tables.html#edef-THEAD [18:07:36] HTML4 says the end tags are optional. [18:08:06] ha [18:09:18] I wonder how cleanly some of this degrades. I could see older browsers pitching a fit at some of these tags. [18:09:45] who cares? [18:09:52] People who use old browsers. [18:09:57] i can't think of a browser that wouldn't support them that is in use. [18:10:06] we're talking about browsers like netscape 4. [18:10:15] https://bugzilla.wikimedia.org/show_bug.cgi?id=3156 [18:10:19] https://bugzilla.wikimedia.org/show_bug.cgi?id=4740 [18:10:25] TrevorParscal and RoanKattouw ^ [18:10:27] The page I'm looking at says is only supported in IE4 and up [18:10:48] right. and IE 4 was end of lifed in or around 1999. [18:10:50] supported... what does that mean? [18:11:09] like, what is the side-effect of using it of it's not supported [18:11:53] I wonder [18:11:59] of course, browsers that old are pretty much out of luck online these days, even on our site for the most part [18:12:02] What would it do with a tag it doesn't recognize [18:12:11] usually just ignores it [18:12:22] "only", heh. [18:12:25] most browsers ignore unknown tags [18:13:02] so we are saying, we loose IE 3? [18:13:13] I think it's pretty easy to say that's no problem [18:13:17] https://bugzilla.wikimedia.org/show_bug.cgi?id=4740 has a patch, FWIW. [18:13:18] no matter what the side-effect is [18:13:46] this patch seems odd [18:13:54] but interesting [18:13:58] thanks for finding that Shirley ! [18:14:18] No problem. [18:14:37] I can't imagine that patch applies cleanly to head, but it might be a decent start. [18:14:52] for the purpose of table sorting, we just need to collect the first row of th into a thead, pretty simple [18:14:56] Whitelisting the elements is a trivial change. [18:15:12] Does table sorting code generally require as well? [18:15:15] Or just ? [18:15:54] hrm. ie 5.2 was end of lifed in 2003 [18:16:27] It doesn't really matter what end of life is declared as. [18:16:34] It matters how many users you'll affect. [18:17:41] it does, actually. [18:17:52] because it gives you an idea of how many people actually use it. [18:18:02] I don't see how. [18:18:10] sure it does. [18:18:35] Netscape 3 was *hard* EoL'd at 11:59 PM, December 31, 1999. [18:18:44] no one uses it any more. [18:18:50] so we don't need to support it. [18:18:54] We were talking about IE. [18:19:03] I thnk some folks might still use that. :-) [18:19:18] i don't know of any hardware the still runs IE 3 or 4. [18:19:42] and i don't think there's any practical benefit to supporting either of them. [18:19:56] I believe Wikimedia development focuses on IE > 4 for Windows; no IE support for Mac any longer. [18:20:29] Shirley: yeah, we actually have a formula for deciding what we support [18:20:40] it has to do with the stats on what browsers our visitors use [18:20:45] Heh. [18:20:52] That's what I was saying to Jorm. [18:21:17] http://stats.wikimedia.org/wikimedia/squids/SquidReportClients.htm [18:21:54] so we allow ourselves to give up on things below 0.1% [18:22:22] Like "MediaWiki." [18:22:34] he he, that's a bot or what? [18:23:05] http://browsershots.org/ here is the place to see how a site looks on any browser... [18:23:08] good example is Chrome 3 [18:23:13] it's 0.06% [18:23:24] 3,182 requests from a 1:1000 log is kind of high... [18:23:38] it's not that it's for sure not going to work [18:23:40] Maybe JS? [18:23:48] Right, just not supported. [18:23:50] but we aren't going to pour tons of time/money into it [18:24:27] Below 0.1% puts a lot of browsers below the threshold. [18:24:30] so, given IE4 isn't even on the list.. and IE5 is 0.03% [18:24:51] SeaMonkey, Konqueror, Iceweasel, etc. [18:24:58] well, at the time I wrote vector IE 5.5 was 0.1% [18:25:01] so I got it working [18:25:04] took weeks [18:25:05] Oh great, I feared this... [18:25:09] ? [18:25:21] TrevorParscal: Preliminary testing indicates we do embedding *before* Janus [18:25:32] So guess what happens to external-link-icon-ltr.png [18:25:36] ha ha! [18:25:56] we could push janus down into the modules pretty easily [18:26:02] they know what direction to use [18:26:31] Right, we currently run Janus on the whole thing [18:26:40] but it doesn't have to... [18:26:54] And we can't @embed everything at once because... [18:27:09] Right it's tied in with remap [18:27:10] different files have different paths [18:27:13] yeah... [18:27:41] OK well I guess we can just do everything on the module level [18:28:00] Actually, that'd be better for caching too, to do all transforms on the module level [18:28:03] (JSMin also) [18:29:27] yes - should work out nicely [18:29:31] well [18:30:10] yeah - the amount of additional minification achieved by postponing it is really tiny [18:30:27] if any [18:31:46] IE6 use is 7.33% on our sites! wooo hoo, I love seeing that [18:31:54] that's half what it was a year ago [18:31:57] robla: ping? [18:32:09] jorm: sup? [18:32:50] i have a conflict for our 1:00. a scaling discussion about assessment. i don't have much to report except that i put docs up on the first set of my design changes. [18:33:35] no prob [18:33:51] *robla looks at mediawiki.org for jorm's design docs [18:34:31] i put them here: http://www.mediawiki.org/wiki/Pending_Changes_enwiki_trial/NovemberReleaseDesignChanges [18:36:12] TrevorParscal: It'll also cache better, zero duplication [18:36:56] RoanKattouw: yeah, or.. less [18:37:15] Moving JS in I mean [18:37:15] i guess zero - depends on how it's done [18:37:18] yeah [18:37:24] Cause now it caches each combination of modules [18:37:31] That should be each module separately [18:40:59] lol fail [18:41:06] ? [18:41:10] border-color: #AAAAAA -moz-use-text-color #AAAAAA #AAAAAA; [18:41:14] Guess what CSSJanus does with that [18:41:25] *TrevorParscal updated http://www.mediawiki.org/wiki/ResourceLoader/Status a bit (mostly as anon user on accident) [18:41:27] Oh wait actually [18:41:29] That's probably *valid* [18:41:40] It turns into A A A mutc [18:41:42] oh, I can't imagine it worked well [18:41:56] But I guess -moz-use-text-color is just a strange color name [18:41:58] ha ha ha [18:42:01] As opposed to some kind of postfix [18:43:38] RoanKattouw: so, I was thinking of grabbing a task - any suggestions (as in, what can I do that will not intersect with what you are doing?) [18:43:46] otherwise I will just review some code for a while [18:44:20] You could fix what we talked about [18:44:25] The fact that transforms happen too late [18:44:35] ok - you weren't doing that then, just looking at it [18:44:43] No, I'm still porting Monobook [18:44:58] Verifying all the hacks from rtl.css work well when dropping rtl.css and just Janusing main.css [18:45:05] Had to add some explicit things to main for that [18:45:27] TrevorParscal: html > body .portlet { --> which browser(s) is that for? [18:45:38] IE6 chokes on the > [18:45:41] and ignores the rule [18:45:58] Ah. [18:46:08] Well it's setting float: right; clear: right; [18:46:19] I see no corresponding rules in main.css, I think there's actually a float: none; [18:46:46] hmm [18:53:43] TrevorParscal: Re CR: I suggest you ask Neil whether he has tests. He kind of casually put this code inside an e-mail so I suspect not [18:53:59] hm? [18:54:08] for your $1 parser thingy [18:54:14] did you have any unit tests? [18:54:15] tests [18:54:21] for what? [18:54:22] I know you were playing with a testing framework [18:54:29] for the Language parsing? [18:54:34] http://www.mediawiki.org/wiki/Special:Code/MediaWiki/74503 [18:55:29] i anticipated adding more tests for that when we put PLURAL et al into Resource Loader, if we actually do that [18:55:37] which I assumed is this week [18:56:13] so, short answer, no tests [18:56:14] no worries [18:56:27] we need to all decide on a js unit testing framework and start collecting tests [18:56:36] I think I might remerge UploadWizard branch this week [18:56:38] I was just hoping you had some laying around we could set aside or something [18:56:44] sorry [18:57:06] you still a fan of that js test framework? what was it called? [18:57:11] Jasmine [18:57:14] jasmine, very much so [18:57:24] Yes, we should put PLURAL et al in RL [18:57:39] We were kinda hoping you could do that, since you seem to be familiar with that code [18:58:02] the dog barking in the alley is about to have a quick encounter with death [18:59:28] srsly. [19:05:29] RoanKattouw: re: Language Parsing, I'm on it ASAP, just some more PHP for you this week (unit tests for existing Upload methods) [19:05:38] iow proving i didn't break everything [19:05:39] OK [19:05:45] hah [19:05:48] Meh, unit tests [19:05:52] I'll see what I can do :) [19:05:54] well, I tried and realized I might have ;) [19:06:02] broken existing uploads that is [19:24:55] ugh http://www.mediawiki.org/wiki/Special:Code/MediaWiki/74503#c10207 [19:24:58] seriously? [19:29:15] TrevorParscal: The param being called parser is one thing, the function itself is quite another [19:29:26] Right now it's a very misleading name for a replaceargs function [19:41:58] *^demon|away thinks Trevor doesn't really care about naming sometimes :) [19:42:09] *^demon|away renames all Trevor's variables to foo/bar/baz ;-) [19:46:06] ^demon|away: I care, I dissagree [19:46:17] this is an attachment point for a general purpose parser [19:46:56] a la the wfMessage function replacing all the various entry points - this would be a single method that can handle as much parsing as we can get working and have chosen to download [19:46:56] <^demon|away> Disagreeing is fine :) [19:47:27] I think there is a misunderstanding of the purpose of the code that is causing a dissagreement [19:48:33] TrevorParscal: If at all feasible, the $n replacer should be in its own function, with a descriptive name. Like, in the future whe we have an actual parser [19:49:12] "Basic parser, can be replaced with something more robust" is the comment above the function [19:50:09] A more robust parser will replace this functionality with it's own [19:51:40] *sigh* that CSS hack was introduced by gwicke in r3371 (!), coment "some tweaks" [19:51:41] and if we can add even more parsing functionality to the base implementaion without too much bloat, we should - and then you will either have to have some function that calls functions, or be back to "maybe this should just be named parser" again [19:52:09] <3 gwicke [19:54:07] I'm thinking the "parameters" property of the options object for the parser should be named "args" or "arguments" - any thoughts? [19:54:18] *TrevorParscal warms up grep [19:54:23] gah! greg dulli is playing in baltimore while we are at hack-a-ton. [19:54:25] so. close. [19:54:54] and the misfits in springfield. [19:55:49] TrevorParscal: Hah so most of rtl.css is just padding-right: 1em; padding-left: 0; but the values seem to be out of sync with main.css about 1/4 of the time ^^ [19:56:12] RoanKattouw: well, have you seen Monobook in RTL? It's mostly broken [19:56:26] Or they just plain don't exist [19:56:55] Seriously though, Monobook looks pretty good for me now, and all I did was Janus it and copy the body { } part from rtl.css [19:57:19] And rtl.css occasionally mentions selectors I can't even find in main.css [19:57:23] <^demon|away> TrevorParscal: grep? Ew [19:57:26] *^demon|away hugs ack [19:57:35] <^demon> betterthangrep.com :) [20:03:32] *RoanKattouw joins ^demon in promoting ack [20:03:46] <^demon> That tool is amazing. [20:08:43] I don't understand. [20:08:48] How's it better than grep? [20:09:00] Oh, scroll down... [20:09:36] Have you seen Google's code search tool? [20:16:44] TrevorParscal: So I've ported Monobook to RL and it seems to work. I made a bit of progress looking through rtl.css for stuff that's already accounted for, but not much, Also need to check the IE*Fixes files. Mind if I just commit what I have and leave the rest to you? [20:27:52] RoanKattouw: yeah, sounds fine to me [20:28:05] I will do some testing on IE browsers today [20:28:31] OK cool [20:35:57] TrevorParscal: Committed. Please 1) review CSS changes very carefully, 2) go through rtl.css line by line to see whether it needs to be moved to main.css in some form and 3) do that for the IE*Fixes.css files as well [20:36:23] *TrevorParscal is fairly sure he has a painful afternoon ahead [20:36:25] sleep well [20:37:09] You do, and I get to sleep... briefly [20:37:37] oh, hey [20:37:38] 1 thing [20:37:53] try inserting an image on your localhost using the wikieditor toolbar [20:38:06] I am getting {{ns:file}} in the message [20:38:15] rather than it being translated to File: [20:39:02] Right, that's ResourceLoader's fault [20:39:06] For not allowing parsemag [20:39:16] grrrness [20:39:19] Yes [20:39:22] ok, well I will file a bug [20:39:27] OK [20:39:33] We need to hammer out the messages thing [20:39:40] So we can support at least forcontent [20:40:01] parsemag is a bigger can of worms though, because the value of magic words can change :( [20:40:26] right [20:41:22] OK, sleep [22:28:59] Drat. [22:29:03] I just missed Roan. :-( [23:47:11] Shirley: better aim next time [23:51:40] new 6,223 [23:51:41] :D [23:53:12] mmmmm [23:54:49] $intersection = array_intersect( array_keys( array_filter( $params, [23:54:49] create_function( '$x', 'return !is_null($x) && $x !== false;' ) [23:54:49] ) ), $required ); [23:54:50] Yum