[00:00:09] If it takes that long it's probably a one-off [00:00:13] Hit Escape and click it again [00:00:46] but the progress bar is almost 99% [00:00:53] hm [00:01:01] it says connecting to bits.wikimedia.org [00:01:10] Huh you're right it does seem to be slow [00:01:14] is that new cache system? [00:01:17] Yes [00:01:21] But it shouldn't be connecting there [00:01:22] RoanKattouw: it works for me actually [00:02:38] Firefox 3.0 or 3.5? [00:03:37] Hm it doesn't hit bits on second load for me, and it shouldn't [00:03:47] Your browser shoiuld be caching all requests to bits [00:04:14] i hit escape and reloading again, but no luck [00:12:43] Hm [00:12:50] It probably is slow though, being on one box [00:12:59] Oh wait [00:13:05] domas> hmmm indeed bits have interesting issues - requests stall for 20s then all finish [00:13:07] could be network! [00:14:51] k, page loaded without images... [00:15:53] hi [00:16:17] was talking to mdale [00:16:20] reload brought images back and NTOC is now loaded [00:16:24] *TrevorParscal reads backlog [00:16:36] so NTOC worked for me too finally [00:17:35] toc on test has been working for me since earlier [00:17:55] Cool! [00:17:58] RoanKattouw hacked it into submission [00:18:24] it was excruciatingly painful to open edit tab [00:18:50] Yeah bits.wikimedia.org was having some issues [00:18:59] k [00:18:59] These had a sitewide effect though [00:19:58] opening an edit tab from an article in en.wp in production is reasonable [00:20:11] but NTOC did not load.... sigh [00:22:15] That's en.wp though [00:22:24] With the old code [00:22:54] yes, en.wp in production [00:24:15] so bits is causing problems loading our production beta page too [00:24:25] Yeah it's causing problems clusterwide [00:24:28] test is no exception [00:33:54] TrevorParscal: We have one weird bug on test that I can't fix, which is overlapping messages [00:34:05] why did this transition to bits happen without propper testing? [00:34:14] It didn't, we've been on it for weeks now [00:34:15] overlapping messages? [00:34:19] Yeah [00:34:28] then why are we having issues with it? [00:34:54] Some code in UsabilityInitiative_alpha (mostly TOC and toolbar) uses the same message keys as stuff in the old code [00:35:01] TrevorParscal: I don't know? Because nothing's perfect? [00:35:12] domas> !log restarted varnish on db19 [00:54:51] TrevorParscal: i asked mangala to hold the further testing until you notify the next run [00:55:08] if you want them to pound test.wikipedia.org, please let mangala know today [17:44:09] ho peoples [17:44:16] s/ho/hi [17:45:39] hi TrevorParscal [17:46:03] how's it going? [17:46:39] yo yo word to your channel [17:47:13] how's it brion? [17:47:29] goin' awesome [17:47:42] dude, last night I was working and I noticed this O in the top of my mediawiki pages [17:47:43] http://img222.imageshack.us/img222/28/picture1yp.png [17:48:01] heh [17:48:06] o rly? [17:48:09] went through looking for some random echo statement or something, but I have a clean checkout with no mods... afaik... [17:48:17] funky [17:48:18] the computer is telling me something [17:48:25] it's yawning! [17:48:25] must be a local settings thing... [17:48:29] ha ha ha [17:48:36] i suspect a stray char typed at start of a php file [17:48:38] *TrevorParscal rebuilds his prototype [17:48:44] yes, me too [17:49:01] i do that from typing in the wrong computer all the time ;) [17:49:16] hi brion! [17:49:17] i have scripts, so ./build.prototype.sh and it should go away [17:49:42] brion: did you get a workstation now that you are working at home? [17:49:49] what happened with that macbook air? [17:50:41] *TrevorParscal eats hello panda cookies [17:50:54] hi nkomura ! [17:51:10] yeah i've got a nice linux workstation; using it and the air side-by-side most of the time currently [17:51:18] right on [17:51:20] (still need to migrate a few things off the mac) [17:51:38] I used to use synergy to have a single mouse and keyboard accross computers [17:52:06] and had 3 computers on 4 monitors - then VMWare sort of made that a bit clunky looking [17:52:15] but it was mighty impressive [17:52:19] :) [17:52:29] yes synergy's great for that [17:53:12] also i can't get the nvidia x11 drivers to detect the resolution on one of my monitors so until i replace it with one that *hasn't* burned out its EDID chip i've only figured out how to make the mac work at >640x480 on it ;) [17:54:35] linux video drivers are often very difficult - it makes you sort of want to know in advance what hardware the developers had on their desk so you have a good chance yours will work too... [17:54:50] sort of sounds like the macintosh model in a way.... [17:55:18] nkomura: so test was updated early this morning [17:55:30] thanks [17:55:32] and Calcey has been asked to poke [17:55:36] i found mangala on IM this morning [17:55:40] cool [17:55:43] how's that going? [17:55:44] so i let him know [17:55:45] it's actually a case of the plug-n-play behavior working too well ;) [17:55:52] i can't override the damn settings [17:56:02] brion: plug-n-play fail [17:56:28] he was traveling back from colombo (sri lanka) to SF yesterday [17:57:06] so he notified the QA team this morning our time [17:57:21] by the time roan updated test, it was already evening of sri lanka [17:57:29] so it didn't make much difference [17:57:42] we should hear some updates tonight/tomorrow [17:58:16] let's poke test today, and if it looks good, let's deploy it to usability wiki [18:03:28] hi everyone [18:03:35] hi hannes-_- [18:09:42] TrevorParscal: Sorry for that o, that was my fault :) Vector.hooks.php [18:10:09] ha ha ha [18:10:17] so you found it and fixed it I guess? [18:11:18] Yeah, around noon my time [18:14:12] RoanKattouw: hi [18:14:25] Good morning [18:14:34] good evening to you [18:14:40] how are you holding up [18:14:55] you had long nights for the last two three days [18:14:58] Yeah [18:15:09] I got up early-ish this morning, went to my Dad's place this afternoon [18:15:20] I'm there now and I'm gonna stay here for a few days before I travel on to Brussels [18:16:01] that's right FOSDEM is comping up this weekend, isn't it [18:16:06] Yeah [18:16:13] pdhanda: You feeling better? [18:16:38] so i'm poking at test.wp.org [18:16:59] and i noticed that the link to the discussion on the beta opt-in page is not updated [18:17:08] it was updated on prototypes [18:17:14] Yeah, there's a problem there [18:17:23] We can't update messages per-wiki [18:17:46] so it'll be fixed when we deploy globally? [18:17:49] Yes [18:17:56] i can live with that [18:19:12] wow, AMW is enabled on test [18:20:39] http://test.wikipedia.org/wiki/Transclusion_test thats strange, text overlaps the code-block and where does it come from anyway? [18:21:44] nkomura: really? how can I see it? I don t get it [18:21:55] The text on the table preview is cryptic [18:22:15] let me check my preferences [18:22:16] Someone accidentally started a line with a space [18:22:20] In that article [18:22:57] yeah me [18:23:11] but do u see hwo the text overlaps the box? [18:23:16] Yes [18:23:28] RoanKattouw, yeah much better, thanks [18:23:45] That happens, I think there might be a fix for that on trunk, not sure [18:24:35] and do u know how to switch on amw on test? [18:24:49] My preferences -> Gadgets -> mwEmbed ? [18:25:20] yeah i disabled it [18:25:25] ahh it s a gadget... [18:25:27] and trying it again [18:25:53] i wasn't aware my production preferences is actually reflected on test [18:27:41] Does it do that? I didn't know that happened? [18:31:48] RoanKattouw: Nimish and I are working on an undo-redo stack [18:32:00] I'm going to need to get and restore the cursor position [18:32:05] prefereably as an offset [18:32:20] which, I don't think we can do anymore [18:32:23] any idea [18:32:25] s| [18:32:32] Have you seen context.fn.saveSelection(); and restoreSelection() ? [18:32:53] yes [18:32:55] For IE you can store the cursor position as a TextRange object just fine [18:33:02] You can .select [18:33:04] () it and voila [18:33:37] For Firefox... I'd recomment storing startOffset,startContainer,endOffset,endContainer and passing that back to context.fn.setSelection() [18:33:54] *RoanKattouw has bedtime story duty [18:34:03] hmm [18:34:22] containers would be invalid cause I will be replacing the content completely as I push and pop the stack [18:34:27] go read story [18:34:29] :) [18:37:39] bedtime story? [18:37:43] younger sibling? [18:39:02] pdhanda: you are not feeling well? [18:39:28] RoanKattouw was asking if you are feeling better earlier [18:40:02] TrevorParscal: this undo/redo stuff, are you planning to rolling into babaco enhancements release? [18:40:19] yes [18:40:23] if at all possible [18:40:29] is it necessary? [18:40:49] what are the user cases? [18:41:20] you do something, and control z doesn't seem to work more than once, and in some cases not at all [18:41:46] which is a big departure from the textarea experience [18:42:58] oh i thought i responded nkomura [18:43:14] feeling much better thanks [18:43:26] pdhanda: good to hear [18:43:32] little sore still but a lot better than yesterday [18:43:52] i should consider not sneezing while reaching for things [18:43:56] TrevorParscal: so this is not for highligh -> undo [18:44:14] highlight -> undo? [18:44:52] like in rich text editor [18:45:13] wow... serbina wikinews looks strange. how is it possible that the blue background color overlaps the border (right border of left navigation) ? I hope we can avoid that somehow... [18:45:59] that's what happens when you let people who have no clue about graphics change the appearance of your website :) [18:46:00] hannes-_-: parutron how do you guys feel abt indents under the 'edit notes' headings for the footer cleanup? [18:46:34] TrevorParscal: for example, removing bold by highlighting a word and hit bold icon, like in rich text editor [18:47:40] nkomura: yeah, no we are just talking about basic undo and redo [18:47:43] based on typing [18:47:48] nimish_g: are u talking about the inside of the editnotes? [18:48:10] TrevorParscal: got it [18:48:10] nkomura: Yeah I'm OK, my sleep behavior has always been weird [18:48:12] nimish_g: : and are u refering to sandbox or the mockup? [18:48:39] TrevorParscal: i was once feared that you are ambitiously adding a big feature right before the release ;) [18:48:45] it was my misunderstanding [18:48:54] hannes-_-: the mockup. Like under "Respect Copyright" if that whole paragraph were indented [18:49:06] pdhanda: Yeah I have siblings age 9, 7 and 3 [18:49:37] nimish_g: yeah makes sense [18:50:12] nimish_g: making it beeing in line with the heading "edit notes" ? [18:50:44] exactly [18:51:34] TrevorParscal: We have offset support though, see context.fn.getOffset() and purgeOffsets() [18:51:42] It's not very fast on Firefox as it uses the traverser [18:51:57] I will look [18:52:25] But what exactly is your use case again? You want to not remove a

