[00:14:23] TrevorParscal: you around? [00:14:30] indeed [00:14:33] how's it going? [00:14:39] eh [00:14:46] that good eh? [00:14:55] i had it working perfectly in firefox at one point today [00:15:22] but i've since regressed [00:15:49] that's never fun [00:15:55] mysterious regression? [00:16:07] i think there's some problems inherent in the approach i was taking [00:16:33] right now i'm saving properties of the selection range with every history state [00:16:39] how different of a solution are you now at compared to my naive implementation? [00:16:53] right on [00:16:57] well your implementation didn't deal with cursor position at all [00:17:09] i made some improvements to the main ideas of your code [00:17:36] which are working well, but the cursor position is the main problem i'm running into [00:18:08] yeah [00:18:19] how is the cursor position being stored? [00:18:35] cause the params to it are usually start container, end container, start offset, end offset [00:18:48] yep that's right [00:19:15] so i just noticed that the container text nodes seem to not get updated after the .html() call quickly enough [00:19:18] so the containers should become invalid after you changes states [00:19:36] they are references [00:19:43] to objects that essentially get deleted [00:19:54] hmmm well maybe that's it then [00:21:25] do you have more immediate thoughts on that? if not i'm going to quit staring at it for a while and go eat dinner [00:21:41] i'll check in with Roan in the morning and try to get it all working better then [00:22:21] adam_miller: I think we need to be able to get/set the cursor position based on character offset of the entire document [00:22:39] which is usually a very slow and undesireable way to do it, but it's going to be our best bet with this [00:23:07] essentially it requies traversing recursively through the entire document counting characters until you reach the start container / start offset [00:23:16] and getting or setting that position [00:23:38] might not be too complex, but it might end up being a slow function, depending [00:23:51] typically DOM traversal is fairly fast, modification is slow [00:25:14] hmm alright, i'll pick back up with that tomorrow. sound good? [00:25:31] awesome [00:25:37] thanks for your hard work on this [00:25:42] sure thing [00:25:44] have a good night [00:25:53] I know some of this behind the scenes functionality can be more frustrating [00:25:57] *night [01:05:15] mdale [01:05:22] yes [06:28:13] hi [06:28:23] is the api for toolbar stable now? [10:51:16] hi RoanKattouw [10:51:20] Hi Hannes [10:51:27] i cannot reach our wiki [10:51:28] can u? [10:51:33] Nope, seems to be down [10:51:56] shoot - I was about to save an article... [10:53:13] I am investigating which additional icons for the toolbar are used [10:53:32] do u know if there is a place to look at? [10:54:19] hmm commons is down, too [10:54:24] I ll do something else [10:54:26] Yes, everything is down [10:55:11] are you innocent roan? :P [10:56:23] Yeah I didn't do anythign [10:56:31] In fact there's nothing in the server admin log since last night [12:40:06] grah [12:40:24] that formatted pasting is really annoying. I can't even insert a copied link. [16:14:39] RoanKattouw: you around/ [16:14:51] just read your email from this morning [16:16:12] Yeah I'm here [16:19:45] adam_miller: Yes, I'm here [16:20:11] I'll be having dinner soon, but I'll be around till about 12:45 ET [16:20:12] sorry, got distracted :) [16:20:52] so i'm using setSelection right now, the problem is the nodes in my offsets no longer exist [16:21:07] morning [16:23:54] adam_miller: Try re-getting the offset object, or calling purgeOffsets() then regetting [16:24:10] Wait exactly which kind of offset are we talking about? [16:24:48] basically, i'm storing the parameters that setSelection expects along with history states [16:24:57] Right [16:25:13] is that what you mean by offset? [16:25:14] So ideally we'd have a function that tells us the current cursor position as a character offset [16:25:32] Cause then you could do setSelection() with start/endContainer set to null and start/end set to that offset [16:25:48] I'll hack that up after dinner [16:26:10] Forget what I said about offset objects, I was confused :) [16:26:32] alright, you grabbing dinner now? [16:26:57] I'm eating it already :D [16:26:59] i'll take my lunch accordingly so i can be around when you're working on that thing [16:27:04] oh haha [16:27:09] Code review plus pizza :) [16:27:11] well cary on [16:54:04] is it a known bug that copying from the editor to a windows app the newlines get doubled ? [16:54:23] Yes [16:54:46] ok, then I don't need to report it :) [16:55:06] that will be some nasty crlf issue [16:58:01] It's probably an issue with

