{"push_id":2948784118,"size":335,"distinct_size":1,"ref":"refs/heads/php-prototype","head":"30c1cabc25da7cdc0b962ce70bbe5c0c0da0d52d","before":"db7e271e113ceccf63b464f52fe9938a0fe55ecb","commits":[{"sha":"3e7445cea44e7c92f7529bb3af623941969a7314","author":{"name":"Subramanya Sastry","email":"13bcde4e4f01fc7f5eccdcbb53888b4588434c30@wikimedia.org"},"message":"DOM Passes: add option to enable/disable it on nested DOMs\n\n* This eliminates the repetitive pattern of checking for whether\n  the pass should be run on the top level dom or not.\n\n* Made table and li fixups run once on the top level DOM.\n  There is really no reason to do them piecemeal.\n\n  Table fixups especially make more sense when the entire DOM\n  has been assembled since those fixups are entirely about\n  cobbling together information from pieces.\n\nTODO:\n1. There is some straggler use of atTopLevel in cleanup.js.\n   If we are able to get rid of it, we can stop passing in this\n   parameter into the handlers and processors.\n\n2. It is not entirely clearly if extensions would need to run\n   any dom analysis on nested doms or if they need to only do\n   it on the global dom. To be resolved and fixed.\n\nChange-Id: I98d8374d750d39430558d388a778c2f5230b79b1","distinct":false,"url":"https://api.github.com/repos/wikimedia/parsoid/commits/3e7445cea44e7c92f7529bb3af623941969a7314"},{"sha":"815fd49253d7d4de58f5757433a5924d0aa1bb69","author":{"name":"Arlo Breault","email":"34de42410e5c846db6fd3369d4b9afdf3cce8d19@wikimedia.org"},"message":"Remove fixme in handlepres\n\nThe php parser is quirky.  Even though div, blockquote, and center\ninduce closing a paragraph, because their opening tags match the regexp\nfor closeMatch (/?), they don't move to the inBlockElem state, and hence\nindent pre is permissible inside them.  There's a special case for\nblockquote however, with inBlockquote, which results in that being the\nexception of the three.\n\nhttps://github.com/wikimedia/mediawiki/blob/4b2f95bed5a9ae0a917264abed2ba1fd9fb78f3c/includes/parser/BlockLevelPass.php#L323\n\nBug: T53262\nChange-Id: I37564ee28897b16cfd99caa8a2eca54842e2148e","distinct":false,"url":"https://api.github.com/repos/wikimedia/parsoid/commits/815fd49253d7d4de58f5757433a5924d0aa1bb69"},{"sha":"623774fc2ba4f104bc1794fb79ba482705462740","author":{"name":"Subramanya Sastry","email":"13bcde4e4f01fc7f5eccdcbb53888b4588434c30@wikimedia.org"},"message":"Unbreak time tracing on nested DOM passes.\n\n* Using yield was effectively causing synchronous DOM passes\n  to be spun off and stopped at the yield point screwing up\n  with the time accounting currently in place in --trace time\n\n  Check out output of --time trace (with --replay option) on a page\n  before/after this patch.\n\n* about ids for tests changed which is why there is one change to\n  a parser test and updates to the blacklist.\n\nChange-Id: I75f6ceb3db977181be72edaec85723b35fb5b53c","distinct":false,"url":"https://api.github.com/repos/wikimedia/parsoid/commits/623774fc2ba4f104bc1794fb79ba482705462740"},{"sha":"bd7bc0b52dbfab7b50c516a474f29e966e1328c6","author":{"name":"Arlo Breault","email":"34de42410e5c846db6fd3369d4b9afdf3cce8d19@wikimedia.org"},"message":"Redirect to the right path\n\nIn cd08442 we preserved the method, just sent it to the wrong path.\n\nBug: T169006\nChange-Id: Ief4d082ee5403d78753c146dde76d5aec6b99bb4","distinct":false,"url":"https://api.github.com/repos/wikimedia/parsoid/commits/bd7bc0b52dbfab7b50c516a474f29e966e1328c6"},{"sha":"d30a9d3b05ae48fa7c5e83782e9d4a6ba7640951","author":{"name":"Arlo Breault","email":"34de42410e5c846db6fd3369d4b9afdf3cce8d19@wikimedia.org"},"message":"Handle exception from title-invalid-talk-namespace\n\nscowiki's namespace aliases aren't the same as the baseconfig's, and so\nvalid talk pages were being rejected.  Delay initializing the env for\nthe page name until after switching to the right config.\n\nBug: T188338\nChange-Id: I26ab7f383cc2c2205665d99fc1be0c24976e39ee","distinct":false,"url":"https://api.github.com/repos/wikimedia/parsoid/commits/d30a9d3b05ae48fa7c5e83782e9d4a6ba7640951"},{"sha":"71ae6173245c0f57f4bd436099dfed890f58ba79","author":{"name":"C. Scott Ananian","email":"3d675346f332e33a44de3ad37683887c49518f06@wikimedia.org"},"message":"Update to latest version of jsdoc-wmf-theme + a few doc tweaks\n\nAdded a few more documentation comments just to exercise jsdoc's handling\nof class properties.\n\nChange-Id: I8234e77a6c864bea6c99d420711d2587601681f1","distinct":false,"url":"https://api.github.com/repos/wikimedia/parsoid/commits/71ae6173245c0f57f4bd436099dfed890f58ba79"},{"sha":"b08abb66888b7adbaf8fc4d6e7c733747bd75422","author":{"name":"C. Scott Ananian","email":"3d675346f332e33a44de3ad37683887c49518f06@wikimedia.org"},"message":"Turn on eslint `jsdoc/check-tag-names` rule.\n\nChange-Id: Ifd9a5319171684015463d6b5759ed2308bff1a5b","distinct":false,"url":"https://api.github.com/repos/wikimedia/parsoid/commits/b08abb66888b7adbaf8fc4d6e7c733747bd75422"},{"sha":"deb44ffe7d593cf72931f3ef05ed38492b4d03b7","author":{"name":"Arlo Breault","email":"34de42410e5c846db6fd3369d4b9afdf3cce8d19@wikimedia.org"},"message":"Bump patch level of content version for 07789e6\n\nChange-Id: Iede60d5405acdfc14e1507a288d156b1d22a5dea","distinct":false,"url":"https://api.github.com/repos/wikimedia/parsoid/commits/deb44ffe7d593cf72931f3ef05ed38492b4d03b7"},{"sha":"0c3abce0886415af6f4f21851d896d443e0044e2","author":{"name":"Subramanya Sastry","email":"13bcde4e4f01fc7f5eccdcbb53888b4588434c30@wikimedia.org"},"message":"Don't process token attributes unnecessarily\n\n* The async flag is false in AttributeTransformManager only when the\n  attributes of the token being processed won't get updated or expanded.\n\n* Given that, there is no reason going async and then rebuilding\n  new attributes. Based on some logging, I found that > 60% of tokens\n  went through buildExpandedAttrs even though ~1% of all tokens\n  actually got their attributes updated.\n\n  Accordingly, juggled around some yield/async logic to bypass the\n  buildExpandedAttrs method altogether where possible.\n\n* Eliminated unnecessary promise creation from the common case path\n  where the attributes come through unchanged. So, I moved back from\n  async/yield to promises in AttributeExpander.onToken\n  (and TemplateHandler.onTemplate just to be consistent).\n\n* Together, the previous two optimizations lead to significant perf\n  improvement.\n\n  On enwiki:Berlin, went from 8.3s -> 8.1s -> 7.9s on my laptop\n\n  parserTests complete faster as well.\n\n* There is another source of inefficiency lurking around still that will be\n  addressed later. While the 60% of tokens now bypass buildExpandedAttrs,\n  they still go through AttributeTransformManager.process and build a new\n  key-value array that is not actually used. It would be useful to skip\n  that as well in a subsequent patch.\n\nChange-Id: I2e8d90dcc407ba49e375a479acc451ef6e3a1f4d","distinct":false,"url":"https://api.github.com/repos/wikimedia/parsoid/commits/0c3abce0886415af6f4f21851d896d443e0044e2"},{"sha":"6de4214182cf2c6e517bef03a5407234a04a8429","author":{"name":"Subramanya Sastry","email":"13bcde4e4f01fc7f5eccdcbb53888b4588434c30@wikimedia.org"},"message":"Additional cleanup following the previous patch\n\nSince tokens enter the buildExpandedAttrs method only if\nthe token had expandable attributes, there is no need to track\nmodification state. For the small fraction of tokens that go\nthrough it, treat them all as modified. This leads to simpler\ncode.\n\nChange-Id: Icf0c53d13074ff740716dc2973d8462a287a19a6","distinct":false,"url":"https://api.github.com/repos/wikimedia/parsoid/commits/6de4214182cf2c6e517bef03a5407234a04a8429"},{"sha":"1415a2ad47d447f78c1f17aa782b32fc7a055c1b","author":{"name":"Subramanya Sastry","email":"13bcde4e4f01fc7f5eccdcbb53888b4588434c30@wikimedia.org"},"message":"Don't allocate attribute arrays if not required\n\n* Most tokens that go through the AttributeTransformManager\n  come out unchanged. There is no reason to wastefully allocate\n  new attribute arrays and new KV objects to store unchanged\n  key-value pairs.\n\nChange-Id: I0e839be9b1d1c21478afd26ec47ae38273f5c27f","distinct":false,"url":"https://api.github.com/repos/wikimedia/parsoid/commits/1415a2ad47d447f78c1f17aa782b32fc7a055c1b"},{"sha":"fe70f9874d18aca6d48fe69caea1319f3b620ad0","author":{"name":"C. Scott Ananian","email":"3d675346f332e33a44de3ad37683887c49518f06@wikimedia.org"},"message":"The `normalize` post processor isn't needed any more\n\nThis pass becomes a one-liner now that the implementation of\nNode#normalize() has been fixed in domino.\n\nChange-Id: Iad835280301d7896405f218e974183ce02e76640","distinct":false,"url":"https://api.github.com/repos/wikimedia/parsoid/commits/fe70f9874d18aca6d48fe69caea1319f3b620ad0"},{"sha":"c8bb0f9e45f1505a3fcfc81093a4a665d8a05148","author":{"name":"C. Scott Ananian","email":"3d675346f332e33a44de3ad37683887c49518f06@wikimedia.org"},"message":"Improve jsdoc summaries.\n\nThe summary is the first sentence of the method/class description.  In\nsome cases we're missing a period so our \"summary\" runs on and on.\n\nMany of these were fixed up automatically by the\n`jsdoc/require-description-complete-sentence` eslint rule, but\nit has a few bugs yet (especially\nhttps://github.com/gajus/eslint-plugin-jsdoc/issues/62 ) so we\ncan't yet turn it on by default.\n\nChange-Id: I5163ed2c52b21090ce018573bb3ff06d50620d73","distinct":false,"url":"https://api.github.com/repos/wikimedia/parsoid/commits/c8bb0f9e45f1505a3fcfc81093a4a665d8a05148"},{"sha":"a4b326690213736132a4a48d3c398c10a1504e6b","author":{"name":"C. Scott Ananian","email":"3d675346f332e33a44de3ad37683887c49518f06@wikimedia.org"},"message":"Include roundtrip tests in coverage\n\nChange-Id: I8368f2b0ca951f9b8c12ace262124228a29a3544","distinct":false,"url":"https://api.github.com/repos/wikimedia/parsoid/commits/a4b326690213736132a4a48d3c398c10a1504e6b"},{"sha":"40e38e2f83ea692554c4ea427119dd6b0227ca57","author":{"name":"Arlo Breault","email":"34de42410e5c846db6fd3369d4b9afdf3cce8d19@wikimedia.org"},"message":"Remove type from _startTokenPipeline\n\nIt was only ever constant and omitted in batching.\n\nChange-Id: I489c5fe6b3dfc1550bfbe0120658b1caccf2612b","distinct":false,"url":"https://api.github.com/repos/wikimedia/parsoid/commits/40e38e2f83ea692554c4ea427119dd6b0227ca57"},{"sha":"d60cc24f06f41bf5022b861e06887147518c52a0","author":{"name":"C. Scott Ananian","email":"3d675346f332e33a44de3ad37683887c49518f06@wikimedia.org"},"message":"Suppress bogus warning about \"variant\" parameter to action=parse\n\nFixing the warning in core is T117549, but it seems to be stalled.\n\nChange-Id: I857fd4c5b8ceeafa87ccc520d1718a3c3b19adf4","distinct":false,"url":"https://api.github.com/repos/wikimedia/parsoid/commits/d60cc24f06f41bf5022b861e06887147518c52a0"},{"sha":"dc7f5d4f6272ccd8183d23b2b5d6a24f7e6c746e","author":{"name":"C. Scott Ananian","email":"3d675346f332e33a44de3ad37683887c49518f06@wikimedia.org"},"message":"Improve Diff.colorDiff\n\nIt now supports limiting the amount of context shown, as well as HTML\nand \"no color\" output modes.  You can also ask it to return the number\nof differences found, as well as the pretty-printed diff.\n\nChange-Id: I8f9fba1453cddec80710ee0fcb1bc6e404c75291","distinct":false,"url":"https://api.github.com/repos/wikimedia/parsoid/commits/dc7f5d4f6272ccd8183d23b2b5d6a24f7e6c746e"},{"sha":"580d03caf193df468db4ad656f9e1e4850d966e5","author":{"name":"C. Scott Ananian","email":"3d675346f332e33a44de3ad37683887c49518f06@wikimedia.org"},"message":"Improve the diff output generated by parserTests\n\nLimit the lines of context shown in the diff, use explicit change\nmarkers instead of color in no-color mode (ie piping to a file),\nand make some invisible whitespace visible so some of the displayed\ndiffs make more sense.\n\nAlso contains a few jsdoc improvements scattered around the file.\n\nChange-Id: Id44b322aa9a04b90b91b6e16ee1cf44836477ae4","distinct":false,"url":"https://api.github.com/repos/wikimedia/parsoid/commits/580d03caf193df468db4ad656f9e1e4850d966e5"},{"sha":"a3cbcd4cf4d3a41c35ec590c5c227e67b2691f27","author":{"name":"Subramanya Sastry","email":"13bcde4e4f01fc7f5eccdcbb53888b4588434c30@wikimedia.org"},"message":"Added --dump extoutput option\n\n* The equivalent of the --dump tplsrc flag we already had,\n  but for extensions. Useful on occasion.\n\n* Also, changed console.log to console.warn for --tplsrc since\n  we can do a > /dev/null but still see the dump output.\n\nChange-Id: I3298ee17dd8518cfa0ff5b498bafd7a80d0c6a20","distinct":false,"url":"https://api.github.com/repos/wikimedia/parsoid/commits/a3cbcd4cf4d3a41c35ec590c5c227e67b2691f27"},{"sha":"bbf764424487472ce117453ff1407d0348e92bc7","author":{"name":"Arlo Breault","email":"34de42410e5c846db6fd3369d4b9afdf3cce8d19@wikimedia.org"},"message":"xmlish tags in wikilink title position are invalid\n\nNot according to the preprocessor ABNF but at later stages in the php\nparser, namely replaceInternalLinks.\n\nSee I0d87aca1bb0adf4ec5ac480e0373a65fcd150a72\n\nThe newly failing wt2wt is currently expected, since escape analysis\nisn't smart enough to know it doesn't need to protect the closing link\nsyntax.  The selser failures are false; it knows better than wt2wt.\n\nBug: T188591\nChange-Id: I606aea5d21a7657cf1537ebb200ed2246eb98b9f","distinct":false,"url":"https://api.github.com/repos/wikimedia/parsoid/commits/bbf764424487472ce117453ff1407d0348e92bc7"}]}
{"actor":{"display_login":"wmfgerrit"}}