Commit graph

944 commits

Author SHA1 Message Date
jenkins-bot 4eed14b4e7 Merge "Fix client-side IDs for indistinguishable comments" 2020-11-22 22:38:57 +00:00
libraryupgrader db6838a267 build: Updating npm dependencies
* grunt-stylelint: 0.15.0 → 0.16.0
* stylelint-config-wikimedia: 0.10.1 → 0.10.3
  The following rules are failing and were disabled:
  * unit-disallowed-list

Change-Id: Iab814dccab72d4c4f98a901f0368f579b3cf424e
2020-11-22 01:20:32 +00:00
jenkins-bot cac72e1c99 Merge "Fix start node for comments following headings" 2020-11-20 18:22:34 +00:00
jenkins-bot 31879880f9 Merge "Base TreeWalker implementation on PHPDOM" 2020-11-20 18:22:32 +00:00
Translation updater bot d8434d6d7f Localisation updates from https://translatewiki.net.
Change-Id: Iebf59ccd1d5f6c0f43dda77df0b9c9966b86faee
2020-11-20 09:17:42 +01:00
libraryupgrader 59009a8f26 build: Updating mediawiki/mediawiki-phan-config to 0.10.4
Change-Id: Ia27150524a70272eff6582f8827259bec3b45511
2020-11-20 03:18:36 +00:00
Ed Sanders 44a1bbcc59 Fix start node for comments following headings
The general rule is that comments start after their preceding
thread item, but when that is a heading we should skip past
the entire <h[1-6]> node to avoid making section edit links
part of the first comment.

Bug: T267988
Change-Id: Ia7f1b27e0a69a9aab7c7da743bf8549479304096
2020-11-19 23:48:30 +00:00
Ed Sanders 763ce88021 Base TreeWalker implementation on PHPDOM
For consistency with other DOM implementations.

Change-Id: I20447d880ccd3b70b6694b36ea2f63dd0c42fa84
2020-11-19 23:45:42 +00:00
Translation updater bot 980e88f040 Localisation updates from https://translatewiki.net.
Change-Id: I7992bce0f63c30dd858566cb2796761685c1ee2f
2020-11-19 09:10:03 +01:00
Bartosz Dziewoński d0b6904bae Fix client-side IDs for indistinguishable comments
Bug: T268093
Change-Id: I198b090904e3ae5f2e214b457233d61cb77802af
2020-11-18 20:08:21 +01:00
Translation updater bot 3b9ba82436 Localisation updates from https://translatewiki.net.
Change-Id: I420f142f243db8fca5d5562d5a3a120e935bfbe8
2020-11-18 08:56:02 +01:00
jenkins-bot 62bc99bdde Merge "Use Parsoid DOMCompat/DOMUtils in CommentFormatter" 2020-11-17 18:05:52 +00:00
jenkins-bot cbb34e1e62 Merge "Improve highlighter styling" 2020-11-17 10:34:00 +00:00
jenkins-bot 36bd857b81 Merge "Group comment warnings in DOM so they don't break alternate colours" 2020-11-17 10:33:59 +00:00
jenkins-bot 6c8d14e88a Merge "Highlighter: Fix check for comment warnings" 2020-11-17 10:33:58 +00:00
Translation updater bot 30300a7555 Localisation updates from https://translatewiki.net.
Change-Id: I92393057e84f3fb03c6048e66f5a427f4223e4d4
2020-11-17 08:42:17 +01:00
Ed Sanders e2f93727d4 Improve highlighter styling
Change-Id: Ie2982d1f8da217cad2fe7080137c39900451c591
2020-11-16 23:34:26 +00:00
Ed Sanders 2328a3cad0 Group comment warnings in DOM so they don't break alternate colours
Change-Id: I0516a57a30a59ee6eac0ad2f23f05ad83c396391
2020-11-16 23:32:56 +00:00
Ed Sanders 4d0498853d Highlighter: Fix check for comment warnings
This was causing the highlighter to not alternate colours.

Change-Id: I9bb95e02ae91967c696f026198efb27d4d8414d4
2020-11-16 23:18:05 +00:00
Ed Sanders 32cd64ec6a Use Parsoid DOMCompat/DOMUtils in CommentFormatter
As CommentFormatter no longer needs HTMLFormatter, remove
the inheritance and make addReplyLinks a static method.