wrapping, methinks [16:58:19] The HTML in the edit box is something like

Line 1

Line 2

... [17:27:41] yes, the

Line 1

Line 2

on a html document produce that effect [17:27:51] it also shows that way [17:27:58] you must be overriding it with CSS [17:28:10] I think we are, yeah [17:28:17] We originally just had foo
bar
baz [17:28:32] But pretty much all browsers that aren't called Firefox do real weird shit to that [17:28:42] :( [17:29:19] how is the user modifying that? [17:29:29] it looks like a widget, not like a web page [17:29:35] It's a content-editable iframe [17:31:44] content-editable? [17:31:59] how's that? it doesn't seem to have any special attribute [17:35:59] Platonides: iframe.contentWindow.document.designMode = 'on'; [17:36:48] interesting, I didn't know about it [17:43:38] hello Trevor [17:44:02] hi [17:51:58] adam_miller: I gotta run out now and my getCaretPosition implementation is far from finished unfortunately [17:52:05] I'll be back around 3pm ET [17:52:33] TrevorParscal: I have to run now, shall we do our Skype call at 1pm today? [17:53:02] yes [17:53:04] sounds great [17:53:07] OK [17:53:09] *RoanKattouw_away runs [18:50:14] parutron: yes [18:50:23] http://news.cnet.com/8301-17939_109-10451703-2.html?part=rss&tag=feed&subj=Webware&utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%253A+webware+%2528Webware.com%2529&utm_content=Google+Feedfetcher [19:54:45] is there a bugzilla admin in this room? [19:55:14] nkomura, depending on what you want to do, fred might be the one you're looking for [19:55:37] i need Windows 7 added to OS [19:55:55] i'll drop a note to priyanka [19:56:42] i tried to file a bug ticket, but i couldn't figure out where this kind of request belongs [19:56:57] not sure priyanka can do that [19:57:21] k [19:57:34] i'll email to Fred [19:58:32] ok, I just asked him on IRC but he's not at his desk right now [19:59:45] wait he's coming back [20:00:20] nkomura, he'll do it [20:00:29] great [20:00:49] nkomura: Wikimedia -> Bugzilla, for future reference [20:01:02] ah [20:01:18] i was looking at Mediawiki [20:01:33] MediaWiki = the software, operations issues go into Wikimedia [20:03:38] yes, sir [20:04:24] RoanKattouw: i just filed a new bug 22485 [20:05:22] japanese wikipedians were reporting the problem [20:05:25] i could not reproduce it [20:05:42] Hm [20:05:43] but i can reproduce it now [20:06:12] it only happens intermittently though [20:08:18] *RoanKattouw unfollows everyone on Google Buzz *sigh* [20:09:12] I just want to disable it [20:19:03] http://en.wikipedia.org/wiki/Wikipedia:Help_desk#Defaultsort.2Fredirect_cursor_location [20:19:11] IE bug with insert [20:21:32] hm, suspicious [20:22:12] i'll ask if these folks use the beta [20:35:13] nkomura: wikiEditor disables itself on IE6, so it's not surprising the problem doesn't occur there :) [20:37:37] are you referring to the most recent bug i submitted [20:37:46] ? [20:39:16] Yes [20:39:30] I guess the IE6 thing kinda confirms it's the iframe's fault [20:42:25] i couldn't reproduce the problem for a long time [20:42:39] but i can reproduce it this morning pretty easily [20:42:55] the problem was reported since after the release though [20:43:26] if ( !startOffset ) *facepalm*, offsets can be 0 of course [20:46:44] is this the right place to discuss a possible problem with the vector skin? [20:47:14] hi kju, yes it is [20:47:39] TrevorParscal who is the author of Vector is out for lunch though [20:47:55] it appears that the vector skin does not honor the content of MediaWiki:Article. in dewikinews we have renamed 'Seite' (Page) into 'Artikel' (Article). but when using the vector/beta skin, 'Seite' is displayed instead of 'Artikel' [20:48:04] Hm [20:50:31] it works on en.wp [20:50:49] default is "Content page", and both versions use "Article".... [20:52:09] Maybe Vector uses a different message? Although I can't see why it'd do that [20:52:27] Or enwiki uses a JS hack [20:53:02] no, works without js as well [20:53:11] Hm [20:53:15] *RoanKattouw waits for TrevorParscal [20:53:34] but you can see for yourself that it does not work on dewikinews. [20:54:10] RoanKattouw, he's at MacWorld with all the others [20:54:25] *RoanKattouw hopes TrevorParscal remembers he has a Skype call scheduled in 6 mins [20:54:30] MediaWiki:vector-namespace-main [20:54:33] there you go [20:54:51] why does it need its own setting? [20:55:10] no idea. [20:55:13] So you can actually set it per namespace? [20:55:25] but thanks, fixed it [20:55:26] Presumably vector-namespace-project would also be supported [20:55:34] Oh wait, Monobook has nstab-project [20:55:48] http://en.wikipedia.org/w/index.php?title=Special%3AAllMessages&prefix=vector&filter=all&lang=en&limit=5000 [20:55:53] adam_miller: I just committed a context.fn.getCaretPosition() function [20:56:04] i'll take a look [20:56:15] adam_miller: It returns [startPos, endPos] as character offsets in the document, suitable for feeding back to setSelection() with start/endContainer set to null [20:56:28] ok, so tnx for pointing this out. [20:56:33] Only tested on Firefox, but you're probably not gonna use it on IE anyway [20:56:40] You'll probably wanna test it on Webkit though [20:56:43] RoanKattouw: sounds perfect [20:57:44] bye [21:06:37] guillom: Any idea when the folks at MacWorld will come back? [21:07:04] RoanKattouw, nimish_g is back, he can probably tell you [21:07:06] nkomura: Do you want me to look into setting up automatic daily optin stats generation? [21:07:17] Oh he did come to the office today? [21:07:24] haha yeah, I did [21:07:34] How much sleep did you get? :) [21:07:50] I went to MacWorld for a while and then remembered I hate computer expos [21:08:04] I got a good...5 or 6 hours [21:08:59] Right so you're like just awake :D [21:09:48] yeah, mostly. The textarea thing didn't work the way it should've [21:11:01] so the good news is the weird line break thing is being caused by the whitespace: pre-wrap CSS rule but there's some more weirdness to it [21:29:09] RoanKattouw: yes, i wanted to send you email about daily opt-in/out stats [21:29:19] OK [21:29:33] we can now see NTOC and dialogues right? [21:29:37] Yeah that too [21:29:44] So I'll modify my script for those [21:30:12] if you can start from Feb1 till today [21:30:16] that'll be helpful [21:30:21] Then schedule it to run every day at 4:15 pm PT (15 minutes past midnight UTC), which a cutoff date of midnight UTC [21:30:25] i want to include a few days before the release [21:30:34] that's fine [21:30:37] And retroactive stats from Feb 1, got it [21:30:44] no need to change the cut-off time [21:31:38] The cut-off time was always midnight UTC [21:32:15] But I'd like to run the script a few minutes after midnight UTC because I'm paranoid [21:35:27] RoanKattouw: interesting commit [21:35:33] I might need some help making it better though [21:35:42] that one! [21:35:48] *RoanKattouw looks [21:36:06] *RoanKattouw gently reminds TrevorParscal he has a Skype call -35 minutes from now [21:36:21] sorry [21:36:30] was waiting for people @ macworld [21:36:34] *TrevorParscal gets conference room [21:36:35] Yeah I heard [21:36:47] No rush, lemme look at that diff first [21:37:07] k [21:37:19] this fixes the random new lines in pasted text [21:37:35] it turns out that was a side-effect of the white-space parameter of the body being pre-wrap [21:37:35] adam_miller is working on restoring the selection, I just helped him by implementing getCaretPosition() for Firefox [21:37:41] Yeah Nimish said that [21:37:47] uh hu [21:37:52] *RoanKattouw respects Nimish for staying up coding till 4:15 [21:38:04] :) [21:38:16] ... and coming into the office the next day [21:38:25] ha ha ha [21:38:57] brb - bathroom break [21:39:53] RoanKattouw: UPDATE - it's working almost perfectly now, but the caret gets positioned on a br node under certain conditions preventing you from adding more text until you move the caret backwards [21:40:32] specifically when we're placing the caret at the end of the text [21:43:02] TrevorParscal: context.$content.html( context.$content.html().replace( /\n/g, '' ) ); [21:43:04] *RoanKattouw cries [21:43:42] I know we can do better than that [21:43:45] but it worked [21:43:58] we need to traverse all text nodes and removes \n from them [21:44:04] instead :) [21:44:14] let's talk about it in a call - one sec [21:44:23] Yeah [21:44:28] I gotta take a bathroom break now [21:44:32] Submitting a CR [21:46:32] let me know when you've got skype open and ready to go [21:46:39] adam_miller: how's it going? [21:47:18] TrevorParscal_: great now that roan committed getCaretSelection [21:47:40] awesome [21:47:40] see my last two messages above for the final thing i'm working on [21:47:46] k [21:48:04] ah - i see [21:48:51] RoanKattouw: what is your availability tomorrow? [21:49:52] nkomura: Pretty good, but LOST airs tomorrow and I still have to watch the previous episode as well :) [21:50:05] :D [21:50:37] I'll probably watch the first ep in the very early morning PT, and tomorrow's airs at 1:20, so I'll be around in the morning at least [21:50:53] i'm thinking to run the QA for the fixes you guys whipped up tonight and deploy it early in the morning if there are no outstanding issues [21:51:06] k [21:51:07] Early in whose morning? :) [21:51:09] sounds good [21:51:15] our morning [21:51:24] *RoanKattouw is probably complicit in the confusion by always talking about times in PT [21:51:26] KO [21:51:31] Yeah I'll be around for that [21:51:36] k [21:51:37] *TrevorParscal is in a conference room ready to skype [21:51:44] *RoanKattouw fires up Skype, grabs headphones [21:56:03] *TrevorParscal doesn't see roan on skype [21:56:10] nevermind [22:22:53] *RoanKattouw glares at Skype [22:23:52] TrevorParscal: You should ask for Ethernet cables in meeting rooms (or at least one of them) [22:38:49] TrevorParscal and RoanKattouw are y'all talking about the cursor movement stuff? [22:39:05] nimish_g: Look at the recent commits :) [22:39:09] no, just finishing the paste stuff [22:39:12] well, just did [22:39:18] Oh right that yeah [22:39:23] we got it so we don't have to restore the cursor anymore [22:42:28] just saw it. nice use of traversing =) [23:16:49] nimish_g: the per-module browser support map is working now [23:16:54] feel free to update [23:17:03] I've setup a basic map for templateEditor [23:17:27] TrevorParscal: can i commit some of this stuff? even though it's not exactly right? [23:17:41] what's not right about it? [23:17:45] like, something you need help on? [23:17:49] yeah one thing [23:17:53] i do it all the time [23:17:58] but it might get marked fixme [23:18:05] yeahwell [23:18:11] s/might/will [23:18:20] better than me sitting on a large diff for the third day in a row right? [23:18:33] for sure [23:18:35] do it! [23:33:38] TrevorParscal: did it. [23:34:15] you can see the br problem i'm talking about by putting your cursor at the end of a line of text, deleting some characters, then undoing it and trying to type [23:35:24] only seems to affect firefox though [23:35:35] safari is fine [23:51:59] adam_miller: I don't see anything [23:52:10] what's the behavior you're getting? [23:52:25] i type, and nothing happens [23:52:51] i can use the arrow keys, and the backspace key, but can't insert anything until i move the cursor [23:55:05] hm, I might be doing it different b/c I don't see it...I'll watch the BRs [23:57:21] nimish_g: i was calling it the BR problem because the caret gets positioned by a BR node. it appears like it's just being placed at the end of a line of text but then you can't type [23:58:34] does it happen with the NTOC turned off? [23:59:31] we have a few traversal/parsing issues I was gonna sit down with Roan and look at over the next few days including the jumping cursor problem. I'm hoping/assuming this is related