on backspace? [18:52:29] parutron, TrevorParscal, adam_miller_away and hannes [18:52:44] i moved the toolbar discussion we couldn't have yesterday to tomorrow [18:53:03] Proposed time is 11am PST, [18:53:11] i hope you all are available [18:53:21] Isn't that like 7 minutes from now? [18:53:39] RoanKattouw: that's the other issue - yeah, we need to detect a backspace, and if you are in the begining of a

, we need to either remove the preceding
or merge with the preceding

[18:53:47] and return false [18:53:56] because the current behavior is scary [18:54:09] hannes and i typically have our one on one at that time, but i will write him and see if we can touch base before or after the meeting. [18:54:19] TrevorParscal: OK so what are you *currently* trying to achieve with this offset / selection / whatever stuff? [18:54:44] nkomura: parutron works for me [18:54:56] hi hannes-_- [18:55:53] RoanKattouw: right now just trying to restore all the html() of the iframe and the old cursor position after an undo [18:56:06] RoanKattouw: undo/redo with reasonable cursor positioning [18:56:12] Right [18:56:22] Sec another bedtime story [18:57:23] bedtime story? once upon a time in a cold frozen land far far away, there lived a RoanKattouw who was building a magical iframe... [18:58:22] parutron: HI [19:04:57] hehe [19:05:49] RoanKattouw: yeah, as soon as I get this basic undo thing going... very soon [19:06:17] TrevorParscal: OK so you want to be able to undo/redo cursor positioning as well [19:06:25] yes [19:06:31] I need a setContents function after all [19:06:35] That should be doable. You're right about invalidating containers, but if/when that happens you'll be recreating them for the undo anyway [19:06:41] No you don't [19:06:41] I remember thinking, why would I ever need that? [19:06:45] ? [19:06:52] setContents() is evil, lots of DOM manip [19:06:58] yes [19:07:08] well if the stack is just the .html() [19:07:21] what happens with jqeruy bindings? [19:07:26] ala - template stuff [19:07:31] which is yet to come [19:07:39] any ideas? [19:08:20] It's destroyed and will be redone when you call the .change() event [19:08:27] This is precisely why setContents() is a bad idea [19:08:34] sounds good [19:08:37] i think you are right! [19:08:48] And even though the HTML structure is restored, event handlers won't be [19:09:09] but with a .change() they could be [19:09:33] Nope they won't be [19:09:50] Because the HTML will already be there and we currently have no magic to just restore event handlers on something [19:09:51] how can we restore them them [19:10:11] *TrevorParscal just ran out of hello panda cookies [19:10:24] Well I recommend not destroying and rebuilding the entire DOM in the first place [19:10:47] Oh wait, sorry, I misunderstood [19:10:53] setContents() uses wikitext, not HTML [19:11:03] indeed [19:11:06] So it *will* rebuild all the jQuery stuff including event handlers [19:11:11] indeed [19:11:16] which is why I wanted it [19:11:20] But you're forcing it to reparse the entire page [19:11:26] which sucks [19:11:29] Yes [19:11:38] Well the reparsing, sure, but all the associated DOM manip is redone [19:11:45] Reparsing with most of the markers already in place is faster [19:12:11] so, restore HTML, and force templates to reparse - or something like that? [19:12:35] Hmmm lemme think [19:13:08] Yeah basically [19:13:33] Restore the added/removed *wikitext* *locally* (without messing with the entire DOM that is), then trigger the change event [19:13:56] That'll pretty much simulate a manual undo I think [19:15:54] hmm [19:16:06] the whole locally thing is not reliable [19:16:19] you could need to restore a very widespread delete [19:16:22] for instance [19:17:19] codepress uses an undo-redo stack [19:17:20] looking [19:25:11] TrevorParscal: So yeah using an HTML stack like that will work and is probably OK except that I'm kind of afraid of performance on large articles [19:25:27] we will have to profile it [19:25:43] but undo and redo are not frequently used enough for that to be a big issue [19:25:49] it's mostly used in panic mode [19:25:57] Yeah [19:26:08] And hopefully the delay will still work [19:26:17] So if you go like Ctrl+Z Ctrl+Z Ctrl+Z [19:26:32] It'll just be doing a lot of setContents() calls but won't reparse till you calm down [19:26:43] Still, setContents() for 122 KB of text could take a while [19:26:47] Not sure how long [19:29:34] ii've got something working [19:29:38] I will show you in a min [19:29:48] OK [19:34:49] nkomura: is that toolbar discussion going on now? [19:35:02] RoanKattouw: see commit [19:35:08] needs redo still [19:35:11] TrevorParscal: Are you using a one-key object for extensibility? [19:35:19] no, it's tomorrow at 11amPST/2pmEST [19:35:19] Oh heh cursor position of course [19:35:59] RoanKattouw: yes [19:36:12] nkomura: ah, ok. I'm not feeling well today so I was laying down for a bit and just came back to see that message from earlier [19:36:22] and I think we can use the history for the oldHTML as well [19:36:32] Yeah we could, and should [19:36:41] adam_miller: sorry to hear you are not well, what's wrong? [19:36:47] because oldHTML should be the same as history[hsitory.length-1] [19:37:07] adam_miller: you sick? [19:37:09] TrevorParscal: Isn't there a field that'll tell you whether Ctrl is held when you actually need to know? [19:37:17] As opposed to detecting keypresses for them [19:37:44] just flu-like symptoms, congestion and headache. fun things like that [19:37:48] evt.ctrlKey? [19:38:05] Something like that [19:38:32] TrevorParscal: switch ( event.which ) { --> I use event.keyCode || event.which in Toolbar.js [19:38:45] Because IIRC event.keyCode is the only correct one in IE [19:39:03] supposedly which is a normalized version of keyCode and keyChar [19:39:21] Hm [19:39:48] Lemme play with that in IE later [19:40:46] adam_miller: resting is the best medicine [19:41:04] i hope you feel better soon [19:41:07] TrevorParscal: Your context.$content.html() approach is probably not gonna work due to event handlers not being restored. Have you tried this yet? [19:41:16] thanks. i'll do some more resting in a bit [19:41:28] It's fine for this deployment but presumably it'll break when template collapsing is enabled [19:41:33] RoanKattouw: no, the event handlers will die, and that needs fixing [19:41:41] but that's something we can fix with our template work [19:41:51] we don't have event handlers on anything we are deploying right now [19:42:08] I'm trying to make the user experience a tad less quirky for this release [19:42:11] context.historyPosition = -1; // on change, shouldn't this be ++ ? [19:42:16] Yes [19:42:17] no [19:42:45] history position is a negetive number [19:42:50] it's steps backwards [19:42:55] it's subracted from length [19:43:06] so, -1 is the most recently saved state [19:43:12] -2 is the one before that [19:43:14] etc. [19:43:14] *dazzle* [19:43:23] Fair enough, but document that [19:43:46] I could have done 0, -1, -2 but then I have to subtract one everytime I use it [19:43:52] Yeah [19:44:01] OK so it decreases on undo only [19:44:04] And increases on redo [19:44:23] well, if you look at the 2 lines that actually use it, it's failry obvious, like line 288 [19:44:27] I can add more notes though [19:44:33] yes [19:44:44] and a change resets it to 0 [19:44:59] -1 [19:45:02] yes [19:45:05] that's what I meant [19:45:06] :) [19:45:07] Oh right [19:45:08] he he [19:45:24] So yeah I got confused by that = -1 assignment as well [19:45:25] I think this is a normal undo system [19:45:28] sorry [19:45:37] we need redo, and some testing [19:45:41] It is, it's just that this -1 thing is something magical with zero documentation [19:45:45] The stack idea is normal [19:45:52] yes [19:45:55] exactly [19:46:10] *TrevorParscal adds documentation [19:52:33] *TrevorParscal adds redo [19:53:17] *RoanKattouw tests keyCode vs. which in IE [19:55:59] Interesting [19:56:07] keyCode and which are identical in IE8 at least [19:56:24] But they're only correct on keypress: on keydown/up, it wrongly capitalizes stuff [19:57:57] interesting [19:58:03] Except in IE7, where it's always capitalized [19:58:07] So test for 'Z' as well as 'z' [20:00:34] OK so event.ctrlKey works reliably in IE7 (!) [20:00:42] Testing in IE8 and Firefox now [20:01:17] Although the better question is probably whether it works with the command key [20:01:24] seems to work well [20:01:28] getting food [20:01:29] brb [20:02:58] TrevorParscal: Ah you're way ahead of me, just noticed your commit [20:04:06] Ctrl+Shift+Z? Really? I never knew that [20:04:21] Huh I guess that's for real [20:16:14] TrevorParscal: Doing multiple undos is broken because the change event resets the historyPosition and adds the undo itself to the stack as an undoable operation [20:16:25] You need to distinguish between 'real' changes and undos when adding stuff to the stack [20:16:49] I suggest comparing the new HTML to the second-to-last item on the stack and if they're equal assume an undo [20:17:06] Ditto for redo, which of course doesn't work at all right now because historyPosition keeps being reset to -1 [20:39:27] RoanKattouw: is single installation deployment possible now? [20:40:24] Yes, if the ops people are cool with it [20:40:47] All the technical infrastructure is in place, it's the same trick Andrew uses for LQT on labs [20:40:49] what are concerns? [20:41:19] Lack of review, especially for the latest revisions [20:41:39] our case is fully reviewed [20:41:40] I'll want to get a green light from Tim before I turn stuff on on wikis that aren't test [20:42:06] nkomura: I seriously doubt e.g. yesterday's work is reviewed [20:42:19] btw, how much more reviews are left? [20:42:34] Not sure [20:42:46] I'll talk to Tim about this later today [20:43:21] you will need to be up really late to find tim online [20:43:33] Tim said he's happy with us cross-reviewing individual revisions and that he'll only be doing whole file reviews [20:43:55] Hm yeah maybe, Australia's 10 hours ahead so his 10 AM is my midnight [20:44:05] I guess Trevor can talk to him if I'm gone before he shows up [20:44:35] can we reach out to pdhanda to get the code review started? [20:46:12] Is she back in the office yet? [20:46:21] Having her coordinate this process is a good idea, yeah [20:46:33] i'm not in the office today [20:46:38] IIRC Tim gets up early-ish so he can talk to her [20:47:11] pdhanda has been coordinating the code review with tim for us already [20:47:36] TrevorParscal: Did you know IE uses

 

for empty lines instead of
? *hate* [20:47:38] so we need to surface the revisions after she signed off [20:47:58] RoanKattouw, she isn't, she's out for lunch with other folks [20:48:09] nkomura: Like I said, Tim wasn't gonna do individual revision review, but whole file review. He was happy with us cross-reviewing individual revisions [20:48:11] TrevorParscal being one of them [20:48:17] Thought so :) [20:49:18] RoanKattouw: i know that [20:49:54] what i meant was pdhanda can speak for tim, as they communicate closely [20:50:07] Yeah [20:54:21] back from lunch [20:56:02] TrevorParscal: RoanKattouw brought up a good point that we need code reviews done for all the bug fixes you guys have been busy with [20:56:21] yes we do [20:56:27] pdhanda can do them I think [20:58:54] TrevorParscal: IE's selection movement functions appear to treat

,

and
as characters. That's nice until you consider that

Foo



Bar

has three newlines in between but IE sees four [20:59:14] RoanKattouw: http://www.mediawiki.org/wiki/Special:Code/MediaWiki/61951#c5608 ? [20:59:50] *snort* [20:59:51] Oops? [21:00:48] awesome commit btw -> http://www.mediawiki.org/wiki/Special:Code/MediaWiki/61952 [21:03:36] Heh yeah I figured we should stay true to the original quote there :) [21:09:31] good work! [21:27:35] while ( range2 not good enough ) { move range1 } --> oops :P [21:28:46] inf loop [21:29:21] I did manage to fix search&replace in IE though [21:29:34] In a horribly inefficient way [21:29:48] while ( context.fn.htmlToText( range.htmlText ).length < options.start ) { range.moveEnd( 'character', 1 ); } [21:29:52] And the same for range2 later [21:30:22] So we're running context.fn.htmlToText() on all kinds of crazy substrings of the document [21:30:39] ewww [21:30:46] but, cool [21:31:51] Maybe I'll be able to do better using the offsets system [21:35:01] there is something wrong with the dialogs on test.wiki. the style is completly mixed up [21:35:53] *RoanKattouw looks [21:36:33] hannes-_-: Looks good tom e [21:36:36] RoanKattouw: this didn t occure before, so something changed there [21:36:42] want a screenshot? [21:36:47] Yes please [21:38:47] sent [21:39:00] using FF3.57 [21:41:08] RoanKattouw: can we get rid of the little vertical stroke on the right of the searchandreplace icon? [21:41:19] that just takes space but is not needed visually [21:41:58] i'm sending out a screenshot of the table dialog: the text is wonky and the size/spacing off [21:42:44] RoanKattouw: do u have the AMW enabled? [21:42:44] *TrevorParscal applauds use of "wonky" [21:43:06] hannes-_-: That'll mess up the styles yes. Turn off AMW and try again [21:43:22] parutron: Enabled AMW by any chance? Try disabing AMW if so [21:44:00] RoanKattouw: ok dialogs are fine without AMW [21:44:07] *parutron is disabling AMW now [21:44:56] *parutron did not have AMW enabled [21:45:04] do you see what i see on the table dialog? [21:45:23] no I don t [21:45:42] i'm gonna send out the screenshot to the whole team [21:45:55] ohh I do! [21:46:07] with such excitement too! [21:46:08] tee hee [21:46:43] so enough for me [21:46:55] good night everyone...or good lunch...or whatever ;) [21:47:49] parutron: Yeah Naoko noticed that too, that can't be fixed until we do a sitewide rollout [21:48:09] It's because you can't have two different versions of the same message, so it uses the old message until I tell it to switch [21:54:28] Haha, the below fails: [21:54:47] while ( matches = range.htmlText.match( some regex ) && matches.length > counted ) { [21:54:56] There I was, trying to be smart [21:59:45] TrevorParscal: OK so I found a faster way that doesn't use htmlToText() so excessively http://pastebin.com/m57cad94d [22:00:46] it's just sad how good we are getting at this, but more sad that we have to do this [22:00:52] Yeah [22:00:58] So there's another problem in IE too [22:01:14] It double-counts a newline in that


scenario [22:01:24] Causing it to undershoot until I fixed it [22:01:41] But if you add blank lines manually they show up as

 

and for some reason that causes *over*shooting [22:01:53] Like something's not getting counted there rather than getting counted double [22:05:00] OK so here's the weirdness: IE *knows* that it abuses

 

(probably for display reasons) and it deliberately skips the space [22:05:09] *TrevorParscal needs to do the backspace thing for p tags... [22:05:26] *RoanKattouw wonders what IE makes of an actual leading space [22:05:26] strange [22:07:06] Oh God [22:07:20] IE uses

 

for both empty lines and lines that contain exactly one space [22:08:24] Which means that 1) there's no way to insert empty lines using IE because htmlToText() will see the   and translate it to a space and 2) there's no way for my code to know whether an   is 'real' or not. IE is aware of it though and behaves differently for 'real' and 'fake'  s [22:09:25] *RoanKattouw wonders if TrevorParscal can help this situation with Enter key hijacking [22:09:38] Although... probably not [22:09:50] People can blank an existing line without using Enter [22:10:25] TrevorParscal: Which browsers are you doing Backspace hijacking for? Seems to work fine in IE8 [22:11:26] TrevorParscal: In fact, I only ever see this in combination with a
marker [22:11:50] And even that I can only reproduce in Firefox, not in IE8 [22:12:31] I am investigating the behavior now [22:12:33] so... yeah [22:13:45] i seem to only get this with the div thing too [22:13:48] so, what's really going on here... [22:13:49] hmmm [22:13:49] RoanKattouw, would you mind +sysop'ing [[user:Guillaume Paumier]] on sandbox 2 please? [22:14:03] Sure [22:16:15] thanks [22:16:23] Done [22:16:41] I did it through the DB and that was faster than doing it through the wiki, even though I had to type two passwords to get to the DB [22:16:45] That's how slow prototype is right now [22:18:23] yeah [22:19:56] RoanKattouw: I'm getting some strange newline behavior on FF when adding a paragraph before a heading... ends up having no newline before and 2 lines after, rather than 1 before and 1 after -> before save: http://img14.imageshack.us/img14/7263/picture2px.png / after save: http://img689.imageshack.us/img689/5355/picture1fm.png [22:22:58] *werdna waves [22:23:14] *nkomura waves back to werdna [22:23:20] hai [22:23:48] AHA! There's one version of

 

