[00:01:39] (03CR) 10jenkins-bot: Localisation updates from https://translatewiki.net. [extensions/TemplateData] - 10https://gerrit.wikimedia.org/r/346907 (owner: 10L10n-bot) [00:03:44] (03PS1) 10Jforrester: stylelint: Drop no-unsupported-browser-features references [extensions/VisualEditor] - 10https://gerrit.wikimedia.org/r/346920 [00:04:29] (03Merged) 10jenkins-bot: MWVESwitchPopup: Follow-up 445f8b76a0525e0f1: apply adjustment to anchor instead [extensions/VisualEditor] - 10https://gerrit.wikimedia.org/r/346917 (owner: 10Catrope) [00:48:52] (03CR) 10jerkins-bot: [V: 04-1] [PULLTHROUGH] MW changes for the meta-data inlining commit [extensions/VisualEditor] - 10https://gerrit.wikimedia.org/r/336929 (owner: 10Jforrester) [00:59:08] (03CR) 10jenkins-bot: MWVESwitchPopup: Follow-up 445f8b76a0525e0f1: apply adjustment to anchor instead [extensions/VisualEditor] - 10https://gerrit.wikimedia.org/r/346917 (owner: 10Catrope) [01:19:59] 10Citoid, 10VisualEditor, 10ProveIt-Gadget, 10Wikidata: Wikidata integration for proveit gadget - https://phabricator.wikimedia.org/T148928#3162396 (10Sophivorus) 05stalled>03Open The new REST API offers a simple way to get citation data out of a URL, DOI, PMID, etc. https://en.wikipedia.org/api/rest_v... [01:32:36] RoanKattouw: [01:32:54] https://www.irccloud.com/pastebin/gUiQlR0i/ [01:46:23] (03PS1) 10Jforrester: dm.metaitems: Turn grouped metas into variadic ones [extensions/VisualEditor] - 10https://gerrit.wikimedia.org/r/346933 [01:48:11] RoanKattouw: ^^ Tah-dah. [01:50:00] (03CR) 10Jforrester: "Needs to go on top of Ic8a9cdb122." [extensions/VisualEditor] - 10https://gerrit.wikimedia.org/r/336929 (owner: 10Jforrester) [04:13:38] (03CR) 10Catrope: [C: 04-1] "(For each comment, read "and also the N other places where this applies")" (037 comments) [extensions/VisualEditor] - 10https://gerrit.wikimedia.org/r/346933 (owner: 10Jforrester) [04:14:15] (03CR) 10Catrope: [C: 032] stylelint: Drop no-unsupported-browser-features references [extensions/VisualEditor] - 10https://gerrit.wikimedia.org/r/346920 (owner: 10Jforrester) [04:25:16] (03CR) 10Catrope: [C: 04-1] [PULLTHROUGH] MW changes for the meta-data inlining commit (038 comments) [extensions/VisualEditor] - 10https://gerrit.wikimedia.org/r/336929 (owner: 10Jforrester) [05:29:04] 10Citoid, 10VisualEditor: Issues with BBC references - https://phabricator.wikimedia.org/T94663#1169356 (10Mine0901) I have resolved the first issue mentioned above. https://github.com/zotero/translators/pull/1289 For the second issue, I tested it but couldn't figure out what more was expected while stating th... [05:38:51] 10Citoid, 10VisualEditor: OpenLibrary citation has incorrect author information (bug filed upstream) - https://phabricator.wikimedia.org/T95128#3162488 (10Mine0901) [05:43:43] 10VisualEditor, 10OOjs-UI, 13Patch-For-Review: OOjs UI: Responsive VE toolbar - https://phabricator.wikimedia.org/T92315#1106133 (10Volker_E) Change 346943 is caring about a minor issue: | Before | After | -- | -- | {F7333236 size=full} | {F7333260 size=full} [07:29:01] 10VisualEditor, 10VisualEditor-MediaWiki, 10Vector: "Your skin is incompatible with VisualEditor" warning on Vector - https://phabricator.wikimedia.org/T162411#3162566 (10Pcoombe) Ah, it appears to be on protected pages which makes sense because they have #ca-viewsource instead of #ca-edit. Not a user script... [07:29:15] 10VisualEditor, 10VisualEditor-MediaWiki, 10Vector: "Your skin is incompatible with VisualEditor" warning on protected pages - https://phabricator.wikimedia.org/T162411#3162567 (10Pcoombe) [08:31:48] 10VisualEditor, 10VisualEditor-MediaWiki-2017WikitextEditor, 07Design: It would be nice to have Show preview and Review your changes more directly accessible in the New Wikitext Editor - https://phabricator.wikimedia.org/T153306#3162758 (10Jan_Dittrich) > Having these two actions "hidden" after the Save butt... [08:49:24] I have visual editor installed on my wiki, but when I go to change a block of text with line breaks in it to computer code format, each line is put in its own computer code block, rather than the whole text being one computer code block, can anyone help? [09:01:15] 10VisualEditor, 10VisualEditor-MediaWiki, 10MediaWiki-Categories, 07Design: Visual diff doesn't show changes to categories - https://phabricator.wikimedia.org/T161290#3162782 (10Schnark) Probably a simple message like "There are (also) changes to metadata not visible in the main content, please see the wik... [09:06:18] Also under Insert menu, CodeBlock does not appear, anyone know why not [09:23:13] I have now enabled SyntaxHighlight_GeSHi, and when i save the page with the code block in it, it saves correctly, but when editing in VE, code block does not display correctly [09:25:26] 10VisualEditor, 10VisualEditor-MediaWiki-2017WikitextEditor, 07Design: It would be nice to have Show preview and Review your changes more directly accessible in the New Wikitext Editor - https://phabricator.wikimedia.org/T153306#3162850 (10Dvorapa) @Jan_Dittrich This is a different issue discussed in task T4... [09:27:36] 10VisualEditor, 10VisualEditor-MediaWiki: VisualEditor: Toolbar "Save page" button is confusing as it merely opens the dialog to save the page - https://phabricator.wikimedia.org/T44138#3162852 (10Jan_Dittrich) Problematic is imho but that the button indicates it will save right away. This is not a new prob... [09:29:37] 10VisualEditor, 10VisualEditor-MediaWiki: VisualEditor: Toolbar "Save page" button is confusing as it merely opens the dialog to save the page - https://phabricator.wikimedia.org/T44138#3162853 (10Jan_Dittrich) > Roan suggested perhaps changing "Save page" to read "Save page...", which would give the user a cl... [09:53:09] How can I tell is pygments is running on windows? [09:58:09] (03PS1) 10Esanders: stylelint: Remove no-unsupported-browser-features overrides [VisualEditor/VisualEditor] - 10https://gerrit.wikimedia.org/r/346960 [10:00:49] 10VisualEditor, 10MediaWiki-General-or-Unknown, 07Technical-Debt: Update extensions not to use deprecated EditPageBeforeEditChecks hook - https://phabricator.wikimedia.org/T161809#3162897 (10hoo) [10:00:52] 10VisualEditor, 10MediaWiki-extensions-WikibaseClient, 10Wikidata, 15User-Ryasmeen: Update Wikibase not to use deprecated EditPageBeforeEditChecks hook - https://phabricator.wikimedia.org/T161815#3162895 (10hoo) 05Open>03Resolved [10:49:59] (03PS1) 10Esanders: Don't set oldid if it is equal to curId [extensions/VisualEditor] - 10https://gerrit.wikimedia.org/r/346967 [10:50:33] How can I tell is pygments is running on windows? [11:37:29] 10VisualEditor, 10MediaWiki-Vagrant, 10RESTBase, 15User-zeljkofilipin: Provisioning MediaWiki Vagrant VisualEditor role does not result in working VisualEditor - https://phabricator.wikimedia.org/T161603#3163487 (10zeljkofilipin) ``` vagrant@mediawiki-vagrant:/vagrant/logs$ tail restbase.log ... {"name":"r... [11:42:24] 10VisualEditor, 10MediaWiki-Vagrant, 10RESTBase, 15User-zeljkofilipin: Provisioning MediaWiki Vagrant VisualEditor role does not result in working VisualEditor - https://phabricator.wikimedia.org/T161603#3163531 (10zeljkofilipin) ``` vagrant@mediawiki-vagrant:/vagrant/srv/restbase$ rm -rf node_modules ...... [11:43:38] (03PS1) 10Esanders: Fix credit widget beahviour [extensions/Citoid] - 10https://gerrit.wikimedia.org/r/346971 [11:43:44] 10VisualEditor, 10MediaWiki-Vagrant, 10RESTBase, 15User-zeljkofilipin: Provisioning MediaWiki Vagrant VisualEditor role does not result in working VisualEditor - https://phabricator.wikimedia.org/T161603#3163540 (10zeljkofilipin) It worked from the host machine: ``` ~/Documents/gerrit/mediawiki/vagrant/sr... [11:47:27] 10VisualEditor, 10MediaWiki-Vagrant, 10RESTBase, 15User-zeljkofilipin: Provisioning MediaWiki Vagrant VisualEditor role does not result in working VisualEditor - https://phabricator.wikimedia.org/T161603#3163556 (10zeljkofilipin) ``` ~/Documents/gerrit/mediawiki/vagrant/srv/restbase$ vagrant ssh ... vagran... [11:54:59] 10VisualEditor, 10MediaWiki-Vagrant, 10RESTBase, 15User-Ryasmeen, 15User-zeljkofilipin: Provisioning MediaWiki Vagrant VisualEditor role does not result in working VisualEditor - https://phabricator.wikimedia.org/T161603#3163577 (10zeljkofilipin) 05Open>03Resolved a:03zeljkofilipin Thanks @DLynch,... [12:54:23] 10VisualEditor, 15User-zeljkofilipin: LanguageScreenshotBot fails with `Error: timeout of 40000ms exceeded. Ensure the done() callback is being called in this test.` - https://phabricator.wikimedia.org/T162454#3163641 (10zeljkofilipin) [12:55:36] 10VisualEditor, 15User-zeljkofilipin: LanguageScreenshotBot fails with `Error: timeout of 40000ms exceeded. Ensure the done() callback is being called in this test.` - https://phabricator.wikimedia.org/T162454#3163654 (10zeljkofilipin) [13:21:59] is there seriously noone here that can help me [15:22:46] Can anyone help with visualeditor causing endless loop in mediawiki debug log? [15:29:55] Can anyone help with SyntaxHighlight_GeSHi causing an endless hang, mediawiki log constantly looping until user refreshes page or closes browser [16:13:56] (03PS2) 10Jforrester: dm.metaitems: Turn grouped metas into variadic ones [extensions/VisualEditor] - 10https://gerrit.wikimedia.org/r/346933 [16:14:10] (03CR) 10Jforrester: dm.metaitems: Turn grouped metas into variadic ones (036 comments) [extensions/VisualEditor] - 10https://gerrit.wikimedia.org/r/346933 (owner: 10Jforrester) [16:15:09] (03CR) 10Jforrester: [C: 032] "Dupe of Ibef4f2dc850 but fine." [VisualEditor/VisualEditor] - 10https://gerrit.wikimedia.org/r/346960 (owner: 10Esanders) [16:15:19] (03Abandoned) 10Jforrester: stylelint: Drop no-unsupported-browser-features references [VisualEditor/VisualEditor] - 10https://gerrit.wikimedia.org/r/346918 (owner: 10Jforrester) [16:16:11] (03CR) 10Jforrester: [C: 032] Don't set oldid if it is equal to curId [extensions/VisualEditor] - 10https://gerrit.wikimedia.org/r/346967 (owner: 10Esanders) [16:17:13] (03CR) 10Jforrester: [C: 031] "Neater." [extensions/Citoid] - 10https://gerrit.wikimedia.org/r/346971 (owner: 10Esanders) [16:18:25] (03Merged) 10jenkins-bot: stylelint: Remove no-unsupported-browser-features overrides [VisualEditor/VisualEditor] - 10https://gerrit.wikimedia.org/r/346960 (owner: 10Esanders) [16:20:58] Visual Editor isnt reconizing Code Block, it almost fully works now, the only problem I have now, is that when I edit page that had code block, visual editor shows " Select * from log " instead of "Select * from log" in a code block [16:21:23] (03CR) 10jerkins-bot: [V: 04-1] dm.metaitems: Turn grouped metas into variadic ones [extensions/VisualEditor] - 10https://gerrit.wikimedia.org/r/346933 (owner: 10Jforrester) [16:23:10] (03CR) 10jenkins-bot: stylelint: Remove no-unsupported-browser-features overrides [VisualEditor/VisualEditor] - 10https://gerrit.wikimedia.org/r/346960 (owner: 10Esanders) [16:26:18] (03Merged) 10jenkins-bot: Don't set oldid if it is equal to curId [extensions/VisualEditor] - 10https://gerrit.wikimedia.org/r/346967 (owner: 10Esanders) [16:30:33] (03CR) 10jenkins-bot: Don't set oldid if it is equal to curId [extensions/VisualEditor] - 10https://gerrit.wikimedia.org/r/346967 (owner: 10Esanders) [17:24:49] 10Citoid, 10VisualEditor, 10MediaWiki-Vagrant, 10RESTBase, 06Services: Citoid restbase config broken on vagrant - https://phabricator.wikimedia.org/T162468#3164304 (10Mvolz) [17:26:28] 10Citoid, 10VisualEditor, 10MediaWiki-Vagrant, 10RESTBase, 06Services: Citoid restbase config broken on vagrant - https://phabricator.wikimedia.org/T162468#3164321 (10Mvolz) [17:42:05] 10Citoid, 10VisualEditor, 10MediaWiki-Vagrant, 10RESTBase, 06Services: Citoid restbase config broken on vagrant - https://phabricator.wikimedia.org/T162468#3164304 (10Pchelolo) @Mvolz I've just tested in my local Vagrant and both works for me. Do you have the latest RESTBase code there? [17:56:26] 10VisualEditor, 05MW-1.29-release (WMF-deploy-2016-11-01_(1.29.0-wmf.1)), 15User-Ryasmeen: In VE core, provide a node differ library - https://phabricator.wikimedia.org/T149571#3164382 (10Esanders) [18:25:19] 10VisualEditor, 10OOjs-UI, 13Patch-For-Review: OOjs UI: Responsive VE toolbar - https://phabricator.wikimedia.org/T92315#3164431 (10Jdforrester-WMF) {F7350906} for issues with that. [18:30:40] 10VisualEditor, 10OOjs-UI, 13Patch-For-Review: OOjs UI: Responsive VE toolbar - https://phabricator.wikimedia.org/T92315#3164444 (10Volker_E) @Jdforrester-WMF Nice (bad) catch, but my patch is still a step forward here, the problem shown in your video is visible in current master. [18:36:32] 10VisualEditor, 10OOjs-UI, 13Patch-For-Review: OOjs UI: Responsive VE toolbar - https://phabricator.wikimedia.org/T92315#3164490 (10Volker_E) >>! In T92315#3164431, @Jdforrester-WMF wrote: > {F7350906} for issues with that. `.oo-ui-toolbar-narrow` kicks in too late. [18:44:28] 10VisualEditor, 10VisualEditor-DataModel, 15User-Ryasmeen: VisualEditor: Yet Another Broken Browser Plugin Injecting Garbage in Pages (Norton?) - https://phabricator.wikimedia.org/T65229#3164496 (10StasFomin) [18:51:52] (03CR) 10Catrope: [C: 031] "Code LGTM, but I didn't test this and it fails qunit" (031 comment) [extensions/VisualEditor] - 10https://gerrit.wikimedia.org/r/346933 (owner: 10Jforrester) [19:47:48] James_F: are any of you folks giving a talk on real-time collab stuff for wikimania 2017? [19:48:17] cscott: No. I don't think it'd be a good idea. [19:48:40] i was thinking of submitting a "birds of a feather" session, so we can continue the conversation [19:48:47] even though i don't personally have any new work to present [19:48:55] i don't know if david has done anything he wants to show off? [19:49:41] At the Hackathon it might be a good thing to play with/work on, but at Wikimania is not really the right audience for something that won't be here for years. [19:50:46] i continue to think that the hardest part is the UX and I want to keep getting our actual editors/readers to talk about that [19:51:07] They're not the people for that. They're the people for use-cases, which is what's missing. [19:51:11] i think it's fine for the hackers to beaver away at implementation at hackathon or elsewhere, but we can't actually deploy it unless we know how it fits in socially [19:51:44] That's not a UX thing, though. [19:51:55] UX broadly speaking [19:52:02] "use cases" if you prefer [19:52:09] "user stories" [19:52:40] i also think that it's only years away so long as we want it to be years away [19:52:40] OK, but a talk/presentation is the worst possible way of getting use cases from the audience. It's too passive. Maybe a workshop? [19:53:12] Yes, and we just an hour ago published the annual plan that said we're not working on it until at least after July 2018. :-) [19:53:21] if we decided to have 10 folks switch to working on real time collab stuff full time, we could have it deployed in a year. but the thing is, we don't really know what "it" ought to be yet. [19:53:34] Indeed. [19:53:39] ORLY? where's that? i should really pay more attention to our strategery [19:53:56] yeah, not a lecture. Birds of a Feather session I was thinking. [19:54:43] https://meta.wikimedia.org/wiki/Wikimedia_Foundation_Annual_Plan/2017-2018/Draft/Programs/Product [19:54:47] or panel, but then i'd need to lasso four or five other people interested in nattering on about it [19:54:54] want to be on a panel? [19:54:57] Sure. [19:55:53] you, me, david, maybe erik moeller and Pau Giner? [19:55:58] that could be an interesting conversation [19:56:42] Maybe. Might want another user-person more than an engineery-person? [19:56:47] heck, i'll send the above list an email broaching the idea, and if no one other than me is excited about it i'll fall back on the BoF session, which is more self-organizing. [19:57:06] James_F: yeah, totally. i'd really like someone active on fighting harassment and vandalism to contribute [19:57:07] any suggestions? [19:57:35] quiddity? [19:57:54] Maybe we could ask Patrick Earley? It's his team leading the community side of the anti-harassment work. [19:57:58] err, how far back do I have to read? [19:58:04] Nick's always awesome, of course. [19:58:11] quiddity: how long is your scrollback buffer? ;) [19:58:33] quiddity: Want to be on cscott's panel asking community about the uses of real-time editing at Montréal? [19:58:34] no, really just search for cscott and start reading what that guy says. you don't have to pay attention to any of the other folks in this channel. ;-p [19:59:13] James_F: as i read that in my head I'm assuming you're pronouncing Montréal as the french do. [19:59:42] cscott: Mais oui. [20:01:10] i'm planning to road trip to Montréal in my EV. should be fun. [20:01:24] * James_F grins. [20:01:25] and of course i look forward to hearing you practice your french [20:01:49] I think that'd be a pain-strewn experience for us all. [20:01:57] exactly. [20:02:12] ;) [20:13:16] cscott, yeah, I agree with James re: presentations. Even a panel discussion seems imperfect or inapplicable. As for a BoF session, that might be useful, but you'd need to clearly delineate what topics are on the table, what background needs to be taken into context (and which bits could/might feasibly be changed in the coming years), and what the future possibilities are. My keyword du jour is "decision tree" - editors^H^H^H^H [20:13:16] participants in a discussion want to know the pros/cons/options, and which decisions lead to which outcomes - a decision tree is the ideal complexly-detailed roadmap I most want to see, in all parts of the movement & org. [20:26:59] ok, email sent. [20:35:15] 10VisualEditor: Add/document best practices for handling for toolbar fixed-position starting point to account for fixed site headers - https://phabricator.wikimedia.org/T162489#3164909 (10Isarra) [20:39:48] 10VisualEditor: VE toolbar: Generic narrow-width/mobile support - https://phabricator.wikimedia.org/T162490#3164938 (10Isarra) [20:43:34] 10VisualEditor: VE toolbar: Generic narrow-width/mobile support - https://phabricator.wikimedia.org/T162490#3164977 (10Jdforrester-WMF) [20:43:38] 10VisualEditor, 10OOjs-UI, 13Patch-For-Review: OOjs UI: Responsive VE toolbar - https://phabricator.wikimedia.org/T92315#3164980 (10Jdforrester-WMF) [20:46:28] 10VisualEditor, 10VisualEditor-Tables: Handle visual diffing of table cell merges - https://phabricator.wikimedia.org/T149851#3164988 (10Esanders) We also need to decide how we'd like table (un)merges to appear. Unmergres can simple be shown as the insertion of all but the top left cell: {F7350184} -> {F7350... [20:48:24] 10VisualEditor: .ve-ce-documentNode adds padding to content, expecting margin to be removed somewhere else - https://phabricator.wikimedia.org/T162493#3164994 (10Isarra) [20:48:43] 10VisualEditor: Add/document best practices for handling for toolbar fixed-position starting point to account for fixed site headers - https://phabricator.wikimedia.org/T162489#3164909 (10matmarex) I think $wgVisualEditorSkinToolbarScrollOffset is actually what you want. Per 10VisualEditor, 10VisualEditor-Tables: Handle visual diffing of table cell merges - https://phabricator.wikimedia.org/T149851#2766426 (10Jdforrester-WMF) Agree on un-merges. Not sure what you're showing in "the other way" – is that adding things to an already merged cell? [20:53:57] 10VisualEditor: Add/document best practices for handling for toolbar fixed-position starting point to account for fixed site headers - https://phabricator.wikimedia.org/T162489#3165019 (10Isarra) I think some of them do vary their height based on what screen resolution it is. Bluesky doesn't actually have a set... [21:01:19] (03CR) 10jenkins-bot: Localisation updates from https://translatewiki.net. [extensions/VisualEditor] - 10https://gerrit.wikimedia.org/r/347109 (owner: 10L10n-bot) [21:28:47] 10VisualEditor: Set $wgCiteVisualEditorOtherGroup to true by default, and properly document it - https://phabricator.wikimedia.org/T162500#3165143 (10Isarra) [21:28:49] 10VisualEditor: Set $wgCiteVisualEditorOtherGroup to true by default, and properly document it - https://phabricator.wikimedia.org/T162501#3165156 (10Isarra) [21:32:34] cscott: Re real-time editing progress: David and I brainstormed some more about tech details when I visited him in HK two months ago. On the flights to/from Boston recently I worked on logging and unit test stuff [21:33:18] Basically, when we used VE for note-taking during the discussion at the Seattle offsite, we noticed bugs (e.g. the conflict algorithm ate entire sentences that I wrote sometimes). We don't know how to repro those bugs right now [21:33:53] So my idea was, if we have bugs / undesired behaviors that only happen when we throw lots of people at the software, let's have good logging so that we can go back and look at what triggered these bugs [21:34:59] This also means that it'd be nice to be able to replay a session from logs for debugging, so I converted David's existing unit tests to a data provider pattern and wrote an (untested) function that takes a log of a session and converts it to the unit test data format, which means you can replay [21:38:48] cscott: As for changes to the "interesting" parts, e.g. the conflict algorithm, we threw around some ideas for things we want to do but we haven't done anything yet [21:39:19] Right now the conflict algorithm is very blunt: if the "modified ranges" overlap, it's a conflict [21:39:52] I would like to refine that so that e.g. bolding a sentence while someone is typing in the middle of that sentence isn't a conflict [21:42:00] right [21:44:47] cool. i wrote some good test cases for the conflict algorithm as part of my patches. it is easier to write test cases than it is to make your implementation pass them! [21:45:03] Oh cool [21:45:14] Want me to point you to the tests for our code, so you can add (failing) test cases? [21:45:47] Unfortunately the tests that test the rebase algorithm itself aren't data-provider-ized yet [21:46:12] Only the ones that test RebaseClient and RebaseServer (i.e. management of unsubmitted/submitted/confirmed changes) [21:46:57] But ve.dm.Change.test.js has some rebase test cases (which need to be converted to a data provider) [21:47:31] And ve.dm.RebaseServer.test.js has the other stuff [21:49:24] https://gerrit.wikimedia.org/r/#/c/84442/2/modules/ve/test/dm/ve.dm.Transaction.transpose.test.js [21:50:38] some of which were originally ported from etherpad or some other OT implementation. [21:50:44] Nice [21:50:46] Thanks for that [21:51:12] I will take the data part of those tests and port them to test our code [21:51:20] Probably tomorrow if the weather is as bad as predicted [21:51:46] coolio. pay more attention to the inputs than the outputs [21:52:11] Right [21:52:11] IIRC you can define different semantics for what the results "should" be, depending on the precedence you give different operations, different actors, etc. [21:52:22] Yeah [21:52:24] the important thing is to think carefully about the outputs and make sure they are all consistent and sensible [21:53:15] most of my test cases I believe are in normal and "flipped" versions, where you switch the two participants. you'll get different results depending on "who goes first". [21:53:20] but you should never get a case where things totally break ;) [21:53:24] Yes :) [21:53:59] Hah we don't even have unit test for ABXY [21:54:08] So, as you alluded to we have an author priority feature [21:54:36] you need to, it's impossible to write semantics w/o arbitrarily picking priority [21:54:40] Whereby if we start with an empty state, I write AB, and you write XY, the result should always be ABXY or XYAB, but never XABY, regardless of the order in which the transactions arrived at the server [21:54:44] ABXY or XYAB, there's really no other sensible choice [21:54:56] right. [21:55:01] AXBY is what you would get before David fixed that [21:55:02] well, you can also choose AB or XY [21:55:07] To my surprise we don't have a unit test for this [21:55:26] Or at least not one that I recognize as testing the AXBY->ABXY thing [21:55:40] Aha but you do, awesome [21:55:43] i think it's reasonable to drop one authors contributions on the floor, at least in some cases. they'll just do them again. it's better than corrupting the document. [21:56:44] but my point is just that there's no "symmetric" way to resolve the conflict. Even AXBY isn't symmetric. So you need to pick a winner. Hence the tests will have a different output if you flip the participants. [21:56:48] but i'm preaching to the choir, i know [21:57:22] I'm the one that convinced David that we needed to redefine/reconsider our concept of "symmetry" :) [21:58:05] I guess the only symmetric result is "", that is, drop both contributions on the floor (equally) [21:58:25] Or, well, I think he pointed out the AXBY problem and then I came up with a different symmetry framework [21:58:40] We initially thought that the rule would be x + y/x == y + x/y [21:58:53] Where x/y means "x rebased on top of y" and == means "equivalent effect" [21:59:15] I argued that instead it should be x + y/x == y + x\y where \ (left-rebase) and / (right-rebase) are different operations [22:00:52] yeah. the rule is actually given x on top of A and y on top of B, compute x' and y' such that A->x->y' == B->y->x' [22:01:04] Anyway -- if you are interested in the details of how we (mostly David) set all this stuff up, read ve.dm.Change.js, that whole class is a quite elegant invention of David's IMO [22:01:11] that's the official OT transpose operation. [22:01:15] Right [22:01:23] In our case we require that A==B [22:01:44] but it just lets you avoid sending x to B. yeah, it's more easy to insist that everyone have the same base. [22:02:07] but i think the operation is still the same, because what you do is run that transpose up the tree from bottom up [22:02:14] Yes exactly [22:02:37] but i guess you just need y' and can throw away x' (and y) when you are done. [22:02:38] You still have to do different-base transposes, you just work through it from a common base [22:02:44] right. [22:02:45] No we actually use both [22:02:59] Basically, the following happens [22:03:26] Client A has local change x (which could be submitted or unsubmitted, but has not been canonized) [22:03:48] Then the server informs it that change y from client B is now confirmed/canonized/whatever [22:03:59] https://gerrit.wikimedia.org/r/#/c/84442/2/modules/ve/dm/ve.dm.Transaction.transpose.js line 218 and following [22:04:02] So then A has to rebase x onto the new canonical history [22:04:24] So A's local history needs to change from a->b->x to a->b->y->x' [22:05:03] But what we actually do is apply y', and rewrite the history to be abyx' even though the actual sequence of applied transactions is abxy' [22:05:24] Because we don't want to undo x, apply y, reapply x' if we can instead just apply y' and get the same thing [22:05:25] yeah, where y' is useful is in efficiently transforming your "current document" to the result of a->b->y->x', given a->b->x [22:05:30] exactly [22:05:57] however, in one of my implementations i found it was more efficient to just keep two complete copies of the document around, one the "canonical" version and one the working copy [22:06:16] and it was easier just to throw away the working copy, clone the canonical version, and apply y and x' to that. [22:06:16] How so? [22:06:40] but i think that was because the VE implementation at that time had some limitations. i think it was related to undo stacks maybe. [22:06:52] I see [22:06:59] Also the units we use are not Transactions but Changes [22:07:06] i can't remember exactly. but it wasn't a fundamental thing, it was just trying to make the best of the VE API as it was then. [22:07:11] A Change is a set of transactions and also wraps some IndexValueStore-related stuff [22:07:31] Change is what has all the rebase operations etc, and internally it does pairwise rebasing of the constituent transactions [22:07:56] yeah, i also ran into that, where the transpose of a transaction was not necessarily a single transaction. [22:08:19] Oh ultimately it's still 1:1 [22:08:28] sometimes you need two "transactions" after the rebase to have the same effect as the single transaction before the rebase. [22:08:33] But having this kind of stuff on the Change level means you can merge Changes together and still have a Change that is rebaseable [22:08:49] We haven't encountered a case where you need that 2 vs 1 thing that you describe [22:09:08] But we also have a very simple resolution algorithm right nwo [22:09:12] for example, if a[bcd]e one side wants to delete bcd and the other want to insert "foo" in the middle. one possible semantic (there are others) had the result being a[foo]e [22:09:14] It's just retain padding [22:09:22] Anything that can't be resolved with retain padding is a conflict right now [22:09:46] but if you insert foo first, then you needed two transactions to separately remove [b] and [cd] after the rebased result was abfoocde [22:10:18] i think i just hacked around that my deciding that the result in that case ought to be ae (the foo was deleted) which avoids that particular problem [22:10:36] but in the general case there were issues like this where contiguity was affected by the rebase. [22:11:06] being able to group multiple transactions together, and have the result of the rebase possible be multiple operations, would help. [22:11:16] anyway, my alarm went off, i've got to run pick up my kids [22:11:32] we'll talk more later? [22:12:48] Aah interesting [22:12:57] Sure [22:13:10] That's a very interesting case that I hadn't thought of, htanks [22:13:29] * RoanKattouw puts that in an email to David [22:18:11] 10VisualEditor: Set $wgCiteVisualEditorOtherGroup to true by default, and properly document it - https://phabricator.wikimedia.org/T162500#3165253 (10Esanders) [22:18:14] 10VisualEditor: Set $wgCiteVisualEditorOtherGroup to true by default, and properly document it - https://phabricator.wikimedia.org/T162501#3165255 (10Esanders) [22:26:22] 10VisualEditor: .ve-ce-documentNode adds padding to content, expecting margin to be removed somewhere else - https://phabricator.wikimedia.org/T162493#3164994 (10Esanders) The padding is set on the document node so you can click on the gutter to set the cursor. Not every skin will want to remove it (cf standalon... [22:36:59] 10VisualEditor, 06Editing-Department, 10MobileFrontend, 07Epic, and 4 others: [EPIC] Enable editing for mobile users without JavaScript and kill Special:MobileEditor code in MobileFrontend - https://phabricator.wikimedia.org/T125174#3165293 (10Jdlrobson) [22:38:09] MatmaRex: Are you aware VE is not loading on redlink pages? [22:38:20] complains that skin isn't supported [22:39:30] 10VisualEditor, 06Editing-Department, 10MobileFrontend, 07Epic, and 4 others: [EPIC] Enable editing for mobile users without JavaScript and kill Special:MobileEditor code in MobileFrontend - https://phabricator.wikimedia.org/T125174#3165302 (10Jdlrobson) So I've made some changes above to compact the infor... [22:39:30] cc James_F [22:40:18] Eurgh. But it loads? [22:40:41] no [22:40:52] https://en.wikipedia.beta.wmflabs.org/wiki/PageDoesn'tExist?veaction=edit loads fine for me, no error on the console. [22:40:55] Where are you getting that? [22:41:09] 10VisualEditor, 06Editing-Department, 10MobileFrontend, 07Epic, and 4 others: [EPIC] Enable editing for mobile users without JavaScript and kill Special:MobileEditor code in MobileFrontend - https://phabricator.wikimedia.org/T125174#3165308 (10Jdlrobson) We may want to consider hiding the minor edit and wa... [22:41:43] 10VisualEditor: .ve-ce-documentNode adds padding to content, expecting margin to be removed somewhere else - https://phabricator.wikimedia.org/T162493#3165309 (10Isarra) So the idea is add pile of padding, let skin get rid of it after the fact if it doesn't want it? [22:41:57] edsanders: See https://phabricator.wikimedia.org/T162411 [22:42:00] https://en.wikipedia.org/wiki/PageDoesNotExist?veaction=edit [22:42:49] edsanders: Are you logged out? IPs are able to create articles on enwiki... [22:42:55] 10VisualEditor, 06Editing-Department, 10MobileFrontend, 07Epic, and 4 others: [EPIC] Enable editing for mobile users without JavaScript and kill Special:MobileEditor code in MobileFrontend - https://phabricator.wikimedia.org/T125174#3165313 (10Jdlrobson) a:03Jdforrester-WMF Can anyone in your team provid... [22:43:12] hmm [22:43:25] Err. * aren't [22:43:35] did we fix VE not loading on those pages [22:43:45] What pages? [22:43:48] because it used to work [22:43:59] (the screenshot tests) [22:44:14] Oh, is that what broke those tests? [22:44:51] yeah [22:44:53] Yeah, possibly MatmaRex's insistence on there actually being a content block to load into means we might refuse to load now. [22:45:17] * James_F tsks. [22:45:51] 10VisualEditor, 15User-zeljkofilipin: LanguageScreenshotBot fails with `Error: timeout of 40000ms exceeded. Ensure the done() callback is being called in this test.` - https://phabricator.wikimedia.org/T162454#3165317 (10Esanders) Looks like VE isn't loading on non-existant pages any more (https://en.wikipedia... [22:47:31] 10VisualEditor, 10Timeless: VE in Timeless makes cactions non-responsive, trapping users forever - https://phabricator.wikimedia.org/T162503#3165323 (10Isarra) [23:15:00] edsanders: whoops. [23:15:27] wait, is there a bug? [23:18:49] Well skin not supported is the wrong message maybe? [23:18:59] But not as serious as i thought [23:20:33] edsanders: i'll look into it if you file [23:20:44] edsanders: https://phabricator.wikimedia.org/T162411 is probably similar? that one is on my list already [23:21:01] i thought i tested this. grumble [23:21:19] 10VisualEditor, 10VisualEditor-MediaWiki, 10Vector: "Your skin is incompatible with VisualEditor" warning on protected pages - https://phabricator.wikimedia.org/T162411#3165444 (10matmarex) a:03matmarex [23:22:13] probably i just need to move the check somewhere later. it's just that the whole file is literally a 300-line condition [23:25:26] 10VisualEditor: .ve-ce-documentNode adds padding to content, expecting margin to be removed somewhere else - https://phabricator.wikimedia.org/T162493#3165449 (10matmarex) a:03matmarex