[02:20:46] 10VisualEditor: Visual Editor save dialog hangs, causing data loss - https://phabricator.wikimedia.org/T91949#1099444 (10LuisVilla) 3NEW [02:30:14] 10VisualEditor: Visual Editor save dialog hangs, causing data loss - https://phabricator.wikimedia.org/T91949#1099453 (10Krenair) What was the error shown in the console? [06:18:20] (03CR) 10Mattflaschen: [C: 04-1] "I reviewed it in detail again, so please refrain from changing things that are not mentioned in the comments." (038 comments) [extensions/WikiEditor] - 10https://gerrit.wikimedia.org/r/189333 (owner: 10Paladox) [06:45:54] 10VisualEditor, 10VisualEditor-MediaWiki-Links, 7Design, 3VisualEditor 2014/15 Q3 blockers: Search interface for link dialogue - https://phabricator.wikimedia.org/T76397#1099535 (10santhosh) Content Translation also need this component to enhance our link adaptation features, also for providing a better so... [07:43:28] 10OOjs-UI, 10UI-Standardization, 7Design: Document tipsy - https://phabricator.wikimedia.org/T91856#1099575 (10Pginer-WMF) @violetto yes, tooltips are used in different pats of Flow such as the indication that you are anonymous at the reply form or the description of the "edit header" icon. [07:59:05] 10OOjs-UI, 10UI-Standardization, 7Design: PopupButtonWidget should be shown at hover not on-click. - https://phabricator.wikimedia.org/T88630#1099576 (10Pginer-WMF) Another aspect to take into account is we support hover to show/hide those is to be careful not to accidentally hide them while the user is movi... [09:49:29] edsanders: Actually my commit asserts that it should be B), while right now we make a half-assed attempt to do A) [09:49:49] edsanders: Full rant + fix: https://gerrit.wikimedia.org/r/194980 [11:20:26] Is there a way to insert code from the toolbar? [11:20:59] Ve parses existing syntaxhighlight codes perfectly, but I can't seem to insert a new one from the toolbar [11:37:03] RagBal: Yeah unfortunately you can't insert a new one right now :( [11:41:40] Last year a Google Summer of Code student worked on a tool to insert those and edit them more nicely, but that code wasn't quite finished and never ended up getting more love [11:45:00] RagBal, you can copy and paste them though [11:45:29] RoanKattouw, should we throw an exception if someone tries to apply such a transaction? [11:49:36] edsanders: I'm not too convinced we should [11:49:52] I mean what ends up happening may or may not be what you expect [11:50:23] But I think taking the replacement literally (without applying annotations to the inserted content) is more consistent than the alternative [11:50:41] (because otherwise you get unclean reverts and stuff) [11:51:10] I guess this also means that transaction composition isn't completely trivial [11:51:30] If you have a replace transaction followed by an annotate transaction, you could compose them into one transaction trivially [11:51:49] But if they're ordered the other way around, the composition logic would have to be a bit cleverer [11:52:45] However, 1) if you choose the other behavior, you just swap which one is weird, and 2) this is in a hypothetical case where we even care about transaction composition [11:53:16] RoanKattouw, edsanders, thanks for the clarification [11:55:00] Also, it seems like sometimes the tags won't get picked up by ve [11:55:22] RagBal: :O when does that happen? [11:55:37] After some refreshes they magickly appear [11:55:55] Perhaps cache, let me test it in incognito [11:56:50] Nope, not cache =( [11:58:06] RoanKattouw, I can't seem to find a logical routine in which they do and don't appear [11:59:56] I'm using MW 1.24.1 with VE REL1_24, ULS REL1_24 and syntaxhighlight REL1_24 [12:02:58] Odd [12:03:10] What does it look like when it doesn't work? Are they just not there at all? [12:11:12] It displays the text like: code blablabla [12:11:59] hah [12:12:03] That's... probably a Parsoid issue? [12:12:05] Not one syntaxhighlight is parsed on the page, all show the open and closing tag with the code between them [12:12:14] But still very werid [12:12:48] I'm using the master branch of parsoid [12:13:31] v0.10.36 node [12:15:15] WTF, why are my tests passing [12:19:52] RagBal: I have never seen that issue before and I don't know what would cause it [12:20:01] RagBal: Is your wiki publicly accessible? [12:20:42] RoanKattouw, nope private [12:21:53] Then I can't help you figure out what's going on, sorry :( [12:23:42] Is there any way to enable debug logs or something? [12:24:28] (03PS1) 10Catrope: When replacing e.g. heading1 with heading2, use attribute changes [VisualEditor/VisualEditor] - 10https://gerrit.wikimedia.org/r/195242 [12:25:13] RagBal: This is so far outside of the realm of issues I've heard of that I don't even know where to start [12:25:21] I'd have to poke at the actual wiki directly [12:27:01] RoanKattouw, let me check if the problems also occur in my private wiki, no secret stuff there that you aren't allowed to see =) [12:38:24] (03CR) 10Esanders: [C: 032] Queue linear model modifications in TransactionProcessor [VisualEditor/VisualEditor] - 10https://gerrit.wikimedia.org/r/194981 (owner: 10Catrope) [12:38:33] (03CR) 10Esanders: [C: 032] Remove unnecessary support for nesting annotation and replace operations [VisualEditor/VisualEditor] - 10https://gerrit.wikimedia.org/r/194980 (owner: 10Catrope) [12:39:40] (03CR) 10Catrope: "Duplicate of https://gerrit.wikimedia.org/r/195236 and related stack. This is what happens when the IRC bot breaks :(" [VisualEditor/VisualEditor] - 10https://gerrit.wikimedia.org/r/195228 (https://phabricator.wikimedia.org/T91831) (owner: 10Esanders) [12:39:56] (03CR) 10Esanders: [C: 032] Factor attribute setting code into ElementLinearData [VisualEditor/VisualEditor] - 10https://gerrit.wikimedia.org/r/194977 (owner: 10Catrope) [12:42:23] (03Merged) 10jenkins-bot: Factor attribute setting code into ElementLinearData [VisualEditor/VisualEditor] - 10https://gerrit.wikimedia.org/r/194977 (owner: 10Catrope) [12:42:45] (03Merged) 10jenkins-bot: Move ve.dm.Document#spliceMetadata to dm.MetaLinearData [VisualEditor/VisualEditor] - 10https://gerrit.wikimedia.org/r/194978 (owner: 10Catrope) [12:42:47] (03Merged) 10jenkins-bot: Remove unused variables in dm.TransactionProcessor#applyAnnotations [VisualEditor/VisualEditor] - 10https://gerrit.wikimedia.org/r/194979 (owner: 10Catrope) [12:42:51] (03Merged) 10jenkins-bot: Remove unnecessary support for nesting annotation and replace operations [VisualEditor/VisualEditor] - 10https://gerrit.wikimedia.org/r/194980 (owner: 10Catrope) [12:42:53] (03Merged) 10jenkins-bot: Queue linear model modifications in TransactionProcessor [VisualEditor/VisualEditor] - 10https://gerrit.wikimedia.org/r/194981 (owner: 10Catrope) [12:44:51] (03CR) 10Catrope: [C: 04-1] Create CE view initialization event for when $element is created (034 comments) [VisualEditor/VisualEditor] - 10https://gerrit.wikimedia.org/r/195228 (https://phabricator.wikimedia.org/T91831) (owner: 10Esanders) [12:46:16] edsanders: Looks like we both came up with our own solution for the initialize thing [12:46:19] And grrrit-wm was broken so it didn't notify us :| [12:46:57] hm [12:50:18] RoanKattouw, your fix only works for original dom elements? [12:50:33] My fix for what? [12:51:11] Headings? [12:51:11] initialize [12:51:12] Ahm I don't understand the question [12:51:12] https://gerrit.wikimedia.org/r/#/c/195238/1/src/ce/ve.ce.View.js [12:51:39] if I change the colspan, then convert td to th [12:51:52] where is the correct colspan re-applied? [12:52:05] ce.TableCellNode#initialize [12:52:35] oh, I see the parent commit [12:52:42] I deliberately submitted this change separately from the rest of the initialize stuff because I felt like there was probably some pitfall somewhere that I was missing [12:52:44] so I did an initialize method first [12:52:49] but how does that work with mixins? [12:52:55] Yeah it doesn't :S [12:53:00] Hence my comment on your change [12:53:22] OTOH, a method can just be called in the ce.View constructor whereas for an event that doesn't work because there are no listeners yet [12:53:32] Presumably that's why you put the emit call in NodeFactory [12:55:14] I guess we could have both the FocusableNode constructor and onFocusableSetup call initializeFocusable() ? [12:55:14] (We can't define ve.ce.FocusableNode.prototype.initialize because there's already an initialize in the class it's being mixed into) [12:56:47] (03CR) 10Jdlrobson: [C: 032] Remove half-baked touch event handling [oojs/ui] - 10https://gerrit.wikimedia.org/r/195067 (https://phabricator.wikimedia.org/T87818) (owner: 10Bartosz Dziewoński) [13:05:46] (03CR) 10Catrope: "recheck" [extensions/VisualEditor] - 10https://gerrit.wikimedia.org/r/195223 (owner: 10Catrope) [13:06:06] RoanKattouw, yes, the old problem of not being able to do something after construction [13:06:36] I think we do setup and teardown as events for this reason, so we should probably stick with it? [13:07:35] But they happen significantly later, after attachment [13:07:44] Not immediately upon construction [13:09:57] (03CR) 10Esanders: Create CE view initialization event for when $element is created (032 comments) [VisualEditor/VisualEditor] - 10https://gerrit.wikimedia.org/r/195228 (https://phabricator.wikimedia.org/T91831) (owner: 10Esanders) [13:10:16] (03PS2) 10Esanders: Create CE view initialization event for when $element is created [VisualEditor/VisualEditor] - 10https://gerrit.wikimedia.org/r/195228 (https://phabricator.wikimedia.org/T91831) [13:12:33] (03CR) 10Esanders: "FIXME: This breaks the positioning of the table context." [VisualEditor/VisualEditor] - 10https://gerrit.wikimedia.org/r/194420 (owner: 10Jforrester) [13:28:24] (03PS1) 10Esanders: Fix margins of indicators in table context [VisualEditor/VisualEditor] - 10https://gerrit.wikimedia.org/r/195252 [13:34:41] Krinkle|detached: https://phabricator.wikimedia.org/T91968 [13:35:21] Also our merge pipeline is broken, we can't merge anything in VE-MW right now. It's because of https://phabricator.wikimedia.org/T91967 in Flow, I'll bug the relevant people as soon as they wake up [13:53:22] Morning all [13:53:50] gi11es rightly told me to not create an interface from scratch because it's in OOUI, but I'm wondering now what I should try to fix myself and what I should try to get into the library [13:54:44] Which interface? [13:55:07] I have a PopupButtonWidget that 1. is restyling my $button element unexpectedly, 2. has neither background colour nor border, making it impossible to distinguish from the rest of the page, and 3. the arrow seems like it's formatted wrong, but that may be the lack of border and background. [13:56:19] Interesting [13:56:47] marktraceur: Is this in an MMV commit in Gerrit somewhere that I can download and poke at? [13:56:59] RoanKattouw: For the button styling, I really didn't want it to *be* a button, but I did want the link to be the origin, I saw no other way to do that [13:57:07] RoanKattouw: Not MMV, core, plus pdfhandler if you want a demo [13:57:18] Let me upload the OOUI version that is broken. [13:57:18] Oh core OK [13:57:24] Cool [13:57:44] I'll probably just try to jank out a minimal breaking example from your code into an OOUI sandbox [13:57:48] Speaking of, we need a real OOUI sandbox [13:57:55] Sure. [13:58:01] RoanKattouw: https://gerrit.wikimedia.org/r/194565 [13:58:36] The hovering thing isn't working yet because I haven't gotten 'round to it - maybe the answer here is a new "PopupHoverWidget" class that doesn't restyle the element you tell it to aim at [13:59:24] RoanKattouw: FYI, pginer made us a mockup... [13:59:25] https://phab.wmfusercontent.org/file/data/mvdjj6ioz54w4f7mep2o/PHID-FILE-nhpfn2ujb6ohslyfgsxq/hecj5ynbh5lynwtp/pdf-warning.png [14:00:05] marktraceur: That link is dead and broken [14:00:22] Oh wait no [14:00:31] Oh, yeah, it is. [14:00:32] I'm supposed to be looking at a diagram of someone's house :D [14:00:51] Well. Something like that, yes. [14:01:08] Yeah for a popup that opens on hover rather than click, talk to MatmaRex and/or TrevorP|Away [14:01:41] * marktraceur will wait patiently for an opportunity to do so. [14:01:56] I imagine .hover( function () { dialog.open(); } ) won't be too hard. [14:02:01] Hmm [14:02:07] How do I reproduce this with PdfHandler? [14:02:18] I was gonna use a sandbox but there's too much MW-specific stuff going on [14:02:20] There's a linked patchset in the core commit summary... [14:02:37] https://gerrit.wikimedia.org/r/194564 [14:02:47] Oh, oops, that's the stupid wmf15 mistake I made. [14:02:48] Which is abandoned :O [14:03:00] Oh I found the other one [14:04:50] OK, so I have that PdfHandler patchset [14:04:55] Now do I have to upload a PDF to my wiki? [14:05:04] Ah, yes. [14:05:17] Then the file page should have the warning on it. [14:07:00] OK I see [14:07:11] The button looks very button-y, and the popup's styling is totally broken [14:07:15] Yup. [14:07:24] Hence my stumbling in here. [14:07:54] I'm 80% sure that my very few style rules are not interfering with the popup. [14:08:11] And the button thing, well, I can fix that on my own but I wasn't sure if I should do it as an ooui patch. [14:08:24] Oh I see [14:08:33] You're not meant to use content with popups, probably [14:09:20] Also where the hell is config.content even defined :O [14:09:36] Oh it's in Element [14:09:39] I thought that was $content ! [14:10:06] Oh brilliant [14:10:11] There's both config.content and config.$content [14:10:24] PopupWidget correctly mangles config.$content to compensate for the strange things it does [14:10:37] But config.content was introduced later, and PopupWidget wasn't updated for that [14:11:55] Ah, so I should use $content perhaps? [14:13:24] Yes [14:13:28] Amendment inbound [14:13:39] (Because $content only takes a jQuery object, not an array of jQuery objects :S ) [14:13:56] OK, updated [14:13:57] Right. [14:14:00] That fixes the background issue [14:14:13] Could you file a bug about the content vs $content thing? [14:14:16] Sure! [14:14:40] Hm. [14:14:53] There are two problems there: PopupWidget doesn't mangle content, only $content, and 2) the way it does its mangling is hideous [14:15:10] RoanKattouw: Also, $info and $footer aren't showing up now [14:15:12] Like, it reimplements $content but differently (requires config.$content instanceof jQuery while the base class is more liberal) [14:15:28] Oh, hmm [14:15:30] They aren't in the div. [14:15:50] .add takes an array, or only one element, maybe? [14:15:56] Is that because I'm incompetent and don't know how .add() works? [14:16:13] Yeah that's it [14:16:15] Thanks jQuery [14:16:17] Could be, I won't tell anyone if you don't :) [14:17:05] haha [14:17:23] marktraceur: Yeah you can't do $foo.add( $bar, $baz, $quux ) you have to do $foo.add( $bar ).add( $baz ).add( $quux ) [14:17:34] My fault for assuming jQuery was helpful [14:17:41] So $content: $header.add( $main, $info, $footer ) doesn't work [14:17:58] Yup, I can fix that [14:18:08] Thanks [14:18:24] (Realistically what might be better is to create a wrapper, stick all your stuff into that wrapper, and pass that wrapper into $content ) [14:18:58] Might, yes [14:19:34] Also the border goes away if you pass framed: false (in the top-level config object, i.e. the button's not the popup's) [14:19:56] Weird. [14:20:00] That does result in the text getting misaligned unfortunately, but I'm guessing that's probably a bug in OOUI [14:21:09] OK, so next up: button-y link [14:21:24] Yeah that's what that is [14:21:32] framed: false gives you a frameless button which is basically a button-y link [14:21:37] Or a link-like button or whatever you wanna call it [14:21:38] Oh! [14:21:45] I thought you meant the border on the dialog [14:21:51] Sorry, reading comprehension [14:21:53] Oh, sorry [14:21:55] My bad [14:22:08] It's a popup BTW, a dialog is something different in OOUI parlance (dialogs are modal) [14:22:12] Right [14:22:19] * marktraceur will attempt to alter behaviour [14:22:32] Oh man, that's great [14:22:41] I'd guess the alignment is somehow related to the icon I added [14:22:45] Also you should not have to insert the icon yourself [14:22:53] Yeah I'm guessing your CSS is screwing that up somehow [14:23:02] But if you inspect the button you'll see icon and indicator spans [14:23:15] I guess I can just stick it in there, yeah [14:23:21] This was from before I was using ooui [14:24:54] RoanKattouw: Hm, pginer seemed to want it to be orange though, can I somehow use the custom icon? [14:25:02] * marktraceur reads through icon docs [14:27:45] marktraceur: Sorry, computer rebooted [14:27:47] So I tried removing your CSS and setting indicator: 'alert' [14:27:50] And exposed a wonderful bug in OOUI where the indicator overlaps with the label, oops [14:27:56] Heh [14:28:08] I set "icon: 'alert'" and it seems fine [14:28:10] But not orange [14:28:20] Wow this shit is seriously broken [14:28:26] Somewhere, a single tear is rolling down pginer's cheek. [14:28:29] Icons are supposed to be to the left of the label, not to the right [14:28:33] Oh. [14:28:39] Well, in this case it's what I wanted [14:28:39] But somehow in frameless PopupButtonWidgets they're to the right?! [14:29:04] * marktraceur gives RoanKattouw leave to call it a feature [14:29:06] Oh no I see why [14:29:13] You're not using the label feature correctly [14:29:29] ...oh? [14:29:44] Oh, right, I dump an existing element in [14:29:50] Hmm and when I try to do it correctly it breaks :D [14:29:59] Doing things correctly is overrated. [14:31:17] Hmm [14:31:47] OK here we go [14:31:54] Apparently what you needed was label: $mimetype [14:32:00] As opposed to $button: $mimetype [14:32:02] Ah. [14:32:11] Semantics. [14:32:17] Yeah [14:32:23] I tried $label: $mimetype first and that exploded even worse [14:32:46] But then I realized that passing in a jQuery object for $label vs label means something very different [14:32:52] Ah. [14:33:07] Shall I amend? [14:33:11] Yeah go for it [14:33:32] You probably also want framed: false, and either one of icon: 'alert' or indicator: 'alert' [14:33:39] Yup [14:33:56] As for making it yellow, that should be a simple matter of coming up with a new flag ('warning' perhaps) [14:34:21] Define "simple" [14:34:22] The only thing that sucks is that currently I don't believe we are able to define custom flags on core icons, so it'd have to be added to OOUI itself [14:34:29] Ah, fun. [14:34:45] Simple as in a simple change to the JSON file that describes the icons and indicators [14:34:50] Oh, sure. [14:35:08] Except that we'd like to be able to do that in MW but for now have to do that in OOUI [14:35:17] Because we don't yet have full-matrix extensibility [14:36:01] Hello lovely people. [14:36:26] RoanKattouw: So shall I add this to ooui or wait for core? [14:37:00] marktraceur: Add it to OOUI [14:37:14] Don't bother waiting for us to get our extensibility act together, that'll take a while [14:37:15] 'kay [14:37:32] oojs/ui/src/themes/mediawiki/images.json [14:37:44] Should be fairly self-explanatory, use 'destructive' as an example [14:39:17] (03PS1) 10MarkTraceur: Add warning icon to MediaWiki set [oojs/ui] - 10https://gerrit.wikimedia.org/r/195257 [14:39:27] RoanKattouw: Sorry, were you still talking? :P [14:39:40] Oh, ahm, sorry [14:39:45] I might not be able to find what I want in ooui documentation, but I can damn sure grep [14:40:31] I can probably add it to the mediawiki/core.git copy temporarily? [14:40:31] marktraceur: Is that the one we have in VE or a new one? [14:40:39] James_F: Uh [14:40:41] marktraceur: Locally? [14:40:44] I think new. It's orangey. [14:40:45] The thing is [14:40:56] It's basically the same as alert.svg except with a different color scheme [14:41:02] marktraceur: That colour isn't in theme. [14:41:07] (And also different dimensions than everything else) [14:41:14] I tend to listen to our designer on design questions [14:41:15] marktraceur: You're going to have to get Pau to get Design to alter the theme. [14:41:22] * marktraceur sighs, will do [14:41:26] marktraceur: Sure. And I listen to WMF's, who've said no new colours. [14:41:28] marktraceur: We have programmatic ways to apply colors to icons/indicators, all the base versions are black [14:41:49] Oh. [14:41:50] That's what I meant when I said "use 'destructive' as an example" [14:41:51] OOjs UI is designed to make it hard to randomly add an off-theme icon. [14:42:00] I was not being remotely clear enough, sorry [14:42:21] RoanKattouw: Use the excuse that it's early. ;-) marktraceur doesn't need to know you're in Europe! [14:43:02] What I wanted you to do was add a new flag 'warning' which applies a yellow color, and have alert be able to take that flag [14:43:07] Then apply that flag to your button [14:43:26] Yup, sounds much better anyway [14:43:35] And as James said, on the way that commit will probably be embroiled in some sort of scandal about adding a new color [14:44:24] Of course. [14:44:50] But if you apply { icon: 'alert', flags: ['warning'] } (or indicator, depending on which of the two images you want, whether you want it to be on the left or right, and what size you want it to be), then it'll start out being black, and if and when 'warning' starts being mapped to a yellow color in OOUI, it'll automatically change from black to yellow [14:44:57] (03PS2) 10MarkTraceur: Add warning variant to MediaWiki set [oojs/ui] - 10https://gerrit.wikimedia.org/r/195257 [14:45:04] Variant, right [14:45:08] That's the word I was looking for [14:45:22] :) [14:45:29] We figured it out eventually! [14:45:32] (03CR) 10Jforrester: [C: 04-1] "Need to add to demos too." [oojs/ui] - 10https://gerrit.wikimedia.org/r/195257 (owner: 10MarkTraceur) [14:45:42] I'll warn Pau about the possible embroilment [14:45:57] marktraceur: It's May and Jared who "own" the design, FWIW. [14:46:04] marktraceur: Ugh and because our code sucks you also need to update getElementClasses in MediaWikiTheme.js [14:48:29] AOK! [14:48:41] Sigh, this is what I get for committing early and committing often [14:48:53] I have to change the modification queueing system I wrote on Friday that Ed merged a few hours ago :S [14:48:56] marktraceur: Also, build it to proove that it works. [14:48:59] Oh well [14:49:10] RoanKattouw: Whoops. [14:49:22] Turns out I need my modifications to be reversible [14:49:35] So maybe they shouldn't directly map to ElementLinearData/MetaLinearData methods [14:50:03] James_F: Build what now? [14:50:10] marktraceur: OOjs UI. [14:50:22] marktraceur: `npm install && npm build` [14:50:37] marktraceur: Then inspect /dist to check that the icon you want really does get created in orange. [14:51:42] Oh, sure. [14:51:59] James_F: Also, add it to demos how? There's no variant demo that I can see so far. [14:52:10] Yeah there's no variant demo :( [14:52:14] * RoanKattouw blames TrevorP|Away [14:52:18] marktraceur: Good point. [14:52:26] There are some stray varianted icons in the widgets demo [14:52:28] That's actually meant to be fixed by "my" icon patch. [14:52:31] You could add one there [14:52:34] RoanKattouw: Eww. [14:52:55] James_F: That's what TrevorP|Away did when I forced him to prove the variants stuff worked in the demo [14:53:01] Least effort required [14:53:11] RoanKattouw: Clearly. :-) [14:55:42] Hm. [14:56:17] Oh, it worked. Sweet. [14:56:28] (03PS3) 10MarkTraceur: Add warning variant to MediaWiki set [oojs/ui] - 10https://gerrit.wikimedia.org/r/195257 [14:56:34] eog scared me for a sec [14:56:42] RoanKattouw: Can https://gerrit.wikimedia.org/r/#/c/195222 ("also restore rowspan and colspan on TableCellNodes") likely be trivially cherry-picked? It's a wmf20 regression. [14:56:51] marktraceur: eog? [14:57:14] marktraceur: You probably need to put the variant stuff into the PHP code as well as JS. [14:57:15] Eye Of Gnome, the default image viewer [14:57:20] marktraceur: Just to be super-unhelpful. [14:57:30] Oh, does it suck? [14:57:37] For SVGs, apparently yes. [14:57:46] It showed me black and misformed. [14:57:59] Fun. [14:58:09] marktraceur: MatmaRex is the export. [14:58:12] Err. Expert. [14:58:19] hm? [14:58:51] James_F: Are you sure it's wmf20? [14:59:00] (03PS4) 10MarkTraceur: Add warning variant to MediaWiki set [oojs/ui] - 10https://gerrit.wikimedia.org/r/195257 [14:59:10] James_F: https://gerrit.wikimedia.org/r/#/c/193813/ says Included In: master [14:59:14] Oh, meh, it's lib/ve [14:59:18] RoanKattouw: The bug says wmf20. [14:59:18] what is the question? [14:59:20] that means that's inaccurate, nm [14:59:21] MatmaRex: I was about to ask you about PopupButtonWidgets appearing on hover. [14:59:29] RoanKattouw seems to think you have the magic bullet. [14:59:40] MatmaRex: marktraceur wants to add a new colour to the MediaWiki theme for icon variants. [14:59:54] Also that, but less urgent from my standpoint that we deal with that [14:59:58] James_F: You're right, it's wmf20, and yes, it can be trivially cherry-picked, that's why I split it out [15:00:02] eww. [15:00:07] MatmaRex: Inorite. [15:00:07] why? [15:00:09] RoanKattouw: Cool. [15:00:17] It's *not my idea* [15:00:17] MatmaRex: Because the designers don't talk to each other. [15:00:25] dude. [15:00:30] Talking is overrated [15:00:34] :-) [15:00:38] edsanders: Could you merge https://gerrit.wikimedia.org/r/#/c/195222 which is the minimally invasive fix for the colspan regression so that it can be backported? [15:00:59] Apparently MatmaRex didn't even. [15:01:28] James_F: grrrit-wm broke for an hour or so this afternoon, and apparently Ed and I are so reliant on it that we both independently wrote basically the same code but with different approaches and didn't notice until much later [15:01:46] RoanKattouw: I saw. :-) [15:02:28] (sorry, got disconnected) [15:03:23] RoanKattouw: Where's the script for creating wmf branches? Adding VE core would help. [15:04:22] RoanKattouw: We'd have to check it was pulled through already, but… [15:04:47] Yeah maybe [15:04:54] Actually no, we can do that cleverly [15:05:07] At the time ext/VE is branched, check what its submodule points to, and tag/branch that [15:05:20] Well, sure. [15:05:26] But that's much more work. :-) [15:06:47] Not really [15:07:15] Find me the script that creates the existing extension wmf branches and I can do it in like 10 mins [15:08:38] RoanKattouw: Searching for "wmf branch .sh" didn't find me anything. [15:08:57] RoanKattouw: Didn't you write this script, or was it a Reedy invention post-you? [15:09:17] Well after my time [15:09:20] It was a Reedy invention [15:09:34] Ah. [15:11:07] Aha. [15:11:16] RoanKattouw: https://github.com/wikimedia/mediawiki-tools-release/blob/HEAD/make-wmf-branch/make-wmf-branch [15:11:37] RoanKattouw: It's in PHP, because obviously that makes sense. [15:13:29] Right [15:15:47] (03CR) 10Jforrester: [C: 04-1] "Fixes the horizontal one (for columns) but not the vertical one (for rows): https://imgur.com/MgTE86c" [VisualEditor/VisualEditor] - 10https://gerrit.wikimedia.org/r/195252 (owner: 10Esanders) [15:20:39] hello editor-builders [15:20:47] if I futz with parsoid on betalabs over the next few days [15:20:50] am I going to be shot at? [15:21:22] What are you gonna be futzing with? [15:21:38] I mean if you break Parsoid, people will be upset, especially on Tuesdays and Wednesdays [15:21:45] YuviPanda: possibly. if it's going to be down, let us know in #wikimedia-releng [15:22:04] (03PS27) 10Paladox: Convert .css to .less [extensions/WikiEditor] - 10https://gerrit.wikimedia.org/r/189333 [15:22:14] YuviPanda: and yeah, Thu and Fri are better futzing days [15:22:20] RoanKattouw: https://gerrit.wikimedia.org/r/#/c/193082/ basically. [15:22:33] RoanKattouw: because the prod / beta parsoid roles had become wildly different for strange purposes. [15:22:41] chrismcmahon: RoanKattouw alright. I shall not futz with it until Thursday. [15:23:28] RoanKattouw: it’s the last ::beta role :) [15:23:33] RoanKattouw: BTW, added a wmf20 branch for VE core. [15:23:47] YuviPanda: Oh dear God I'm so happy that's getting cleaned up [15:24:01] That should make Parsoid in beta break much less often [15:24:21] RoanKattouw: I’ve basically spent a month and a half getting rid of every ::beta or $::realm == ‘labs’ branch... [15:24:27] at least in our core stack [15:24:32] parsoid is the last ‘terrible’ one. [15:24:55] YuviPanda: you rawk. thanks. [15:25:29] RoanKattouw: do you know if jenkins based parsoid deploys work at all? [15:25:30] James_F: pginer linked me to https://trello.com/c/IRqbu8p4/15-color-swatches which has the colour I used. [15:25:43] RoanKattouw: oooh, adn do you know anything about how parsoid picsk which config file to use? (labs vs prod) [15:25:48] feel free to tell me to go away and come back later [15:25:56] As "med severity" which seems reasonable. [15:26:07] marktraceur: That looks like it's from MediaWiki UI, which is no longer current. [15:26:29] Well [15:26:39] marktraceur: I'm not remotely saying the colour isn't right, just that this is the very first time someone's suggested we need it. [15:26:41] Back to designers not talking, but he also said it was probably out of date [15:26:47] * James_F nods. [15:30:46] YuviPanda: I have no idea if or how Jenkins based deploys work [15:31:02] YuviPanda: You would also have to talk to the Parsoid people to ask if deploys from master at merge time are even desirable [15:31:11] RoanKattouw: ah, right. I shall do that. [15:31:32] RoanKattouw: either way, I’ll avoid futzing it till thursday. I’ll give you, James_F and chrismcmahon a headsup before I start futzing [15:31:36] Cool [15:31:40] Thanks. [15:31:51] thanks YuviPanda, looking forward to it [15:31:58] As for config, it's just a param or env var or something in the init script [15:32:03] Like -c blah.cfg or whatever [15:32:26] I think the init script invokes Parsoid with -c $SOME_ENV_VAR [15:32:39] If you can find that part, you should be able to trace the flow of information back from there [15:32:47] ah, hmm [15:32:47] ok [15:33:02] haha [15:33:02] env PARSOID_SETTINGS_FILE="../conf/wmf/localsettings.js" [15:33:05] no [15:34:17] IIRC there are several layers of setting that [15:34:25] What you see there might just be the default value or something [15:34:33] RoanKattouw: right [15:34:44] RoanKattouw: so there were very many ugly ‘ifs’ and somewhat strange comments in the ::beta role [15:34:49] that sometimes contradicted each other... [15:45:39] (03PS28) 10Paladox: Convert .css to .less [extensions/WikiEditor] - 10https://gerrit.wikimedia.org/r/189333 [15:47:11] (03CR) 10Paladox: "Ok sorry for moving them up and down wont happend again. i have done what use said in the comment." [extensions/WikiEditor] - 10https://gerrit.wikimedia.org/r/189333 (owner: 10Paladox) [15:47:32] (03CR) 10Paladox: "@Mattflaschen please review." [extensions/WikiEditor] - 10https://gerrit.wikimedia.org/r/189333 (owner: 10Paladox) [16:06:34] (03PS2) 10Esanders: Fix margins of indicators in table context [VisualEditor/VisualEditor] - 10https://gerrit.wikimedia.org/r/195252 [16:09:46] (03CR) 10Jforrester: [C: 032] Fix margins of indicators in table context [VisualEditor/VisualEditor] - 10https://gerrit.wikimedia.org/r/195252 (owner: 10Esanders) [16:11:50] (03Merged) 10jenkins-bot: Fix margins of indicators in table context [VisualEditor/VisualEditor] - 10https://gerrit.wikimedia.org/r/195252 (owner: 10Esanders) [16:14:13] (03CR) 10Jforrester: [C: 032] Followup 11f507a98f62: also restore rowspan and colspan on TableCellNodes [VisualEditor/VisualEditor] - 10https://gerrit.wikimedia.org/r/195222 (https://phabricator.wikimedia.org/T91831) (owner: 10Catrope) [16:14:21] (03PS1) 10Jforrester: Followup 11f507a98f62: also restore rowspan and colspan on TableCellNodes [VisualEditor/VisualEditor] (wmf/1.25wmf20) - 10https://gerrit.wikimedia.org/r/195286 (https://phabricator.wikimedia.org/T91831) [16:14:32] (03CR) 10Jforrester: [C: 032] Followup 11f507a98f62: also restore rowspan and colspan on TableCellNodes [VisualEditor/VisualEditor] (wmf/1.25wmf20) - 10https://gerrit.wikimedia.org/r/195286 (https://phabricator.wikimedia.org/T91831) (owner: 10Jforrester) [16:16:30] (03Merged) 10jenkins-bot: Followup 11f507a98f62: also restore rowspan and colspan on TableCellNodes [VisualEditor/VisualEditor] - 10https://gerrit.wikimedia.org/r/195222 (https://phabricator.wikimedia.org/T91831) (owner: 10Catrope) [16:16:51] (03Merged) 10jenkins-bot: Followup 11f507a98f62: also restore rowspan and colspan on TableCellNodes [VisualEditor/VisualEditor] (wmf/1.25wmf20) - 10https://gerrit.wikimedia.org/r/195286 (https://phabricator.wikimedia.org/T91831) (owner: 10Jforrester) [16:18:45] (03CR) 10Jforrester: "What does this fix/break? It's not obvious playing with the demo…" [oojs/ui] - 10https://gerrit.wikimedia.org/r/194518 (owner: 10Bartosz Dziewoński) [16:19:19] (03PS1) 10Jforrester: Update VE core submodule to master (d449684) [extensions/VisualEditor] - 10https://gerrit.wikimedia.org/r/195288 [16:22:00] (03CR) 10jenkins-bot: [V: 04-1] Update VE core submodule to master (d449684) [extensions/VisualEditor] - 10https://gerrit.wikimedia.org/r/195288 (owner: 10Jforrester) [16:23:26] (03PS1) 10Jforrester: Update VE core to bc8b388 for cherry-pick [extensions/VisualEditor] (wmf/1.25wmf20) - 10https://gerrit.wikimedia.org/r/195290 [16:24:37] (03CR) 10jenkins-bot: [V: 04-1] Update VE core to bc8b388 for cherry-pick [extensions/VisualEditor] (wmf/1.25wmf20) - 10https://gerrit.wikimedia.org/r/195290 (owner: 10Jforrester) [16:25:19] RoanKattouw: Should we just revert https://gerrit.wikimedia.org/r/#/c/194437/ for now? [16:25:40] James_F: That's not the offending change [16:25:57] Oh, it isn't? [16:26:39] Oh, I mis-pasted. [16:26:39] https://gerrit.wikimedia.org/r/#/c/192608/ [16:27:47] Yeah I was going to ping a Flow person once SF woke up [16:27:51] I guess now is the time to try that [16:28:21] RoanKattouw: mlitn is in Europe. superm401 is on the East Coast. [16:28:25] Yeah [16:28:32] I'll go back into their channel and ping them [16:28:33] RoanKattouw: I ping them in -collaboration, but no response. [16:28:37] +ed. [16:28:44] Oh you did? When [16:28:59] 3 minutes ago. [16:29:01] * RoanKattouw appears to have left that channel again at some point this afternoon [16:29:02] Oh OK [16:29:15] But you effectively pinged them 6 hours ago. [16:29:27] Also I had already filed https://phabricator.wikimedia.org/T91974 so I've duped it [16:30:46] hello everyone.I am trying to install parsoid.What does "..\npm install" mean in install steps for windows? [16:33:09] mdshekh: You might have a better chance asking in #mediawiki-parsoid [16:48:25] RoanKattouw, so events then? https://gerrit.wikimedia.org/r/#/c/195228/ [16:49:43] edsanders: I don't like events [16:49:50] Because of what you have to do in NodeFactory to make that work [16:50:07] sure, but then setup/teardown are events [16:50:14] It breaks the normal constructor pattern, now you're forced to construct nodes via the factory [16:50:17] Yeah but they're different [16:50:22] They legitimately happen later [16:50:41] And they are events other objects could be interested in [16:50:56] Whereas initialize is always paired with setup anyway, so there's no benefit to external subscribers [16:51:20] well it makes mixins possible [16:51:46] Yeah but we can do those in a different way as well [16:51:53] My commit didn't do Focusable, that was my bad [16:52:17] But we could add ve.ce.FocusableNode.prototype.initializeFocusable and call it from the constructor and from onFocusableSetup [16:52:58] why from setup? [16:53:37] Yeah that still calls it twice [16:53:51] Alternatively we could have the initialize method emit the initialize event [16:54:24] Then the FocusableNode constructor can connect the initialize event to initializeFocusable(), and also call initializeFocusable() immediately [16:54:48] Krenair: Feel free not to go out of your way to undermine colleagues' work. :-P [16:55:18] What did I do? [16:56:03] RoanKattouw, where do you call initialize on construction? [16:56:19] ve.ce.View constructor [16:56:35] Krenair: Demanding proof of ori's performance concerns on the Edit label. Eight seconds before I called you on it. [16:56:55] so before the child constructor has finished [16:57:04] Also your commit cleaned up the attribute change listener in TableCellNode I'd forgotten to remove, good catch [16:57:08] Yeah [16:57:10] James_F, I'm not demanding anything. [16:57:14] I suppose I should have documented that [16:57:15] if the child changes $element that's a bit ugly [16:57:21] Your commit does not identify a performance concern, and neither does the linked ticket. [16:57:29] as you'd have to call initialize again [16:57:50] Sure, but why would you do that in the constructor? [16:57:54] Krenair: No, because they remove the performance concern, not complain about it, which is not on a ticket. [16:57:58] .static.tagName controls what kind of node is created [16:58:16] Krenair: Though there is T89668 which is also performance-related. Guess I should tag it. [16:58:26] Ori is mentioned neither in the ticket nor the commit [16:58:28] Krenair: And yes, obviously I'm scheduling it for a SWAT, don't worry. :-) [16:58:39] Krenair: Because the ticket and commit pre-date ori's concerns. This isn't hard. [16:59:00] Okay. Then I expect you to refer to whatever ticket talks about the performance issue. [16:59:34] Rather than jump to IRC accusing me of trying to undermine someone's work. [16:59:44] Why do you expect me to explain Ori's concerns? :-) [16:59:57] * James_F meetings. [17:00:05] Because you mentioned a performance loss? [17:00:21] RoanKattouw, MWInlineImage [17:01:02] WTF [17:01:13] You're right, good call, but why is it written that way [17:01:24] Oh because it's either an or an [17:29:35] Krenair: No, I'm just the person reporting what my engineers say, and I trust them to get it right. :-) [17:30:05] James_F: I'm going to quote you on that at an inconvenient time (for you) in the future [17:30:07] :) [17:30:11] TrevorParscal: :-D [17:31:35] James_F, okay still, I would like to know what the performance issue is, assuming they wrote it down. [17:31:56] Krenair: It was in scrollback for like a half hour of discussion last week. [17:32:08] Krenair: This channel. Don't recall more than that. [17:32:24] Okay. That was all I could've expected from you. [17:32:33] Please don't take it as some sort of personal attack. [17:33:00] Then don't ask IRC questions on gerrit config patches. :-) [17:34:06] What? [17:34:47] I see no reason not to ask on gerrit. [17:39:56] (03PS1) 10Esanders: Documentation typo [oojs/ui] - 10https://gerrit.wikimedia.org/r/195311 [17:40:28] (03PS2) 10Jforrester: WindowManager: Documentation typo [oojs/ui] - 10https://gerrit.wikimedia.org/r/195311 (owner: 10Esanders) [17:40:35] (03CR) 10Jforrester: [C: 032] WindowManager: Documentation typo [oojs/ui] - 10https://gerrit.wikimedia.org/r/195311 (owner: 10Esanders) [17:42:58] (03Merged) 10jenkins-bot: WindowManager: Documentation typo [oojs/ui] - 10https://gerrit.wikimedia.org/r/195311 (owner: 10Esanders) [17:44:59] RoanKattouw_away: BTW, I mis-estimated; T70892+T68229 = 48; T90372+T87553+T90304+T53569+T78628 = 64. [17:48:05] (03PS1) 10Mooeypoo: Only set element as icon in transclusions that require it [extensions/VisualEditor] - 10https://gerrit.wikimedia.org/r/195313 [17:49:47] (03PS2) 10Mooeypoo: Only set element as icon in transclusions that require it [extensions/VisualEditor] - 10https://gerrit.wikimedia.org/r/195313 [17:50:39] (03PS16) 10Mooeypoo: Refactor Citoid extension as an inspector [extensions/Citoid] - 10https://gerrit.wikimedia.org/r/190973 (https://phabricator.wikimedia.org/T88152) [17:54:57] (03PS3) 10Jforrester: Follow-up I11b9f0ab: Only make icon on transclusions that require it [extensions/VisualEditor] - 10https://gerrit.wikimedia.org/r/195313 (owner: 10Mooeypoo) [17:57:34] (03CR) 10Catrope: [C: 032] Follow-up I11b9f0ab: Only make icon on transclusions that require it [extensions/VisualEditor] - 10https://gerrit.wikimedia.org/r/195313 (owner: 10Mooeypoo) [17:57:58] RoanKattouw: TrevorParscal was just reviewing that. :-) [17:58:07] RoanKattouw: Focus on transaction testing. :_) [17:58:26] RoanKattouw: it's ok, I was wasting time slagging you off as a socialist [17:59:13] haha [17:59:25] TrevorParscal: Actually I wonder [17:59:40] TrevorParscal: Didn't we have a convention that all icon/indicator-related CSS is only applied when an icon is actually present? [17:59:53] (03Merged) 10jenkins-bot: Follow-up I11b9f0ab: Only make icon on transclusions that require it [extensions/VisualEditor] - 10https://gerrit.wikimedia.org/r/195313 (owner: 10Mooeypoo) [17:59:54] There's a class that's only set in that case, and AIUI that's the class we apply all styling to [18:00:08] RoanKattouw: que? [18:00:10] Do I misremember or did that change? [18:00:18] oo-ui-icon vs oo-ui-iconElement [18:00:32] oo-ui-iconElement is only applied to this.$element when the icon is non-empty [18:00:34] One of them is set constantly on this.$icon, one of them is only set if an icon is actually being rendered [18:00:39] Yes [18:00:50] oo-ui-iconElement-icon is always applied to that icon target [18:01:01] (And the only reason you know which is which is because you wrote the code, because I guessed it was the other way around at first, from the naming :P ) [18:01:07] which in some cases may be this.$element, but in most cases is a separate element that is a child of this.$element [18:01:20] Ooh I see [18:01:32] One of them applies to this.$icon, the other to this.$element ? [18:02:04] to be fair, it used to be called "oo-ui-iconedElement" which sort of made more senese [18:02:11] that it was only sometimes "iconed" [18:02:53] but we changed the terminology to focus more on whether it introduces a new element (noun) or augments existing ones (adjective) by default [18:03:07] Oh yeah that's right [18:04:39] (03PS1) 10Kmenger: ButtonInputWidget: Clarify description of configs and methods [oojs/ui] - 10https://gerrit.wikimedia.org/r/195319 [18:04:46] Whee. [18:06:55] Hey Krinkle. [18:15:26] Hmm [18:15:34] This is where I find out my code doesn't work at all [18:15:38] Ha. [18:15:46] RoanKattouw: Test-first-development much? :-P [18:16:04] Yeah exactly [18:17:48] (03PS1) 10Mooeypoo: Icon width should only be applied if there is an icon [oojs/ui] - 10https://gerrit.wikimedia.org/r/195320 [18:18:35] lol, no it's different [18:18:44] Apparently there's no exception thrown when you insert unbalanced content data [18:19:21] You can insert {type: 'inlineImage'} without a closing, and no exception is thrown at all [18:19:22] But there should be? [18:19:26] Whoops. [18:19:27] Even the tree update proceeds correctly [18:19:29] Uhm, yes [18:19:32] :-) [18:19:35] That's not *technically* my problem here [18:19:47] Uh-huh. [18:19:51] * James_F looks disbelieving. [18:20:01] Although I really should fix that, because the tree still believes the image has length 2, while in the data it has length 1, so everything is off now [18:21:48] TrevorParscal: https://phabricator.wikimedia.org/maniphest/query/u.toXU9A8eqF/#R [18:22:30] RoanKattouw: we should talk about https://gerrit.wikimedia.org/r/#/c/195313/3/modules/ve-mw/ce/nodes/ve.ce.MWTransclusionNode.js,unified [18:22:41] (03PS2) 10Mooeypoo: Icon width should only be applied if there is an icon [oojs/ui] - 10https://gerrit.wikimedia.org/r/195320 [18:26:26] TrevorParscal: Should I not have +2ed that? [18:26:42] well, in the else case, what does the iconElement end up being? [18:27:13] an orphaned this.$icon, which may actually be an orphaned this.$element [18:27:15] cool [18:27:26] so, I'm just saying, it seems fishy [18:28:09] I don't understand [18:28:09] but to be fair, adding "this.setIconElement( $( '' ) );" to the else case won't have any visible change [18:28:17] this.$icon will be an orphaned elemnet [18:28:26] Which is perfectly normal, that's how IconElement is designed to work [18:28:51] Not only will that not cause a visible change, it won't cause a conceptual change either [18:29:04] Because this.setIconElement( $( '' ) ) is essentially the default behavior already [18:29:23] ok, so between render calls, it's possible for the transclusion to become larger or smaller, if it used to be large enough to be rendered and is now small enough to pass under the threshold than we render it as an icon, and also the opposite [18:29:36] It's even literally the default behavior: this.setIconElement( config.$icon || $( '' ) ); [18:29:45] Urgh [18:29:47] this is happening not during constructions, but after [18:29:50] OK great [18:30:05] TrevorParscal, on purpose, though -- to see if we need to set the $icon to the element or not [18:30:07] So we need to unset the icon element as well [18:30:16] why? [18:30:21] so, the reason we use setIconElement is because we may or may not want to consider the newly created (replacement for the old) this.$element to be the icon [18:30:21] RoanKattouw, it's "unsetting" anyways [18:30:32] Oh because this.$element is regenerated, of course [18:30:34] it's rebuilding the entire contents of this.$element and replaces what this.$element is [18:30:35] and this works fine in a conditional [18:30:36] that's the point [18:30:46] but, consider when we move from icon mode to rendered mode [18:30:54] OK TrevorParscal I agree with you that it's a little bit fishy [18:30:59] now this.$icon is a detached element [18:31:02] and the hard part :\ we're losing context of where the icon is, which is good in the case where we don't need it, and bad in the case we do - which is why we re-set it [18:31:21] is it harmful to make changes to this.$icon, a detached element? no. but it seems a little sloppy [18:31:28] TrevorParscal: If we did setIconElement( $( '' ) ) in the else branch then at least that would release the reference to the old $element [18:31:37] yes [18:31:41] that's what I am suggesting [18:31:52] Because this.$element could be like a huge infobox or something [18:31:54] Hi [18:31:56] it's akward to be sure, but dude, this whole business of replacing this.$element is anyway [18:32:01] And we'd keep its old rendering in memory for no reason [18:32:16] at least this allows the browser to release the memory [18:32:20] TrevorParscal: Well the real solution to this particular problem is (PS2) Mooeypoo: Icon width should only be applied if there is an icon [oojs/ui] - https://gerrit.wikimedia.org/r/195320 [18:32:29] I was going to comment about this before you +2'd [18:32:41] But unfortunately we have to wait for that to me merged and for an OOUI release to happen [18:32:47] TrevorParscal: Right, sorry for my premature +2 [18:32:48] you didn't break the codebase exactly, but you kinda added a memory leak of sorts [18:32:50] RoanKattouw, TrevorParscal so I was actually thinking of making the icon an extra span that is attached to this.$element and then either setting it an icon or not (like we do in decorated option widgets) -- problem is, since the transclusion is generatedContent and that leads to rebuilding of the this.$element itself, then it would mean also reattaching after render. The alternative solution (only setting the iconif we need to) seeme [18:32:50] d more organized. [18:33:02] mooeypoo: Oh God please do that [18:33:07] That will be so much better [18:33:15] Don't call setIconElement anywhere, just use the this.$icon span [18:33:20] reattach every time? [18:33:26] Then when this.$element is regenerated, all you have to do is reattach it [18:33:31] HM [18:33:41] that's really better? [18:33:52] (but then if you don't need it, you should still explicitly detach it to avoid that same memory leak) [18:34:15] mooeypoo: I say it's better because I've hated the fact that this.$icon === this.$element since the moment you introduced that cod [18:34:20] mooeypoo: well, detach this.$icon (a separate span) before calling the parent which wipes out this.$element and replaces it, and then conditionally attach this.$icon when in icon mode [18:34:27] And you reminded me that I was going to ask you to change that [18:34:35] hm [18:34:53] remember, IconElement doesn't actually attach anything [18:35:08] TrevorParscal: That's not technically needed. You can detach things from their parents even if the parent itself is detached, and attaching something someplace new automatically detaches it from the old place [18:35:26] The only reason you need to explicitly detach it is because otherwise its .previousSibling references will keep the entire DOM of the old rendering alive [18:35:30] RoanKattouw: ok, well I get that [18:35:46] TrevorParscal, so, on render, I need to detach, call parent render (Which rebuilds the $element) then reattach the icon [18:35:57] That works [18:36:01] .... and that's *better* than selectively making the element an icon? [18:36:10] so in Roan's optimized case (he's getting nitpicky now) attach (which automatically detaches) this.$icon to this.$element in the iconned case, and detach in the else case [18:36:17] I'm saying that technically you can also do if ( need icon ) { attach icon } else { detach icon } [18:36:30] But it seems that's intuitive to nobody but me, so I'll let that go [18:37:10] mooeypoo: I just don't like this.$element *being* an icon when it's also other complex things like a ce.Node [18:40:43] It seems much more intuitive for this.$icon to be a child of this.$element and to just be an icon and nothing else [18:40:57] Are there any cases in OOUI where we use this.$icon === this.$element ? [18:41:14] I guess IconWidget does that :) [18:41:18] But that makes sense [18:42:02] hm [18:42:23] I don't mind changing this, but to be honest, I think that the template -- if it's empty -- *is* an iconWidget [18:42:31] hence it shouldn't be that illogical for it to be the icon [18:42:42] but I can change that if you think reattaching is better [18:54:39] mooeypoo: Yeah I guess it kind of makes sense for it to be the icon in that case [18:54:59] But it also has the side effect of making every template node an icon even when it isn't empty [18:55:28] Like, it'll always have .oo-ui-icon or whatever the class is even when there's nothing icon-related going on [19:00:06] (03PS1) 10Mooeypoo: Use a detached icon in transclusion node [extensions/VisualEditor] - 10https://gerrit.wikimedia.org/r/195332 [19:00:11] RoanKattouw, TrevorParscal ^^ [19:01:16] (03PS2) 10Mooeypoo: Use a detached icon in transclusion node [extensions/VisualEditor] - 10https://gerrit.wikimedia.org/r/195332 [19:03:10] (03CR) 10Trevor Parscal: Use a detached icon in transclusion node (031 comment) [extensions/VisualEditor] - 10https://gerrit.wikimedia.org/r/195332 (owner: 10Mooeypoo) [19:03:13] (03CR) 10Catrope: [C: 031] Use a detached icon in transclusion node [extensions/VisualEditor] - 10https://gerrit.wikimedia.org/r/195332 (owner: 10Mooeypoo) [19:03:24] TrevorParscal: https://gerrit.wikimedia.org/r/#/c/195332/ LGTM but I'm not sure about the CSS there [19:04:06] RoanKattouw: what specifically worries you? [19:05:45] (03PS3) 10Mooeypoo: Use a detached icon in transclusion node [extensions/VisualEditor] - 10https://gerrit.wikimedia.org/r/195332 [19:07:02] (03CR) 10Krinkle: "I can't reproduce this locally. Strange." [oojs/core] - 10https://gerrit.wikimedia.org/r/194813 (owner: 10Krinkle) [19:07:13] TrevorParscal: The fact that both the wrapper and the icon itself have display: inline-block; and vertical-align: middle; [19:07:24] Is it really needed on both? [19:07:52] Also the 1em -> 1.25em change [19:08:17] Maybe it's all fine, but I couldn't explain any part of that CSS change to myself [19:08:18] RoanKattouw: so, to the 1em -> 1.25em change, 1em * 0.875em < 24px [19:08:28] Oh OK [19:08:34] So that's an unrelated fix, makes sense [19:08:45] as for the vertical alignment, I can check if it's overkill, but I know it works atm [19:10:25] (03PS1) 10Alexandros Kosiaris: Configure citoid to use the new zotero service [services/citoid/deploy] - 10https://gerrit.wikimedia.org/r/195333 (https://phabricator.wikimedia.org/T89873) [19:12:33] (03CR) 10Jforrester: [C: 031] Configure citoid to use the new zotero service [services/citoid/deploy] - 10https://gerrit.wikimedia.org/r/195333 (https://phabricator.wikimedia.org/T89873) (owner: 10Alexandros Kosiaris) [19:12:45] RoanKattouw: yes, for sure both alignments are needed [19:13:01] I worked with mooeypoo at her desk on this, and I've just verified [19:13:06] Weir [19:13:07] d [19:13:16] Alright then [19:13:58] (03CR) 10Trevor Parscal: [C: 032] Use a detached icon in transclusion node [extensions/VisualEditor] - 10https://gerrit.wikimedia.org/r/195332 (owner: 10Mooeypoo) [19:14:10] (03CR) 10Jforrester: "recheck" [extensions/VisualEditor] (wmf/1.25wmf20) - 10https://gerrit.wikimedia.org/r/195290 (owner: 10Jforrester) [19:14:18] (03CR) 10Jforrester: "recheck" [extensions/VisualEditor] - 10https://gerrit.wikimedia.org/r/195288 (owner: 10Jforrester) [19:14:25] (03CR) 10Jforrester: "recheck" [extensions/VisualEditor] - 10https://gerrit.wikimedia.org/r/195223 (owner: 10Catrope) [19:15:50] TrevorParscal: https://gerrit.wikimedia.org/r/#/c/195236/ and up? [19:17:35] TrevorParscal, https://gerrit.wikimedia.org/r/#/c/193370/ [19:18:33] edsanders: let me review this stack of Roan's, then I will get mooeypoo's stuff reviewed and do some design work for this alignable thing [19:18:42] TrevorParscal: Note that my stack has a competing implementation by edsanders [19:18:51] At least for the first commit [19:18:55] yes [19:18:57] about that [19:18:58] https://gerrit.wikimedia.org/r/195228 [19:19:12] (03CR) 10Catrope: "https://gerrit.wikimedia.org/r/195228 is Ed's version of this change" [VisualEditor/VisualEditor] - 10https://gerrit.wikimedia.org/r/195236 (owner: 10Catrope) [19:19:36] TrevorParscal: What happened is the Gerrit IRC bot went down for an hour or two, and apparently Ed and I are so reliant on it that the first thing that happened is we both write the same change using different strategies [19:19:49] Without noticing, because there were no IRC notifications [19:19:52] amazing [19:20:03] so, which shall win comes down to me then? [19:20:19] or has one of you already won? [19:20:26] We still disagree [19:22:18] which usually means "Ed has a more clever solution, Roan has a more pragmatic solution, and the qualitative differences will be apparent but generally subjective" [19:23:00] Roan was suggesting we have both an initalize method and an event [19:23:05] (03CR) 10Jforrester: [C: 032] "Let's see if it's working now." [oojs/core] - 10https://gerrit.wikimedia.org/r/194813 (owner: 10Krinkle) [19:23:11] as a compromise [19:23:16] Basically Ed's solution is an event and mine is an overridable method [19:23:29] edsanders: That's not really a compromise so much as making both parties unhappy. :-) [19:23:32] so, first off, I thought we needed a render event also, because we had no way of knowing when the async rendering had completed [19:23:41] so, it feels like we are headed down that road already [19:23:46] And my "compromise" is to retain all of my code and use an event (Ed's approach) for FocusableNode (which is what my approach doesn't cover) [19:23:50] TrevorParscal: There already is a render event [19:24:25] what is the actual downside to Roan's comprimise? [19:24:34] edsanders: are you indeed unhappy about that? [19:25:14] I'm not sure "compromise" is the right word for "let's do exactly what I suggested, plus 10% of what you suggested" :P but as the person that proposed it I would be happy with it [19:25:14] (03PS13) 10Mvolz: Fix acceptLanguage commit a30d6be [services/citoid] - 10https://gerrit.wikimedia.org/r/195025 [19:25:21] RoanKattouw: :-D [19:25:43] I'm sorry I didn't retain the air quotes [19:26:11] (03CR) 10Mvolz: "Once we get this merged I can finalise the [WIP] update on the deploy directory." [services/citoid] - 10https://gerrit.wikimedia.org/r/195025 (owner: 10Mvolz) [19:27:16] repurposing setup to mean initialize [19:27:27] which you have to do in focusable node [19:27:58] Or not [19:28:09] I proposed something different for Focusable after that [19:28:26] Because you were right that my first proposal for Focusable still had us calling things twice, from the constructor and then again from setup [19:28:31] you mean using an initialize event as well? [19:28:34] Yeah [19:29:17] There would be an initialize event, that mixins would use pretty much exactly like they do in your code, except non-mixins would still use a method instead of that event [19:29:22] yes, you definitely need an event [19:30:05] so how is focusable initialize called on construction? [19:30:08] And because of the timing issue, mixin constructors would have to do something like: this.connect( this, { initialize: 'initializeFocusable' } ); this.initializeFocusable(); [19:31:05] ...assuming inheritance precedes mixing in [19:31:57] (03PS1) 10Bartosz Dziewoński: package.json: Bump grunt-svg2png to 0.2.7 [oojs/ui] - 10https://gerrit.wikimedia.org/r/195339 [19:31:59] RoanKattouw, the main objection to my approach is that we require an external caller (the factory) to emit an event whenever an object is constructed [19:32:15] but we also require an external caller to trigger the 'setup' event [19:32:25] (03CR) 10jenkins-bot: [V: 04-1] Use a detached icon in transclusion node [extensions/VisualEditor] - 10https://gerrit.wikimedia.org/r/195332 (owner: 10Mooeypoo) [19:32:38] we don't have to do it inside the factory, but then we'd have to do it in two places rather than one [19:32:42] hi. [19:32:53] Where is the render event being emitted? I didn't see it when I looked [19:32:54] (03CR) 10Jforrester: [C: 032] "Jenkins failure isn't real." [extensions/VisualEditor] - 10https://gerrit.wikimedia.org/r/195332 (owner: 10Mooeypoo) [19:33:14] edsanders: Why d owe need an external caller to trigger the setup event? My patch doesn't touch the setup event at al [19:33:15] l [19:33:25] mooeypoo: In GeneratedContentNode somewhere I think [19:34:12] [20:31] edsanders ...assuming inheritance precedes mixing in [19:34:23] hm, okay, there seems to be a rerender event [19:34:26] guys, on beta, my dropdown menu in the toolbars are no longer working. (it's underneath the content view now) [19:34:27] after render if the node is live [19:34:34] That's irrelevant; inheritance may or may not precede mixing in, but inheritance definitely does precede the execution of the mixin's constructor [19:34:42] here's the problem ,though -- right now I'm creativing a surface with document for a transclusion block [19:34:51] I have nothing to listen to at that point except the surface [19:35:17] mooeypoo: Yeah there's a rerender event on the node, not on the surface :S [19:35:28] thedj: Which menu? Which skin? [19:36:03] mediawiki skin, vector on safari, [19:36:21] I don't see that in Chrome [19:36:24] Oh, MediaWiki. [19:36:25] (03CR) 10jenkins-bot: [V: 04-1] jsduck: Set --processes=0 to fix warnings-exit-nonzero [oojs/core] - 10https://gerrit.wikimedia.org/r/194813 (owner: 10Krinkle) [19:36:38] Or master? [19:36:52] http://imagebin.ca/v/1uGEif7k6Amv [19:37:18] on en.wp.beta.labs [19:37:51] That's not what I see in Chrome on beta labs [19:38:18] It's also not what I get in Safari on Beta Labs. [19:38:23] hmm, seems like a caching problem. I cleared the cache and it's gone [19:38:25] thedj: Which version of Safari? [19:38:26] Aha. [19:38:29] OK. Good to know. [19:40:30] k, /me needs to get back to work [19:41:05] (03CR) 10Bartosz Dziewoński: "Nothing, it's just a typo. I copy-pasted the code wrong when writing this. It worked just as well, but the variables' names lied." [oojs/ui] - 10https://gerrit.wikimedia.org/r/194518 (owner: 10Bartosz Dziewoński) [19:42:20] MatmaRex: You're going from 3 inputs to 2… [19:42:40] MatmaRex: Was it just discarding the 'fourth' one? [19:42:51] (03CR) 10Trevor Parscal: [C: 04-1] Add ve.ce.View#initialize to eliminate constructor/onSetup duplication (031 comment) [VisualEditor/VisualEditor] - 10https://gerrit.wikimedia.org/r/195236 (owner: 10Catrope) [19:43:07] yes [19:43:21] it was never actually passed [19:43:22] RoanKattouw: edsanders: I haven't read all of your patches, but so far I'm concerned that the word "initialize" is going to start being used to describe "setup" [19:43:26] (03Merged) 10jenkins-bot: Use a detached icon in transclusion node [extensions/VisualEditor] - 10https://gerrit.wikimedia.org/r/195332 (owner: 10Mooeypoo) [19:43:57] MatmaRex: OK. [19:43:58] Tools don't take a config parameter, ToolGroups do; and ToolGroupTool is a Tool [19:44:05] (03CR) 10Jforrester: [C: 032] demo: Fix typo in toolbars demo [oojs/ui] - 10https://gerrit.wikimedia.org/r/194518 (owner: 10Bartosz Dziewoński) [19:44:20] the constructor was clearly copied from some ToolGroup [19:44:31] construct -> initialize -> (setup -> teardown -> repeat?) -> destroy [19:44:55] don't setup things where you are constructing, initializing or destroying more than once [19:45:10] setup/teardown are the names of the steps that support reuse [19:45:28] setup happens after attachment [19:45:49] TrevorParscal: I agree with your concern and I welcome suggestions for other names for what we call intialize in this case [19:46:02] yeah, attach -> setup -> teardown -> detach is a normal process order [19:46:17] init happens as soon as $element is created or modified [19:46:17] (03Merged) 10jenkins-bot: demo: Fix typo in toolbars demo [oojs/ui] - 10https://gerrit.wikimedia.org/r/194518 (owner: 10Bartosz Dziewoński) [19:46:27] to we don't add classes after appending [19:46:28] But what we need is something that runs every time this.$element changes (which is what setup is used as a proxy for in this case), but before attachment [19:46:30] *so we don't [19:46:35] Yeah what edsanders said, he explained it better [19:46:55] (03PS4) 10Mvolz: [WIP] Update citoid to master and localsettings.js [services/citoid/deploy] - 10https://gerrit.wikimedia.org/r/194536 (https://phabricator.wikimedia.org/T89756) [19:47:17] setup/teardown should be attach/detach [19:47:40] so, the whole business of replacing this.$element is a special case [19:48:10] it's possible it is special enough to warrant calling initialize more than once [19:50:50] sort of [19:51:06] what i see is that we have code scattered around a bit [19:51:19] but loads of nodes do initialize type things [19:51:30] We do, but we often have legitimate reasons for that [19:51:36] we probably want to have more code in initialize and destroy methods to fully encapsulate things [19:51:53] so we need a way of calling it twice, other than just duplicate code *everywhere* [19:51:59] Like, there are things that must happen after attach ("onSetup") because only then do we have a reference to the surface available [19:52:15] i'm not saying we have to be purists here, I just see that there's render replacing this.$element and then calling initialize and that scares me [19:52:19] But there are also things that must happen before attach, because otherwise we cause wasteful reflows [19:52:35] (03PS5) 10Mvolz: Update citoid to master and localsettings.js [services/citoid/deploy] - 10https://gerrit.wikimedia.org/r/194536 (https://phabricator.wikimedia.org/T89756) [19:53:32] i need to eat lunch [19:55:38] yes - replacing $element causes problems [19:55:52] but keeping everything in wrappers does too [19:56:31] (03PS6) 10Mooeypoo: Reorganize api calls and add sourceHandler and error message [extensions/TemplateData] - 10https://gerrit.wikimedia.org/r/194991 (https://phabricator.wikimedia.org/T91730) [19:57:36] (03CR) 10jenkins-bot: [V: 04-1] Reorganize api calls and add sourceHandler and error message [extensions/TemplateData] - 10https://gerrit.wikimedia.org/r/194991 (https://phabricator.wikimedia.org/T91730) (owner: 10Mooeypoo) [19:57:46] edsanders: I'm not suggesting we stop replacing $element, but rather that we make it less horrid [19:57:57] but, perhaps that's a larger change than you are trying to make [19:58:08] nonetheless, this is looking tech debt-y [19:58:58] RoanKattouw, what's the issue with emitting 'initialize' after construction? [19:59:39] (03CR) 10Mvolz: "Once this gets merged then was can update localsettings.js to configure Citoid to work with a) outbound proxy and b) new zotero service." [services/citoid/deploy] - 10https://gerrit.wikimedia.org/r/194536 (https://phabricator.wikimedia.org/T89756) (owner: 10Mvolz) [19:59:58] define after? emitting an event in a constructor is useless, nobody has a reference to the object yet so it's not possible to have an event bound [20:00:00] (03PS7) 10Mooeypoo: Reorganize api calls and add sourceHandler and error message [extensions/TemplateData] - 10https://gerrit.wikimedia.org/r/194991 (https://phabricator.wikimedia.org/T91730) [20:00:22] unless you are emitting for a parent class constructor listening to events on itself [20:00:25] which seems odd [20:00:39] Yeah so that's the issue [20:00:51] Ed's approach to emitting it after construction was to emit it from NodeFactory#create [20:01:05] Which means that if you run new ve.ce.FooNode it doesn't work, you have to go through the factory [20:01:17] And that's something I objected to [20:01:18] even then, who is listening to this event? [20:01:38] the factory returns the object reference after the emit() was called, no? [20:01:56] https://gerrit.wikimedia.org/r/#/c/195228/2/src/ce/ve.ce.NodeFactory.js,unified [20:02:13] create object, emit event nobody is listening to, return object [20:02:17] Yeah [20:02:23] The answer is "subclasses" [20:02:26] right [20:02:31] it's listening to itself [20:02:34] Yup [20:03:03] I instead chose to use a method, where a subclass can override and extend the method, and that is effective even if it's called from the base class's constructor [20:03:18] (With the usual caveats about the class's own constructor not having run yet so the state is a bit weird) [20:03:40] but you still need some sort of event for FocusNode I guess? [20:03:44] But that's harder to reconcile with mixins, whereas Ed's event approach naturally extends to them [20:03:46] Yeah exactly [20:03:53] So my proposal to address that was this [20:04:20] Define ve.ce.View.prototype.initialize (or other name that doesn't suggest it'll only be called once; I don't care) which subclasses override [20:04:26] ve.ce.View constructor calls this.initialize(); [20:04:48] ve.ce.View.prototype.initialize calls this.emit( 'initialize' ); [20:05:00] Which the first time is useless because no one is listening, but on subsequent calls it is useful [20:05:25] Then the FocusableNode constructor can do this.connect( this, { initialize: 'initializeFocusable' } ); this.initializeFocusable(); [20:05:33] i.e. bind it for the future and also call it immediately [20:05:54] (Again, I'm not married to the name "initialize", it's just "shared stuff between constructor and onSetup") [20:05:59] his solution still has attractive timing, because it emits initialize AFTER the constructor is done running (all in the whole chain) rather than during one of the constructors in the chain running [20:06:34] but calling emit externally is generally evil [20:07:20] Yeah when I first saw that I was like "why would you DO that", but then I realized the timing problem [20:07:51] ("saw that" = the NodeFactory thing) [20:08:26] Where is all the pasting-from-clipboard-into-VE handled? [20:08:37] * hexmode is looking and can't find it [20:08:46] hexmode: ve.ce.Surface.js, functions with "paste" in the name [20:08:57] doh, think you told me before :P [20:09:01] ty [20:09:24] Though depending on what exactly you're looking for, it might be in different places that are called from there [20:09:38] and it also makes the classes not work unless they are constructed using the factory - which is probably not an issue until someone tries to render a node directly (only one vemw case where this is occuring other than ve.ce.InternalItemNode's being created one-off) [20:10:36] Yeah that's the main reason why I thought it was evl [20:10:37] *evil [20:10:47] ok, so there are 2 things here [20:11:15] 1, share code between first, second, ... rendering cycles [20:11:48] 2. coordinate rendering cycle between subclasses and mixins [20:12:21] By #2 do you mean "an implementation of #1 that is extensible by subclasses and mixins"? [20:12:49] yeah, I guess [20:13:53] so, I think what we need is to move code from constructors to initialize methods, and also write destroy methods that release everything initialized [20:14:29] and then render will teardown -> destroy -> initialize -> setup [20:14:43] constructor will just initialize [20:15:06] does that sound sane? [20:15:10] I know it's a big mess [20:15:37] TrevorParscal: The thing is, things done by initialize typically don't need to be destroyed [20:15:46] Or at least we haven't found a use case for that [20:16:16] you can skip the destroy step if you really are just writing empty destroy methods, I guess, but the point is something shouldn't be allowed to be initialized again until it's been destroyed [20:16:41] can I ask, why are we bothering with this whole reusing a node [20:16:46] Hmm I guess some nodes do have destroy methods [20:16:54] why not just tell the CE tree to replace the node with a different one, directly? [20:16:59] TrevorParscal: Because it's difficult to change yourself from within yourself [20:17:01] all we are doing is making a mess here [20:17:07] Unless there's some API for you to tell your parent to replace you [20:17:22] s/change yourself/reconstruct yourself/ [20:17:24] this.parent.splice( myIndex, 1, newVersionOfMe ); [20:17:30] Yeah.... [20:17:51] I don't think I like that either [20:17:54] wouldn't such an API be WAY less complex than all of this "this.$element may or may not be replaced at a later time" nonsense [20:18:06] brb, lunch for real this time [20:20:50] Yeah maybe [20:22:13] wikibugs dead again? :/ [20:23:28] grrrit-wm was also dead earlier today [20:32:03] (03PS1) 10Catrope: Transaction tests: Assert specific exception messages [VisualEditor/VisualEditor] - 10https://gerrit.wikimedia.org/r/195358 [20:32:05] (03PS1) 10Catrope: ve.dm.Document#buildNodeTree: Throw an exception for unclosed inline nodes [VisualEditor/VisualEditor] - 10https://gerrit.wikimedia.org/r/195359 [20:32:07] (03PS1) 10Catrope: Use modifier functions keyed by name for queued modifications in TransactionProcessor [VisualEditor/VisualEditor] - 10https://gerrit.wikimedia.org/r/195360 [20:32:09] (03PS1) 10Catrope: Make transaction processing exception-safe [VisualEditor/VisualEditor] - 10https://gerrit.wikimedia.org/r/195361 (https://phabricator.wikimedia.org/T70892) [20:40:46] (03CR) 10jenkins-bot: [V: 04-1] Reorganize api calls and add sourceHandler and error message [extensions/TemplateData] - 10https://gerrit.wikimedia.org/r/194991 (https://phabricator.wikimedia.org/T91730) (owner: 10Mooeypoo) [20:41:51] (03PS6) 10Mvolz: [WIP] Update citoid to master and localsettings.js [services/citoid/deploy] - 10https://gerrit.wikimedia.org/r/194536 (https://phabricator.wikimedia.org/T89756) [20:42:32] (03CR) 10Mvolz: "Scratch that, we need I93f8c699e7f58375e4fa8dd7c48dd721969e3659 to be merged first before we can go ahead with this one." [services/citoid/deploy] - 10https://gerrit.wikimedia.org/r/194536 (https://phabricator.wikimedia.org/T89756) (owner: 10Mvolz) [20:44:57] (03CR) 10jenkins-bot: [V: 04-1] Make transaction processing exception-safe [VisualEditor/VisualEditor] - 10https://gerrit.wikimedia.org/r/195361 (https://phabricator.wikimedia.org/T70892) (owner: 10Catrope) [20:45:59] (03CR) 10jenkins-bot: [V: 04-1] Use modifier functions keyed by name for queued modifications in TransactionProcessor [VisualEditor/VisualEditor] - 10https://gerrit.wikimedia.org/r/195360 (owner: 10Catrope) [20:46:39] (03PS2) 10Catrope: Make transaction processing exception-safe [VisualEditor/VisualEditor] - 10https://gerrit.wikimedia.org/r/195361 (https://phabricator.wikimedia.org/T70892) [20:47:57] Re. [20:50:28] (03PS8) 10Mooeypoo: Reorganize api calls and add sourceHandler and error message [extensions/TemplateData] - 10https://gerrit.wikimedia.org/r/194991 (https://phabricator.wikimedia.org/T91730) [20:54:27] RoanKattouw: Gosh. :-) [20:54:30] RoanKattouw: so... what's up? [20:58:05] I'm increasingly convinced that replacing this.$element is excessively disruptive to all of our established architectural decisions thus far, and we should consider replacing the effort to shoehorn this abomination into our system without issue with a way to simply regenerate and replace the node directly by being able to call this.parent.splice( oldVersionOfNode.getIndex(), 1, new [20:58:05] VersionOfNode ) or something similar [20:58:50] RoanKattouw: so, the question is, when are we going to do that? [20:58:56] RoanKattouw: edsanders? [21:00:55] (03CR) 10Jforrester: [C: 031] ve.dm.Document#buildNodeTree: Throw an exception for unclosed inline nodes [VisualEditor/VisualEditor] - 10https://gerrit.wikimedia.org/r/195359 (owner: 10Catrope) [21:01:47] (03CR) 10Jforrester: [C: 032] Transaction tests: Assert specific exception messages [VisualEditor/VisualEditor] - 10https://gerrit.wikimedia.org/r/195358 (owner: 10Catrope) [21:03:37] Did TrevorParscal get any notification about the warning variant class I added this morning? [21:03:44] (he did now!) https://gerrit.wikimedia.org/r/195257 [21:04:05] i heard about it [21:04:21] (03Merged) 10jenkins-bot: Transaction tests: Assert specific exception messages [VisualEditor/VisualEditor] - 10https://gerrit.wikimedia.org/r/195358 (owner: 10Catrope) [21:04:25] so, where did this change start? [21:04:38] TrevorParscal, I think that sounds sensible [21:04:42] was this something you were asked to do by Pau (i think I heard that?) [21:04:51] edsanders: :) [21:05:38] marktraceur: I'm just concerned that because design tends to rarely be well coordinated, that this change will become contraversial [21:06:15] (03PS5) 10Trevor Parscal: Add warning variant to MediaWiki set [oojs/ui] - 10https://gerrit.wikimedia.org/r/195257 (owner: 10MarkTraceur) [21:07:03] Of course it will, because it's changing something that involves multiple teams [21:07:16] I'll add a duck. [21:07:33] RoanKattouw, so your argument is that if you do new ceNode it isn't set up fully [21:07:33] but that's already true, as you need to splice it into a document before setup is called [21:07:56] TrevorParscal: Pau gave us the mockups, I think this was brought about by a security bug [21:08:07] TrevorParscal: https://phabricator.wikimedia.org/T89765 [21:08:13] ce nodes were always meant to be ephemeral, so if we can't just splice in a new one to replace an old one, we have issues [21:08:16] tgr authored the bug. [21:09:20] marktraceur: so my response is this: I have not problem with the new orange, I think warnings should be differentiated form errors, the color seems to match the palate and I generally trust Pau [21:09:40] *palette [21:10:00] It's a palettable colour. [21:11:01] Well, if we're all in agreement, and we have like three people with +2 power on the repository in question... [21:11:12] And Pau's obviously cool with it because he came up with the idea... [21:11:34] I'm still going to have to ask design-l aren't I [21:11:50] no [21:11:57] I can +2 [21:12:56] my only complaint is that only icons will be colored in OOjs UI, not text or buttons [21:13:03] OK, I don't want to push you into it [21:13:07] so long as that is intentional [21:13:12] Oh, I color the text myself, so it's fine [21:13:13] but the mockup shows orange text [21:13:16] At least for this case [21:13:17] so, I'm not sure [21:13:23] sure [21:13:24] (03CR) 10Jforrester: [C: 032] package.json: Bump grunt-svg2png to 0.2.7 [oojs/ui] - 10https://gerrit.wikimedia.org/r/195339 (owner: 10Bartosz Dziewoński) [21:13:34] If we wanted absolute consistence we could add text coloring too I guess [21:13:35] I think it's fine [21:13:39] (03CR) 10Trevor Parscal: [C: 032] Add warning variant to MediaWiki set [oojs/ui] - 10https://gerrit.wikimedia.org/r/195257 (owner: 10MarkTraceur) [21:13:42] \o/ [21:14:10] I can run through an ooui update first thing tomorrow if there's documentation on it [21:14:22] marktraceur: You need it in wmf21? [21:14:42] marktraceur: Or can you wait for wmf22? [21:14:42] No need to backport, just want to start getting this patch out the door [21:14:55] marktraceur: We really really try to avoid doing OOjs UI releases except on Wednesdays. [21:15:00] 10OOjs-UI, 6Multimedia, 10Multimedia-Sprint-2015-03-04, 6Security, and 2 others: Show warning about privacy/security issues on PDF file pages - https://phabricator.wikimedia.org/T89765#1101527 (10Krenair) [21:15:02] Oh. Well that's fine. [21:15:31] marktraceur: see demos/pages/widgets.js #116 [21:16:02] Erm [21:16:09] (03Merged) 10jenkins-bot: package.json: Bump grunt-svg2png to 0.2.7 [oojs/ui] - 10https://gerrit.wikimedia.org/r/195339 (owner: 10Bartosz Dziewoński) [21:16:16] just add some JSON there and you're good [21:16:34] James_F says he'll do it [21:16:35] I'll do it, no need to waste marktraceur's time. [21:16:55] sorry, was trying to save him time but yeah, thank James_F [21:17:03] Ah, K [21:17:27] Oh, I see. [21:17:35] TrevorParscal: I meant documentation on doing the release. [21:17:52] oh, I was talking about the demo fixups [21:17:56] Yeah [21:18:24] Anyway, thanks all, I look forward to finishing this up. [21:18:54] The orange looks a bit off. [21:19:15] I guess it's more yellow [21:19:20] I dunno, I thought it was orange. [21:20:05] Um, the other way marktraceur [21:20:15] next to the destructive red, it looks dang near [21:20:55] ...huh [21:21:59] 10VisualEditor, 10VisualEditor-MediaWiki-Mobile, 6Mobile-Web: Mobile VE - Save page title wrapping weirdly - https://phabricator.wikimedia.org/T92016#1101596 (10KHammerstein) 3NEW [21:22:01] 10TemplateData, 7Wikimedia-log-errors: Fix "PHP Warning: Invalid argument supplied for foreach() in TemplateDataBlob.php on line 780" - https://phabricator.wikimedia.org/T92017#1101602 (10Krinkle) 3NEW [21:22:10] marktraceur: just to be clear, this change you wrote only makes it possible to style ButtonElements with icons, not IconWidgets [21:22:25] so ButtonWidget or ButtonOptionWidget will work, but not IconWidget [21:22:36] this is because of how the theme logic works right now [21:22:42] is that going to be OK for you? [21:22:43] (03PS6) 10Jforrester: Add warning variant to MediaWiki set [oojs/ui] - 10https://gerrit.wikimedia.org/r/195257 (owner: 10MarkTraceur) [21:22:54] TrevorParscal: I followed RoanKattouw's instructions for most of it, so whatever; I'm using a PopupButtonElement which should be fine [21:22:56] 10TemplateData, 7Wikimedia-log-errors: Fix "PHP Warning: Invalid argument supplied for foreach() in TemplateDataBlob.php on line 780" - https://phabricator.wikimedia.org/T92017#1101614 (10Krinkle) [21:22:57] i mean, it looks like you are planning to use a ButtonPopupWidget, so that should be ok [21:22:58] 10TemplateData, 7Wikimedia-log-errors: Fix "PHP Warning: Invalid argument supplied for foreach() in TemplateDataBlob.php on line 780" - https://phabricator.wikimedia.org/T92017#1101617 (10Mooeypoo) That should have been fixed with https://gerrit.wikimedia.org/r/#/c/194251/ [21:23:01] yes [21:23:04] ok, just wanted to be clear [21:23:13] Righto! [21:23:33] 10TemplateData, 7Wikimedia-log-errors: Fix "PHP Warning: Invalid argument supplied for foreach() in TemplateDataBlob.php on line 780" - https://phabricator.wikimedia.org/T92017#1101620 (10Jdforrester-WMF) [21:23:47] 10TemplateData, 7Wikimedia-log-errors: Fix "PHP Warning: Invalid argument supplied for foreach() in TemplateDataBlob.php on line 780" - https://phabricator.wikimedia.org/T92017#1101623 (10Krinkle) [21:25:24] (03PS3) 10Mooeypoo: MWParameterPage: Show the field's example if it exists [extensions/VisualEditor] - 10https://gerrit.wikimedia.org/r/194416 (https://phabricator.wikimedia.org/T53049) [21:25:36] 10TemplateData, 7Wikimedia-log-errors: Fix "PHP Warning: Invalid argument supplied for foreach() in TemplateDataBlob.php on line 780" - https://phabricator.wikimedia.org/T92017#1101602 (10Krinkle) [21:26:06] Krinkle, is this still happening after the fix patch? [21:26:23] 10TemplateData, 5WMF-deploy-2015-03-04_(1.25wmf20), 7Wikimedia-log-errors: Invalid foreach and undefined property in TemplateData - https://phabricator.wikimedia.org/T91470#1101638 (10Krinkle) [21:26:24] 10TemplateData, 7Wikimedia-log-errors: Fix "PHP Warning: Invalid argument supplied for foreach() in TemplateDataBlob.php on line 780" - https://phabricator.wikimedia.org/T92017#1101637 (10Krinkle) [21:26:27] Krenair, wait, actually, I don't think the fix is in production yet? maybe it should be [21:27:02] That was supposed to be Krinkle nor Krenair ^ [21:28:02] mooeypoo: Hm.. yeah, maybe backport to wmf19? [21:28:09] Not sure how impactful the new feature is. James_F? [21:28:20] I'm curious what the fallback is on wmf19. What does it do when that error happens? [21:28:54] Good question [21:29:07] I had trouble testing, since I couldn'teasily find templates where this happens [21:29:26] Krinkle, I asked chad if we can find the pages this happened in, but he said it wouldn't be easy [21:29:31] is there a way for you to see it? [21:30:07] (03CR) 10Trevor Parscal: [C: 032] Add warning variant to MediaWiki set [oojs/ui] - 10https://gerrit.wikimedia.org/r/195257 (owner: 10MarkTraceur) [21:32:22] (03CR) 10Jforrester: [C: 032] MWParameterPage: Show the field's example if it exists [extensions/VisualEditor] - 10https://gerrit.wikimedia.org/r/194416 (https://phabricator.wikimedia.org/T53049) (owner: 10Mooeypoo) [21:32:36] 10TemplateData, 5Patch-For-Review, 5WMF-deploy-2015-03-11_(1.25wmf21): TemplateData: Provide property "example" for template parameters - https://phabricator.wikimedia.org/T53049#1101697 (10Jdforrester-WMF) [21:32:38] (03Merged) 10jenkins-bot: Add warning variant to MediaWiki set [oojs/ui] - 10https://gerrit.wikimedia.org/r/195257 (owner: 10MarkTraceur) [21:33:16] (03CR) 10Jforrester: [C: 031] Add an example property to parameters [extensions/TemplateData] - 10https://gerrit.wikimedia.org/r/194386 (https://phabricator.wikimedia.org/T53049) (owner: 10Mooeypoo) [21:34:04] 10OOjs-UI, 6Multimedia, 10Multimedia-Sprint-2015-03-04, 6Security, and 2 others: Show warning about privacy/security issues on PDF file pages - https://phabricator.wikimedia.org/T89765#1101715 (10Jdforrester-WMF) Trivial OOjs UI portion of this task now complete. [21:34:29] (03Merged) 10jenkins-bot: MWParameterPage: Show the field's example if it exists [extensions/VisualEditor] - 10https://gerrit.wikimedia.org/r/194416 (https://phabricator.wikimedia.org/T53049) (owner: 10Mooeypoo) [21:34:31] 10OOjs-UI: Make OOjs UI IconWidget flaggable so icon variants can be used, the way ButtonElement does - https://phabricator.wikimedia.org/T92023#1101717 (10TrevorParscal) 3NEW [21:35:14] 10OOjs-UI: Make OOjs UI LabelWidget flaggable so text colors can be used, the way ButtonElement does - https://phabricator.wikimedia.org/T92024#1101729 (10TrevorParscal) 3NEW [21:35:22] (03CR) 10Jforrester: [C: 032] demo: Use popup with head in the toolbars demo [oojs/ui] - 10https://gerrit.wikimedia.org/r/195066 (owner: 10Bartosz Dziewoński) [21:36:10] 10OOjs-UI: Make OOjs UI IconWidget flaggable so icon variants can be used, the way ButtonElement does - https://phabricator.wikimedia.org/T92023#1101753 (10Jdforrester-WMF) This is what https://gerrit.wikimedia.org/r/#/c/164007/ was for… [21:36:29] 10OOjs-UI, 7Design: Add warning button styles to buttons - https://phabricator.wikimedia.org/T92026#1101756 (10TrevorParscal) 3NEW [21:36:42] 10VisualEditor, 10VisualEditor-MediaWiki-Mobile, 6Mobile-Web: Mobile VE - Toolbar icons too close, tap area too small - https://phabricator.wikimedia.org/T92027#1101767 (10KHammerstein) 3NEW [21:37:59] (03Merged) 10jenkins-bot: demo: Use popup with head in the toolbars demo [oojs/ui] - 10https://gerrit.wikimedia.org/r/195066 (owner: 10Bartosz Dziewoński) [21:38:01] (03Merged) 10jenkins-bot: Remove half-baked touch event handling [oojs/ui] - 10https://gerrit.wikimedia.org/r/195067 (https://phabricator.wikimedia.org/T87818) (owner: 10Bartosz Dziewoński) [21:38:07] (03PS9) 10Mooeypoo: Reorganize api calls and add sourceHandler and error message [extensions/TemplateData] - 10https://gerrit.wikimedia.org/r/194991 (https://phabricator.wikimedia.org/T91730) [21:44:05] 10OOjs-UI, 6Mobile-Web, 10UI-Standardization, 6WMF-Design, 7Design: OOjs UI and MediaWiki UI buttons are different sizes - https://phabricator.wikimedia.org/T91473#1101831 (10violetto) This patch will solve this task cc: @prtksxna @kaldari https://gerrit.wikimedia.org/r/#/c/194753/ [21:44:07] (03CR) 10Jforrester: [C: 032] ButtonInputWidget: Clarify description of configs and methods [oojs/ui] - 10https://gerrit.wikimedia.org/r/195319 (owner: 10Kmenger) [21:44:40] 10OOjs-UI, 5OOjs-UI-next-release, 10VisualEditor: Pop-up "You are not logged in." warning cannot be closed via the "X" on touch devices - https://phabricator.wikimedia.org/T91757#1101840 (10Jdforrester-WMF) 5Open>3Resolved [21:44:55] 10OOjs-UI, 5OOjs-UI-next-release: Toolbar menus don't disappear when another menu is opened on touch devices - https://phabricator.wikimedia.org/T87818#1101844 (10Jdforrester-WMF) 5Open>3Resolved [21:45:47] (03PS1) 10Mooeypoo: Make default property interfaceText [extensions/TemplateData] - 10https://gerrit.wikimedia.org/r/195451 (https://phabricator.wikimedia.org/T54966) [21:46:19] (03CR) 10jenkins-bot: [V: 04-1] Make default property interfaceText [extensions/TemplateData] - 10https://gerrit.wikimedia.org/r/195451 (https://phabricator.wikimedia.org/T54966) (owner: 10Mooeypoo) [21:46:21] (03Merged) 10jenkins-bot: ButtonInputWidget: Clarify description of configs and methods [oojs/ui] - 10https://gerrit.wikimedia.org/r/195319 (owner: 10Kmenger) [21:47:39] RoanKattouw: Are you fixing https://gerrit.wikimedia.org/r/#/c/195236/ so we can merge the stack? [21:48:12] (03PS2) 10Mooeypoo: Make default property interfaceText [extensions/TemplateData] - 10https://gerrit.wikimedia.org/r/195451 (https://phabricator.wikimedia.org/T54966) [21:48:35] RoanKattouw: edsanders: ^^ were are we at? [21:48:50] are we going to merge something suboptimal for now and fix it up properly later? [21:49:05] or get the ce node replacement thing going? [21:49:20] 10TemplateData, 7Easy, 7I18n, 5Patch-For-Review: TemplateData: Properties "default" and "deprecated" should be InterfaceText instead of string - https://phabricator.wikimedia.org/T54966#1101866 (10Mooeypoo) a:3Mooeypoo [21:49:34] 10TemplateData, 5Patch-For-Review: TemplateData GUI needs to let users set a string as the (secondary) value for 'deprecated' (as a description), not just boolean - https://phabricator.wikimedia.org/T90734#1101867 (10Mooeypoo) a:3Mooeypoo [21:49:46] how confident are you about the replacement approach, is RoanKattouw on board? [21:50:29] he said "I don't think I like that either" and then after further bargaining "yeah maybe" [21:50:36] RoanKattouw: what are you thinking? [21:51:43] MatmaRex, you have a windows box, right? Mind testing this bug on windows? I have a feeling it might be the environmental cause, since it doesn't seem to be reproduceable on mac or linux https://phabricator.wikimedia.org/T90757 [21:51:45] I personally am confident it's the right approach, and have long disliked that we have code that replaces this.$element in GeneratedContentNode because that's a cool class a lot of people are going to want to subclass, and also it turns out one of the most akward and dangerous classes to work with (because of the replacement stuff) [21:52:25] I'd much rather put effort into getting rid of this practice than working around it's flaws [21:52:44] mooeypoo: yeah. let's see [21:53:10] I think the instance replacement approach could possibly work but I'm afraid it might turn out to be awkward in different ways instead [21:53:26] So I have a bit of a wait-and-see attitude to it [21:53:41] RoanKattouw: Get off the fence! ;-) [21:53:54] Also that stack was mostly me going overboard with fixing the table cell bug I caused, so I don't really want to spend much time on it [21:54:01] :-) [21:54:27] RoanKattouw: https://gerrit.wikimedia.org/r/#/c/195360/ jsduck fails. [21:54:52] mooeypoo: can't repro using original instructions, Opera 28 (like Chrome) on Windows 7. [21:55:01] edsanders: https://gerrit.wikimedia.org/r/#/c/195359/ https://gerrit.wikimedia.org/r/#/c/195360/ https://gerrit.wikimedia.org/r/#/c/195361/ merge party? [21:55:10] So both because I have more pressing things to work on and because I haven't (yet?) seen the light for this approach, I would probably support it but someone else would have to do it [21:55:17] it is kind of funny how the article behaves, though. there's no slug at the beginning. [21:55:34] James_F: Yeah I saw the failure but I appear not to have submitted my --amend [21:55:35] i could only place the cursor there because of the Blink bug where you can place cursor on a side of a table. [21:55:38] MatmaRex: #NotAllArticles. [21:55:52] (or at least that's how it looked) [21:56:01] yes, i tried https://it.wikipedia.org/w/index.php?title=Utente:Elitre_(WMF)/Sandbox&oldid=71040422 obviously [21:56:15] MatmaRex, can you add a quick comment that you couldn't reproduce? I"ll add on linux, we might have to close it at this point [21:57:30] (03CR) 10Esanders: [C: 032] ve.dm.Document#buildNodeTree: Throw an exception for unclosed inline nodes [VisualEditor/VisualEditor] - 10https://gerrit.wikimedia.org/r/195359 (owner: 10Catrope) [21:57:37] mooeypoo: there was a separate bug about inserting a template in a slug causing that exact effect. [21:57:43] so maybe you can just dupe it. [21:57:43] TrevorParscal: https://gerrit.wikimedia.org/r/#/c/195288/ https://gerrit.wikimedia.org/r/#/c/195223/ https://gerrit.wikimedia.org/r/#/c/195056/ https://gerrit.wikimedia.org/r/#/c/195046/ https://gerrit.wikimedia.org/r/#/c/193282/ https://gerrit.wikimedia.org/r/#/c/195049/ https://gerrit.wikimedia.org/r/#/c/195057/ [21:58:01] MatmaRex, excellent, that sounds right [21:58:12] ed fixed it by reinventing slugs [21:58:30] ok now to find that bug, then [21:58:52] RoanKattouw: Think you --amend'ed the child patch. [21:59:31] So I did [21:59:34] 10TemplateData, 7Easy, 7I18n, 5Patch-For-Review: TemplateData: Properties "default" and "deprecated" should be InterfaceText instead of string - https://phabricator.wikimedia.org/T54966#1101925 (10Krinkle) [21:59:38] MatmaRex, https://phabricator.wikimedia.org/T54112 ? i think? [22:00:02] (03Merged) 10jenkins-bot: ve.dm.Document#buildNodeTree: Throw an exception for unclosed inline nodes [VisualEditor/VisualEditor] - 10https://gerrit.wikimedia.org/r/195359 (owner: 10Catrope) [22:00:28] nah, fresher [22:00:31] Stand-up? [22:00:31] lemmesee [22:00:49] (03PS3) 10Catrope: Make transaction processing exception-safe [VisualEditor/VisualEditor] - 10https://gerrit.wikimedia.org/r/195361 (https://phabricator.wikimedia.org/T70892) [22:00:51] (03PS2) 10Catrope: Use modifier functions keyed by name for queued modifications in TransactionProcessor [VisualEditor/VisualEditor] - 10https://gerrit.wikimedia.org/r/195360 [22:01:29] mooeypoo: https://phabricator.wikimedia.org/T89192 [22:02:40] (03CR) 10Trevor Parscal: [C: 032] Refactor Citoid extension as an inspector [extensions/Citoid] - 10https://gerrit.wikimedia.org/r/190973 (https://phabricator.wikimedia.org/T88152) (owner: 10Mooeypoo) [22:02:58] (03Merged) 10jenkins-bot: Refactor Citoid extension as an inspector [extensions/Citoid] - 10https://gerrit.wikimedia.org/r/190973 (https://phabricator.wikimedia.org/T88152) (owner: 10Mooeypoo) [22:03:15] 10VisualEditor, 10VisualEditor-MediaWiki-References, 10Citoid, 3VisualEditor 2014/15 Q3 blockers, 5WMF-deploy-2015-03-11_(1.25wmf21): Cite: 'Autofill from URL' initially shows Basic as a type for inserted citation in context menu, then corrects when re-sel... - https://phabricator.wikimedia.org/T88152#1101937 [22:04:09] 10TemplateData, 5Patch-For-Review, 5WMF-deploy-2015-03-11_(1.25wmf21), 7user-notice: TemplateData: Provide property "example" for template parameters - https://phabricator.wikimedia.org/T53049#1101940 (10He7d3r) [22:04:16] RoanKattouw, edsanders: Stand-up? [22:04:27] Or we can keep sitting here like lemons. :-) [22:06:25] (03CR) 10Mobrovac: [C: 04-1] "One small indentation issue, LGTM otherwise" (031 comment) [services/citoid] - 10https://gerrit.wikimedia.org/r/195025 (owner: 10Mvolz) [22:07:14] RoanKattouw: Also, o glorious one, any idea why https://gerrit.wikimedia.org/r/#/c/195290/ fails? [22:07:56] RoanKattouw: hey, yt? [22:08:30] (03CR) 10Jforrester: [C: 032] i18n: Change grammar of suppress redirect update message [extensions/VisualEditor] - 10https://gerrit.wikimedia.org/r/195076 (owner: 10Negative24) [22:10:25] ori: Apparently not. :-( [22:10:36] (03Merged) 10jenkins-bot: i18n: Change grammar of suppress redirect update message [extensions/VisualEditor] - 10https://gerrit.wikimedia.org/r/195076 (owner: 10Negative24) [22:10:37] Hey sorry [22:10:40] I'm here now [22:10:50] RoanKattouw: Join the standup so ori can ask aloud? [22:10:54] OK [22:11:27] RoanKattouw: Link may have changed to be the same as the morning one, I believe. [22:11:40] (Link is in calendar event as ever.) [22:16:58] ori: Locally I get a 14ms difference between onEditTabClick and loadPageData [22:17:42] Tab click to page data request: 1339.39404296875 [22:17:48] ve.now() is milliseconds, not microseconds, right? [22:18:01] edsanders: so it sounds like RoanKattouw doesn't care [22:18:26] RoanKattouw: here's how i'm measuring: https://dpaste.de/djSi [22:18:43] onEditTabClick 1425939397052.655 [22:18:45] loadPageData 1425939397066.578 [22:19:09] ori: That's pretty much exactly what I did too, except I just put in two console.log()s [22:19:21] if you plan on fixing it then I guess making new methods/events is not a good idea [22:19:46] hm! I'm seeing this on http://osmium/wiki/Barack_Obama. I'll record a timeline to see where the time is spent. [22:20:33] (03CR) 10Catrope: [C: 032 V: 032] Update VE core to bc8b388 for cherry-pick [extensions/VisualEditor] (wmf/1.25wmf20) - 10https://gerrit.wikimedia.org/r/195290 (owner: 10Jforrester) [22:20:43] RoanKattouw: Ta. [22:20:51] ori: How are you initiating the edit tab click? [22:21:02] I measured on localhost and I manually clicked the tab [22:21:19] RoanKattouw: ditto, except on osmium [22:21:24] If you are programmatically initiating the click, it might get stuck on waiting for the targetLoader module in the bottom queue to be done [22:21:32] RoanKattouw: are you logged in? [22:21:35] ori: Have you ?action=purge-d the page? [22:21:43] No I was not logged in [22:21:45] Let me try that [22:22:03] Same result, 10.8ms [22:23:29] instrumentation: https://dpaste.de/qKd0 result: http://i.imgur.com/ZUJwz41.png [22:23:59] Looks like an RL module load [22:24:34] yeah, hard to say which [22:24:47] i'll add debug calls to catch it [22:24:49] Right [22:24:53] Well, here's another strategy [22:25:08] Before clicking the link, run mw.loader.getState( 'ext.visualEditor.targetLoader' ) in the console [22:25:56] null [22:26:42] wtf [22:26:46] It says "loaded" for me [22:27:57] wait, where is this module defined? [22:28:19] i don't see it in HEAD [22:28:44] did your patch not get merged? [22:28:55] No, it's got [WIP] in the commit summary [22:29:10] https://gerrit.wikimedia.org/r/193026 [22:29:20] god damn it, I'm an idiot [22:29:44] However [22:29:49] ori: Now that you're running HEAD anyway [22:30:00] James asked for comparative performance numbers between this week and last week [22:32:13] I can check [22:32:20] hang on, running the same test with your patch [22:32:22] just to confirm my stupidity [22:33:53] clickToReq: 1.814ms [22:33:54] sigh [22:33:57] excuse me while i eat sand [22:34:32] ori: :-) [22:35:02] RoanKattouw: well, with that in mind: what about that patch is still in progress? If we're going to be comparing numbers, we probably want it in, no? [22:35:32] 10VisualEditor, 10VisualEditor-DataModel, 10VisualEditor-Tables, 3VisualEditor 2014/15 Q3 blockers, and 2 others: [Regression wmf20] Table gets broken while changing the cell type after a merge cell operation - https://phabricator.wikimedia.org/T91831#1102052 (10Jdforrester-WMF) 5Open>3Resolved [22:35:38] 10VisualEditor, 10VisualEditor-DataModel, 10VisualEditor-Tables, 3VisualEditor 2014/15 Q3 blockers, and 2 others: [Regression wmf20] Table gets broken while changing the cell type after a merge cell operation - https://phabricator.wikimedia.org/T91831#1097091 (10Jdforrester-WMF) [22:35:44] ori: The patch "works" but only by cutting a large number of corners, which I now need to carefully un-cut with Krinkle's help [22:35:56] And when I say "now" I mean "tomorrow" because it's 11:30pm [22:35:59] ori: All three numbers would be even more awesome. [22:36:11] RoanKattouw: Heya [22:36:11] But yeah nothing prevents instrumentation on it [22:36:19] RoanKattouw: OK. I'll be up earlier tomorrow. [22:36:24] I'm in Dokkum now [22:36:30] But yes, RoanKattouw should get some sleep. :-) [22:36:43] It's just that it pulls the ground away from underneath the entire initialization sequence and so none of that makes sense any more, and so we need to carefully put everything back in place [22:37:10] But if you don't mind that the "early" toolbar load is now at the end and stuff like that, it's perfectly instrumentable [22:37:20] * ori nods [22:37:33] OK, makes sense. Get some sleep! Even though you clearly need it less than I do :P [22:39:07] James_F: Regarding https://phabricator.wikimedia.org/T52513 - I'm a bit unclear on its purpose and implementation. The increased data set is pretty doable for Q3. But I'm not sure we still want we same thing. [22:39:17] Is roundtripping still a concern? [22:39:42] I mean, high enough of a concern that we're actively worried about catching them in time? Or is it more an insurance policy? [22:39:51] I havent' seen rt issues for a while. [22:40:25] Krinkle: Not RT of blank Parsoid pages. That's about testing of editing transactions. [22:41:26] RoanKattouw: Ick. https://gerrit.wikimedia.org/r/#/c/195462/ suggests maybe it really is broken? [22:42:02] James_F: No, that's the Flow crap from earlier [22:42:19] RoanKattouw: Poisoning wmf20? [22:42:20] Jenkins tests against WMF branches don't seem to work too well [22:42:25] Oh. [22:42:26] Fun. [22:42:34] I mean they can't possibly work correctly if we're seeing this in wmf20 [22:42:41] Cause I don't think the Flow change was in wmf20? [22:43:42] Hmm no it does appear to try to load Flow wmf20 [22:44:21] Oh and https://gerrit.wikimedia.org/r/#/c/192608/ is in fact included in wmf20 according to Gerrit [22:44:25] Mystery solved [22:46:28] RoanKattouw: Ah. So backport the Thanks fix? [22:46:38] Kk. [22:46:39] Either that or ignore the failures [22:46:43] :-) [22:46:55] I mean they're phpunit failures for a JavaScript change [22:46:59] Getting you to V+2 and merge is easier than convincing $SWATer. [22:47:01] :-) [22:49:52] RoanKattouw: Can I grab a +2 on 195470 so I can pull it? [22:50:38] Looking [22:51:33] Yay, overriding a Jenkins failure in one extension to fix a Jenkins failure in another [22:51:36] Long live CI huh [22:54:02] :-) [22:54:11] RoanKattouw: Sanity-check on https://gerrit.wikimedia.org/r/195462 please? [22:54:41] hah where's Jenkins on that one [22:54:54] It hasn't queued a job for it yet [22:59:59] Krinkle: OK cool. I just wrapped up by transaction exception catching stuff today, so my plate should be clear for TargetLoader work now [23:00:29] you mean tomorrrow :) [23:00:52] haha yes [23:01:07] I'm just playing +2 robot for James_F for a little bit and then I'll call it a night [23:01:26] :-) [23:01:34] RoanKattouw: You're always my robot, never forget. :-) [23:04:08] And apparently I get to do SWAT today [23:05:30] Or Lego is [23:08:02] RoanKattouw: Go to bed already. Work will still be here in the morning. [23:08:47] RoanKattouw: Though a +2 for https://gerrit.wikimedia.org/r/#/c/195288/ might be nice. ;-) [23:13:16] (03CR) 10Catrope: [C: 032] Update VE core submodule to master (d449684) [extensions/VisualEditor] - 10https://gerrit.wikimedia.org/r/195288 (owner: 10Jforrester) [23:13:20] Woo. [23:14:04] 10VisualEditor, 10VisualEditor-Tables, 3Editing Department 2014/15 Q4 blockers, 3Roadmap: Be able to re-order the columns or rows of a table by dragging them to another position in VisualEditor - https://phabricator.wikimedia.org/T88694#1102151 (10Jdforrester-WMF) [23:14:22] 10VisualEditor, 10VisualEditor-MediaWiki, 10MediaWiki-extensions-GuidedTour, 7Design, 3Editing Department 2014/15 Q4 blockers: Create a guided tour for VisualEditor using GuidedTour guiders - https://phabricator.wikimedia.org/T89074#1102155 (10Jdforrester-WMF) [23:16:55] 10VisualEditor, 10VisualEditor-MediaWiki, 3Editing Department 2014/15 Q4 blockers: Reconsider location, interaction pattern of search field in Category dialog - https://phabricator.wikimedia.org/T91469#1102158 (10Jdforrester-WMF) [23:17:07] 10VisualEditor, 10VisualEditor-MediaWiki, 3VisualEditor 2014/15 Q3 blockers: Import WikiEditor's list into the Special Character inserter - https://phabricator.wikimedia.org/T91608#1102159 (10Jdforrester-WMF) [23:17:32] 10VisualEditor, 10VisualEditor-ContentEditable, 3Editing Department 2014/15 Q4 blockers, 5Patch-For-Review: [Regression wmf4] Link continuation is broken - https://phabricator.wikimedia.org/T74108#1102161 (10Jdforrester-WMF) [23:17:40] 10VisualEditor, 10VisualEditor-ContentEditable, 3Editing Department 2014/15 Q4 blockers: VisualEditor: [Regression] Ctrl+A no longer working since staging of slugs because a selection starting from a CE=false node in Chrome - https://phabricator.wikimedia.org/T74725#1102162 (10Jdforrester-WMF) [23:18:08] 10VisualEditor, 10VisualEditor-MediaWiki, 7Design, 3Editing Department 2014/15 Q4 blockers, 7Epic: VisualEditor: Where VisualEditor is the primary editor, redlinks in read mode should go to veaction=edit not action=edit - https://phabricator.wikimedia.org/T55441#1102166 (10Jdforrester-WMF) [23:18:35] 10VisualEditor, 3Editing Department 2014/15 Q4 blockers, 7Epic, 7Technical-Debt: VisualEditor: Rewrite converter to be bottom-up - https://phabricator.wikimedia.org/T53501#1102168 (10Jdforrester-WMF) [23:18:55] 10VisualEditor, 10VisualEditor-ContentEditable, 10VisualEditor-EditingTools, 7Browser-Support-Google-Chrome: [Regression pre-wmf16] Entire line of text gets highlighted, when applying link or language to a text in Heading or Page Title format - https://phabricator.wikimedia.org/T87297#1102170 (10Swainr) No... [23:22:49] 10VisualEditor, 10VisualEditor-ContentEditable, 10VisualEditor-EditingTools, 7Browser-Support-Google-Chrome: [Regression pre-wmf16] Entire line of text gets highlighted, when applying link or language to a text in Heading or Page Title format - https://phabricator.wikimedia.org/T87297#1102215 (10Jdforrester... [23:26:31] (03CR) 10Mooeypoo: [C: 032] Don't flicker "Manage TemplateData" button's disabledness state [extensions/TemplateData] - 10https://gerrit.wikimedia.org/r/195057 (https://phabricator.wikimedia.org/T91324) (owner: 10Bartosz Dziewoński) [23:38:14] 10VisualEditor, 10VisualEditor-ContentEditable: VisualEditor: We need a representation of red-linked images - https://phabricator.wikimedia.org/T52788#1102283 (10Jdforrester-WMF) [23:38:24] (03CR) 10Esanders: [C: 032] Use modifier functions keyed by name for queued modifications in TransactionProcessor [VisualEditor/VisualEditor] - 10https://gerrit.wikimedia.org/r/195360 (owner: 10Catrope) [23:39:35] 10VisualEditor, 10VisualEditor-ContentLanguage, 10MediaWiki-extensions-UniversalLanguageSelector, 3Editing Department 2014/15 Q4 blockers: Make ULS input methods work in content editable divs of VisualEditor - https://phabricator.wikimedia.org/T51569#1102286 (10Jdforrester-WMF) [23:39:36] 10VisualEditor, 10VisualEditor-ContentEditable, 3Editing Department 2014/15 Q4 blockers: VisualEditor: We need a representation of red-linked images - https://phabricator.wikimedia.org/T52788#544114 (10Jdforrester-WMF) [23:39:38] 10VisualEditor, 10VisualEditor-MediaWiki, 3Editing Department 2014/15 Q4 blockers: VisualEditor: Implement some form of auto-save - https://phabricator.wikimedia.org/T57370#1102287 (10Jdforrester-WMF) [23:39:39] 10VisualEditor, 10VisualEditor-ContentEditable, 10VisualEditor-Tables, 3Editing Department 2014/15 Q4 blockers: Tab/Shift-Tab behaviour in contexts other than list indent/outdent (e.g. tables) - https://phabricator.wikimedia.org/T72665#1102288 (10Jdforrester-WMF) [23:39:40] 10VisualEditor, 10VisualEditor-MediaWiki, 3Editing Department 2014/15 Q4 blockers: VisualEditor: Provide a way for the user to switch between VisualEditor and wikitext source editor modes without saving - https://phabricator.wikimedia.org/T49779#1102289 (10Jdforrester-WMF) [23:40:01] 10TemplateData, 5Patch-For-Review, 5WMF-deploy-2015-03-11_(1.25wmf21): Button widget flashes grey before settling on white - https://phabricator.wikimedia.org/T91324#1102290 (10Jdforrester-WMF) 5Open>3Resolved [23:40:47] 10VisualEditor, 10VisualEditor-Initialisation, 10VisualEditor-Performance, 5Patch-For-Review, 3VisualEditor 2014/15 Q3 blockers: VisualEditor "beta" appended label causes edit tab to flicker - https://phabricator.wikimedia.org/T89668#1102293 (10Jdforrester-WMF) a:3Jdforrester-WMF [23:40:54] 10VisualEditor, 10VisualEditor-Initialisation, 10VisualEditor-Performance, 5Patch-For-Review, 3VisualEditor 2014/15 Q3 blockers: VisualEditor "beta" appended label causes edit tab to flicker - https://phabricator.wikimedia.org/T89668#1042077 (10Jdforrester-WMF) [23:41:07] 10VisualEditor, 10Wikimedia-Site-requests, 5Patch-For-Review, 3VisualEditor 2014/15 Q3 blockers, 7user-notice: Disable "Beta" suffixes on tabs for VisualEditor opt-in wikis - https://phabricator.wikimedia.org/T60583#1102296 (10Jdforrester-WMF) [23:41:14] 10VisualEditor, 10Wikimedia-Site-requests, 5Patch-For-Review, 3VisualEditor 2014/15 Q3 blockers, 7user-notice: Disable "Beta" suffixes on tabs for VisualEditor opt-in wikis - https://phabricator.wikimedia.org/T60583#622678 (10Jdforrester-WMF) [23:41:48] 10VisualEditor, 10VisualEditor-DataModel, 3Editing Department 2014/15 Q4 blockers: VisualEditor: Ordered application of annotations to avoid fragmentation (e.g. ''[[Foo|Fo]]''[[Foo|o]]) - https://phabricator.wikimedia.org/T52098#1102299 (10Jdforrester-WMF) [23:42:36] 10VisualEditor, 10VisualEditor-ContentEditable, 10VisualEditor-EditingTools, 7Browser-Support-Google-Chrome: [Regression pre-wmf16] Entire line of text gets highlighted, when applying link or language to a text in Heading or Page Title format - https://phabricator.wikimedia.org/T87297#1102315 (10Swainr) So... [23:43:18] TrevorParscal: https://phabricator.wikimedia.org/maniphest/query/7suivoJWFQ5./#R [23:55:25] (03Merged) 10jenkins-bot: Update VE core submodule to master (d449684) [extensions/VisualEditor] - 10https://gerrit.wikimedia.org/r/195288 (owner: 10Jforrester) [23:57:44] (03PS1) 10Kmenger: ActionSet: Add description for events and clarify method descriptions [oojs/ui] - 10https://gerrit.wikimedia.org/r/195489