that's really

in the DOM and one that's really just

[22:23:52] TrevorParscal: Looking [22:24:49] TrevorParscal: Looks like


doesn't get translated properly [22:25:09] We don't seem to think that's two newlines, while we should [22:25:35] *RoanKattouw wonders wth all those

-wrapped
s are doing there [22:25:45] chrome worked [22:25:51] but FF did not [22:25:52] strange [22:26:03] hey team, was looking at test again and in the link dialog, the label for the first text entry box should be "Page Title or URL" [22:26:16] but it just says Page Title [22:26:55] i think it is the same pattern with table dialogue [22:27:03] probably pulling the old text [22:27:04] oh good to know, thanks. [22:27:12] how does it look on en.prototype? [22:27:14] Yes, all messages are old. [22:27:21] thanks RoanKattouw! [22:27:41] well that's all i found testing test! [22:28:05] great to know nothing blew up, parutron ;) [22:28:34] TrevorParscal: Please try to reproduce and look at changes before saving. The HTML you're showing in your first picture seems to translate to two newlines just fine [22:28:45] yeah [22:28:48] let me play more [22:28:58] can you repoduce anything similar? [22:29:07] Haven't tried [22:29:07] it may have been something wacky [22:29:11] Still thinking about the other IE issue [22:29:38] oh sorry there was another in my notes here: i don't get the "edit warning" when i navigate away from an edit page without saving [22:29:55] parutron: On which wiki? Is edit warning enabled in your prefs? [22:30:08] on test [22:30:10] for sure, FF is placing an extra line at the end [22:30:34] TrevorParscal: So when you press Enter *before* a line, an extra line shows up *after* it? [22:30:36] i didn't know i could enable/disable edit warnings! [22:30:40] You can [22:30:50] For some reason it's not on by default on test [22:30:54] But it should be everywhere else [22:31:18] got it. thanks. [22:32:11] Aah [22:32:21] Looks like with the new code we have to explicitly say that editwarning is on by default [22:32:23] *RoanKattouw configures [22:34:30] http://img199.imageshack.us/img199/2679/picture3ue.png -> [22:34:30] http://img3.imageshack.us/img3/8825/picture1cnd.png [22:34:41] *TrevorParscal gets caffine [22:35:30] another thing (which may or may not be new), but the after using the toolbar (for say, lists, indent, break) the cursor appears at the beginning of inserted text [22:36:01] Yeah I know [22:36:11] I've been meaning to fix that [22:36:13] it's not something we've explicitly looked at or discussed, but in playing with test, we definitely need to at some point! not sure if now is the right time for you guys.... [22:36:27] Hilariously, this behaves correctly in IE [22:36:32] ahahahhahahahaha [22:36:45] that was a laugh out loud ahahaha [22:36:54] In Firefox we need to explicitly move the cursor to where we want it to go and I haven't gotten around to that yet [22:37:14] ok, well let me know when you do or how i can help. [22:37:45] seems like most of what i'm finding has been uncovered, but i'll play with it more if i have some downtime later.... [23:00:07] TimStarling: Also, we want to release our code tomorrow, do I have your green light on rolling that out to at least usabilitywiki and possibly cluster-wide tomorrow? [23:00:13] yes, should be ok [23:04:04] great news RoanKattouw! [23:07:20] RoanKattouw: so, you going to bed at a normal time today? [23:07:27] Sort of [23:07:35] It's just past midnight now [23:07:37] any thoughts on this extra line thing? [23:07:38] So I should be wrapping up [23:07:46] I think this needs fixing before we push [23:07:47] Nope, I have IE quirks of my own to worry about :) [23:07:57] no worries [23:08:01] I'm looking into it [23:08:43] it looks like its because FF is not enclosing the new line I am creating in a P [23:08:54] it's just letting it hang as a child of the body [23:09:24] Yeah I saw that [23:09:37] whereas other browsers are going ahead and inserting the P [23:10:35] So this is definitely htmlToText() translating it wrong then [23:10:53] I wonder if we looked for consecutive text nodes in the body, merged them and wrapped them in