Testing locally this is marginally slower, going from 2.55s
to 2.9s for the CommentFormatterTest case.

Bug: T266317
Bug: T267973
Change-Id: If69749cae678a1647a138d782a32032189f55cec
2020-11-16 22:28:07 +00:00
Ed Sanders 7d349808c2 ImmutableRange: Guard against appending empty fragments
This triggers a PHP warning.

Change-Id: I5ccb204287d55b38fadcef8cc846400a277e8491
2020-11-16 19:22:26 +00:00
Ed Sanders b03165fcce Compare node positions using upward traversal
A TreeWalker ends up walking potentially every single subsequent
node in the document looking for a target node. Instead use upwards
traversal to find a common ancestor, then sibling traversal to
compare document order.

This makes calling cloneContents on every comment on a 300k talk page
significantly faster, going from >30s to 500ms locally.

Change-Id: I28a2b8c11d4098d9bc44d19b98e19ccc02273098
2020-11-16 19:22:10 +00:00
jenkins-bot 5a5b2e61f1 Merge "ImmutableRange: Avoid doing expensive TreeWalker computation twice" 2020-11-15 14:43:01 +00:00
jenkins-bot 5937226f5f Merge "ImmutableRange: Skip redundant calls to isFullyContainedNode()" 2020-11-15 14:42:50 +00:00
Thiemo Kreuz 8ffe0d55da Remove comments that literally repeat what the code says
Change-Id: Ib928cf61dc512fbbf39a3279789376d635a82c52
2020-11-11 09:31:59 +01:00
jenkins-bot 76e6acf925 Merge "ReplyWidget: Ensure scrollbar doesn't appear in source mode" 2020-11-10 15:46:51 +00:00
Bartosz Dziewoński d5a1b7bc2b ReplyWidget: Ensure scrollbar doesn't appear in source mode
Even though the field is supposed to resize itself to match the text
inside, vertical scrollbar would sometimes appear when the user has
zoomed in. Some calculation probably handles fractions of pixels
incorrectly (might be a bug in OOUI or a browser bug).

Since this field has no limit on max rows, we can just hide the
scrollbar. This can't be fixed in OOUI itself, since its autosize text
fields usually have a limit to how tall they are allowed to grow
before a scrollbar is used.

Bug: T267609
Change-Id: Id36ed417c4678e469a6c05715404e330064c2017
2020-11-10 12:20:30 +01:00
Translation updater bot db94c4e266 Localisation updates from https://translatewiki.net.
Change-Id: Ia3a9f07350c75289ab38fae48c5409d79a6b902a
2020-11-10 08:40:11 +01:00
Translation updater bot f036aedd6a Localisation updates from https://translatewiki.net.
Change-Id: I26327fe245eb89156bf4486927aff0583628e578
2020-11-09 08:34:38 +01:00
Translation updater bot e4535ee968 Localisation updates from https://translatewiki.net.
Change-Id: If8e43474e308b6da2ca11eb33278d42a52a03d82
2020-11-06 08:33:39 +01:00
jenkins-bot 579cc20120 Merge "Move ID->title logic into HeadingItem" 2020-11-05 18:10:08 +00:00
jenkins-bot e378a9122b Merge "Don't detect comments within headings" 2020-11-05 16:56:02 +00:00
jenkins-bot 1f284947bb Merge "Always use ':' for indentation in preview" 2020-11-05 16:41:23 +00:00
Ed Sanders 3c88f7de39 Always use ':' for indentation in preview
Matches what we end up posting. Leave context-aware code
commented out as this issue is not settled yet.

Change-Id: I7360e53d5d7823b2b52318005459212a21a6edc2
2020-11-05 16:15:38 +00:00
Ed Sanders 79c91c3cfc Move ID->title logic into HeadingItem
Change-Id: I03408d2404a99b5bc7795c1c4bf214d4b5fea1e0
2020-11-05 16:10:39 +00:00
Ed Sanders 47b31101b8 ApiDiscussionToolsEdit: Remove stray line from old code
Change-Id: Id9561482d6fc2c2241790e61df1db71a4d520554
2020-11-05 16:02:58 +00:00
Bartosz Dziewoński 203a4dcb42 Use 'id' attributes rather than heading text for edit autosummaries
Ideally the edit autosummary would be generated in the same
way as in the old wikitext editor: from the wikitext of the
heading. But on the JS side, we don't have access to the
wikitext, or to the PHP method that generates autosummaries.