tags... if that might work [23:11:34] hmmm [23:12:41] no - i mean if it's getting
#TEXT
wrong in the body, it will get it wrong in a

as well - which can also happen (using shift_enter) [23:12:46] and in testing, indeed, it does [23:12:52] *TrevorParscal looks at that function [23:13:09] What's the HTML that triggers the failure? [23:14:18]
[RAW TEXT NODE]
[23:14:34] Becomes \ntext\n [23:14:39] And that's wrong because.... ? [23:14:42] basically, any text node not wrapped in a

[23:14:46] a little orientation on how you are loading scripts in UsabilityExtension? [23:14:57] in FF, i'm getting text\n\n [23:15:44] is there some preprocessing step I'll need to do before seeing changes? [23:16:06] or at least \ntest\n\n [23:16:11] flipzagging: What do you want to accomplish? [23:16:18] no, the former [23:17:01] RoanKattouw: I'm adding the new Upload page into the UsabilityInitiative module [23:17:02] TrevorParscal: OK so you're getting text\n\n in what case?

Foo

? Or

foo

some text
more text ? [23:17:35] flipzagging: To load stuff from your module, call UsabilityInitiativeHooks::initialize() then ::addScript or whatever. See WikiEditor.php and Vector.php for example usage [23:17:44] RoanKattouw: previously, it loaded scripts in the JS2 way, and you load your scripts in your way... somehow scripts get moved from the extension into someplace web accessible... or crunched [23:18:01] yeah, I have seen that, maybe I should just try it [23:18:04] flipzagging: You mind if we push this back a day? We're busy prepping a deployment now :) [23:18:09] oh sorry [23:18:17] no, no I'm not committing [23:18:32] No that's not it [23:18:35] I mean push back me helping you [23:18:39] of course [23:34:27] TrevorParscal: I have now solved both my IE issues [23:34:34] Voodoo commit underway [23:34:37] i solved one of my 2 issues [23:34:40] voodoo [23:34:42] wathcing for cammit [23:34:44] such a fun word [23:34:44] *commit [23:39:06] *guillom stings a werdna-doll [23:41:56] oww [23:42:02] what i do? [23:42:07] i didn't know guillom can be so mean [23:42:52] <^demon> RoanKattouw: I wonder how many of your recent commits have contained the words "Fix" and "IE." [23:42:53] More than I would like [23:43:00] hah [23:43:30] RoanKattouw: I think FF is putting
inside of

as well, so you get


which should be 1 line, and ends up 2 [23:43:46] i tried adding .replace( /\]*\>\s*\<\/p\>/gi, '

' ) // Remove trailing
tags from inside

tags [23:43:57] just after line 444 [23:44:01] but to no avail [23:44:07] my regex might be wrong? [23:44:53] Could be, grab Firebug and inspect the html variable after it's done all the regexes [23:44:58] Your regex looks fine though [23:48:09] OK guys so I'm gonna go to sleep soon [23:48:18] Do you want me to push the current trunk state to test? [23:48:44] RoanKattouw: do you mind updating prototpyes as well? [23:48:55] i want to look into localization fixes later today [23:49:12] I'm not mean, it's voodoo; his hair is going to turn blue [23:49:26] nkomura: Will update prototypes rightaway [23:49:26] ha! [23:49:33] RoanKattouw: thanks [23:49:41] test too? [23:49:46] yes [23:54:45] guillom: aaaaaaaaaaaa [23:56:45] All done [23:56:51] New code deployed to test and prototypes [23:59:09] got it [23:59:58] TrevorParscal: Did you get my messages about how multiple undo is totally broken?