This might seem crazy at first, but ultimately the point of
the autosummaries is to link to the section heading by its
'id' attribute, so it is perfectly reliable.

Doing it this way depends on $wgFragmentMode being set to
[ 'html5', 'legacy' ] or [ 'html5' ], otherwise the escaped IDs
are super garbled (particularly in non-Latin-alphabet languages)
and can't be unescaped reliably. Conveniently, we already
require that since 9ee0fd69f5.

Bug: T264561
Bug: T266725
Change-Id: I7d35098d672d0edb50d49e22de1686d5cc83b60e
2020-11-05 15:13:08 +00:00
Bartosz Dziewoński bed717d329 Move getHeadlineNodeAndOffset() to utils
Needed by I7d35098d672d0edb50d49e22de1686d5cc83b60e.

Change-Id: I44bf927213de570fe9de43e485e09cfae6778eef
2020-11-05 16:11:30 +01:00
Bartosz Dziewoński 986e83ee61 Fix getHeadlineNodeAndOffset() returning text nodes
The condition was wrong, it could return either an element child with
.mw-headline, or a non-element child.

Bug: T267284
Change-Id: I28cda22ee8c5fe4a3259621adddd647b31291703
2020-11-05 16:09:35 +01:00
Translation updater bot db915bd141 Localisation updates from https://translatewiki.net.
Change-Id: I39a386f4bab8eb069447d4d25c928951ef6ad3cc
2020-11-05 08:28:38 +01:00
Ed Sanders 7abd4621ae Use new heading markers for getting heading ranges/text
This will need to be deployed a few days after I782caafc3
to avoid issues with cached HTML.

Change-Id: I4b00d0b0efed9d91c0bc28914bbdf0955bb552b6
2020-11-04 21:04:40 +00:00
Bartosz Dziewoński 1626242863 Don't detect comments within headings
Bug: T267068
Change-Id: Id134f15e086fd070801c4b1d836dbfbf9bf444ad
2020-11-04 21:57:33 +01:00
Translation updater bot 24c224a3e7 Localisation updates from https://translatewiki.net.
Change-Id: Ifdeb9c4f4f3546e6aada4f1ebbe943db09b3922c
2020-11-04 08:33:17 +01:00
libraryupgrader 7d19ec42e2 build: Updating mediawiki/mediawiki-codesniffer to 33.0.0
Change-Id: I513674e64115593d9a8effedac77fca31a56adce
2020-11-03 17:39:19 +00:00
Translation updater bot 23b915a91e Localisation updates from https://translatewiki.net.
Change-Id: Ib58bfa020a08abea22e868183c831e99e0bbcef5
2020-11-03 08:44:07 +01:00
jenkins-bot ad715a2724 Merge "Move warnings stuff from CommentItem to ThreadItem" 2020-11-02 22:03:36 +00:00
Bartosz Dziewoński 885d05b57b Handle any errors, not just exceptions
Internal PHP errors (such as "Call to undefined method…") are not Exceptions.
Follow-up to e18a0f3dcd.

Bug: T267035
Change-Id: I3cbf2b6b0d1d8a97cdac9791ec4f7b2ec807c7e5
2020-11-02 21:51:16 +01:00
Bartosz Dziewoński 31f6d44bf6 Move warnings stuff from CommentItem to ThreadItem
After recent changes allowing ThreadItems to have IDs, they can now
also have warnings about duplicate IDs.

Bug: T267035
Change-Id: If3edfe34e6e29741e29fac8946a3c88badc4ab7f
2020-11-02 20:07:23 +00:00
Bartosz Dziewoński e18a0f3dcd Handle exceptions in the OutputPageBeforeHTML hook
Instead of breaking the whole page, just log it and add a HTML comment.

Bug: T267035
Change-Id: Icec26cddb9db4816640d06881ed683e76067d54f
2020-11-02 20:15:37 +01:00
Translation updater bot 68ac32a1da Localisation updates from https://translatewiki.net.
Change-Id: I3c2355181fb7ad8988a5ef1261b11264084e488f
2020-11-02 08:52:51 +01:00