Commit graph

3563 commits

Author SHA1 Message Date
Ed Sanders b4f72b7516 NewTopicController: Fix tag list construction
Bug: T279157
Change-Id: I2fa8042878d0f24385a8528ef0ba26bd4689a387
2021-05-03 18:42:16 +01:00
jenkins-bot 9822a60757 Merge "Fetch user's topic subscriptions on the page in a single query" 2021-05-03 14:06:41 +00:00
Ed Sanders 911f1a68bd Apply transformations in ParserCache for all CommentFormatter features
i.e. for topic subscriptions as well as the reply tool.

Change-Id: I0a9e1a15e5a11adce0e1c55481fef0f4549360a6
2021-05-03 15:05:35 +01:00
Ed Sanders 35e97c24fe Disable wikitext paste conversion in source mode
Bug: T280745
Depends-On: Icc716563e5536b4ef33a48ba10a72f3a39bdec35
Change-Id: I5875d8aa12dee694c3e5bd7e1a980da284343722
2021-05-03 14:52:19 +01:00
Translation updater bot d80209f264 Localisation updates from https://translatewiki.net.
Change-Id: I5c1d68dfe933f5be8336a5a2ce57d30230cee6d8
2021-05-03 08:36:44 +02:00
Bartosz Dziewoński db3c1b25cc Highlight target comment when following a link or notification
Bug: T281471
Change-Id: I8a5bca70d86364f3fade76f72d32d2bf1b9aaf37
2021-04-29 20:13:41 +02:00
Ed Sanders 799754a3cf Remove unused 'inTargetWidget' config
Change-Id: I713c3bdd80ec375e9683441c289ba22ed9b7057a
2021-04-29 15:46:26 +01:00
Bartosz Dziewoński c490dc8164 Change DB column types from "string" to "binary" (VARCHAR to VARBINARY in MySQL)
Per Manuel Arostegui in T263817#7033384.

As I understand, this is just for consistency with tables in MediaWiki
core. Given that all tables are created with "DEFAULT CHARSET=binary"
(as defined in $wgDBTableOptions), there is no difference in behavior
between these two types.

Bug: T263817
Change-Id: I8dabcb45e447e0bf60b119fd4f7d6532147a44fc
2021-04-28 21:54:48 +00:00
Bartosz Dziewoński 475aa80057 Fetch user's topic subscriptions on the page in a single query
Previously, we have made a query per each topic on the page.

Bug: T281000
Change-Id: I1029e62a65fc191ca37e1178ea7ffc55afafa1b9
2021-04-28 21:54:26 +00:00
jenkins-bot 5af397c41b Merge "Fix eslint doc type warnings" 2021-04-28 16:11:53 +00:00
Translation updater bot 909a2b1370 Localisation updates from https://translatewiki.net.
Change-Id: Ic65ad00a85b4d5f31f520b7b12b9e9d6a7e488b5
2021-04-28 16:43:04 +02:00
Translation updater bot 3ac896fa52 Localisation updates from https://translatewiki.net.
Change-Id: I8697a8aebe77dc2351f4471f136c18e4e13b6337
2021-04-28 08:48:10 +02:00
Ed Sanders e995332d77 Fix eslint doc type warnings
Change-Id: Iaadc500609db3b462ef8de663f7ec34f46dc0434
2021-04-27 22:52:11 +01:00
Bartosz Dziewoński fcb177fa8c README for the SQL files
Change-Id: Ie8112c9eaa7bc8d0ff7b21f4516f3386be661229
2021-04-27 22:47:48 +02:00
Translation updater bot 85308bcd60 Localisation updates from https://translatewiki.net.
Change-Id: I657c60908cc25cd0a7ed69d4b606dda1f784db0a
2021-04-27 08:38:03 +02:00
Bartosz Dziewoński 49c1dde336 Abort DiscussionTools checks early when viewing a special page
Previously we relied on the NamespaceInfo check below to reject
special pages, but after commit 07d885248bc54bdc0f12d9745916c794d45ec81c
in MediaWiki core, PageProps throws an exception when called with a
special page.

Bug: T281180
Depends-On: I32c94107fde96b9d6344c77b621be9b3b9b7faaf
Change-Id: I0fd893c63a6e92f6c84e7aa92270852e1137fcad
2021-04-26 18:38:06 +00:00
Translation updater bot a4b1f4daa0 Localisation updates from https://translatewiki.net.
Change-Id: Id194c50a7631d2c12bac6e5a8e5b86e114becc51
2021-04-26 09:10:13 +02:00
jenkins-bot 60e1fa334f Merge "Remove deprecated dt- classes" 2021-04-23 17:35:51 +00:00
jenkins-bot 48b55ed195 Merge "Fix topic subscriptions button" 2021-04-23 15:26:10 +00:00
Translation updater bot f8df30682a Localisation updates from https://translatewiki.net.
Change-Id: Iaf40a1c877aefc72b3b1d5adc4849bd9a05afb38
2021-04-23 08:36:33 +02:00
Bartosz Dziewoński 534f907d33 Fix topic subscriptions button
Follow-up to a3f665e816.

Change-Id: I4df324bb6b60a0a840ddfe483aa10143e218bdf8
2021-04-22 20:43:02 +02:00
Ed Sanders eae0c1e6e1 Implement hidden tag for source mode with toolbar
Bug: T279157
Change-Id: I0244530580c7243e4db33848d36c336d8e5e8a08
2021-04-22 17:44:00 +00:00
Ed Sanders 1893405635 Code style: Move var declarations inline
Change-Id: I1686603388b050ba4ec22eff23e4806cdf262b87
2021-04-22 17:43:46 +00:00
Ed Sanders 2f40fd96b1 EventDispatcher: Store comment name in event metadata
This will probably be useful later, so better to ensure
the data is captured now.

Change-Id: I8936ee85a2775ad48839e9c3ebf5bc3d5355c501
2021-04-22 16:23:39 +00:00
Ed Sanders a9537782ac EventDispatcher: Compare new comments by name, not ID
Change-Id: I9d7907dda0f443e4e3b0463a127ea4def68051f3
2021-04-22 16:15:09 +00:00
Ed Sanders e20fcea122 EventDispatcher: Only generate events if author matches user
Bug: T280783
Change-Id: I8a0ea2ac3aefb66b693ee219b88619248bb25fb2
2021-04-22 16:14:01 +00:00
Translation updater bot ca223a2aa5 Localisation updates from https://translatewiki.net.
Change-Id: I4bad098bf9e49aabe8b3a977eeb1d2c23d09b062
2021-04-22 09:31:13 +02:00
Bartosz Dziewoński ffd680ee7f Fix adding comments in lists containing <dt> tags
The issue occurred when replying to a comment consisting of multiple
list items, starting with a <dt> (instead of the expected <dd>), so
that the comment is considered to be unindented.

Modifier tried to add the reply directly inside the list (<dl>) rather
than inside the last list item (<dt>), which caused it to be confused
about indentation levels and try to un-indent more times than there
were indentations.

The simplest solution, given the existing code, is to add the reply
outside the list instead, in a new list. This results in a "list gap"
(<dl><dt>...</dt><dd>...</dd></dl><dl><dd>...</dd></dl>), but I think
it's acceptable for this rare case.

There are separate tests cases for old Parser and for Parsoid HTML,
because they parse the original wikitext differently (with the old
Parser producing HTML with a list gap too).

Bug: T279445
Change-Id: Ie0ee960e7090cf051ee547b480c980e9530eda51
2021-04-21 16:00:07 +02:00
Ed Sanders 888d554ecf Don't split parser cache when reply tool is enabled by default
Bug: T279864
Change-Id: I16f1546e1373311563b8a90d6a025b0b45ffb793
2021-04-21 11:57:37 +00:00
Ed Sanders 722a4e5198 Avoid splitting ParserCache on user language
Bug: T280295
Change-Id: I87eab83803d24c11db4d723377bf7b40390b2e70
2021-04-21 11:57:30 +00:00
Bartosz Dziewoński 5103e651be Add tests for CommentFormatter::postprocessTopicSubscription
Change-Id: Ief9648b8805fadcc170c54b627eb669cc8b907b6
2021-04-21 11:57:25 +00:00
Bartosz Dziewoński 0b82162149 CommentFormatter: Fix regexp in topic subscription postprocessing
The regexps needs to be non-greedy, otherwise it could swallow up a
large chunk of the page (up to the next comment).

I noticed this when adding tests for this code, in the 'unclosed-font'
test case (Ief9648b8805fadcc170c54b627eb669cc8b907b6).

Change-Id: I5f67a9599b0cb07bdd53abeebac9ada221181b66
2021-04-21 11:57:21 +00:00
Bartosz Dziewoński 228b81fab9 Move implementation of subscribe buttons to CommentFormatter
Change-Id: Iad59ea047ed12bb34b483a94f443b39de6985bd3
2021-04-21 11:57:17 +00:00
Bartosz Dziewoński 1957c340b9 Remove unused variable
Change-Id: Ia4ad464b765c67aea27092a161d28ad1d890e96a
2021-04-21 11:57:11 +00:00
jenkins-bot 69fc17db81 Merge "Rename CommentFormatter::addReplyLinks" 2021-04-21 11:50:42 +00:00
Bartosz Dziewoński f6b7c69736 modifier: Guard against infinite loop
If curLevel or desiredLevel are calculated incorrectly, this loop
could never end.

In JS, something would throw an exception before going infinite, but
PHP is happy to trot along despite accessing properties of null and
attaching multiple children to a document node.

Bug: T279445
Change-Id: I1784f550ec3a23dcded4f2b1def97e51cb414b7b
2021-04-21 13:43:45 +02:00
Bartosz Dziewoński 4bbfe6cb5d Rename CommentFormatter::addReplyLinks
Bug: T280351
Change-Id: I0d7627d63407e11cca6091f78e4d440eec6efa91
2021-04-21 11:24:03 +00:00
Translation updater bot b7cef26b08 Localisation updates from https://translatewiki.net.
Change-Id: I9e0508b77cbbe7c7faf73a089215e07c39a1a4a8
2021-04-21 08:52:24 +02:00
Bartosz Dziewoński dcd898ed6d CommentFormatter: Add 'ext-discussiontools-section' class instead of overwriting
Bug: T280433
Change-Id: I3746913b7212f252a1632db01e77e53038719cb5
2021-04-19 23:47:53 +02:00
jenkins-bot f5c6cb0b81 Merge "Remove <header> tags around headings for compat with MobileFrontend" 2021-04-19 16:38:32 +00:00
Bartosz Dziewoński a3f665e816 Remove <header> tags around headings for compat with MobileFrontend
We added it because the initial designs for the subscribe action were
much easier to implement like this, and topic "containers" (T269950)
would have required it.

However, the latest design of the subscribe action will not need it
(T279149), and topic containers are still very far away, so let's
remove it for now.

Bug: T280433
Change-Id: I21a23e9bea43f24d265750926fbd62b99038d3f1
2021-04-19 17:47:43 +02:00
Translation updater bot d1a5c9c428 Localisation updates from https://translatewiki.net.
Change-Id: I5b591c95ac0746691620fc7f2f5c76fad368006e
2021-04-19 08:50:20 +02:00
jenkins-bot ab41904d91 Merge "Migrate cookie hack users to beta feature" 2021-04-16 12:23:41 +00:00
jenkins-bot 58fc1753fe Merge "Include comment names in 'transcludedfrom' API response" 2021-04-16 11:30:22 +00:00
Translation updater bot 36e8e81b1b Localisation updates from https://translatewiki.net.
Change-Id: I37879d2c2980471d96f6f6480bb45428e228b0e3
2021-04-16 09:50:14 +02:00
jenkins-bot ef7073b8fd Merge "Simplify how warnings for IDs equal to legacy IDs are avoided" 2021-04-15 23:31:45 +00:00
jenkins-bot 49e23bf683 Merge "Fire the 'wikipage.content' hook on previews" 2021-04-15 20:51:02 +00:00
jenkins-bot 9d3a640930 Merge "Hooks: Use WebRequest::getRawVal where possible" 2021-04-15 19:56:50 +00:00
Translation updater bot 21bc7dd2cb Localisation updates from https://translatewiki.net.
Change-Id: I6eafd087075298887bc16b65d7a5072a27365e64
2021-04-15 08:43:13 +02:00
Timo Tijhof 269514f533 Hooks: Use WebRequest::getRawVal where possible
The 'dtenable' does not appear to take user-provided content that
requires language normalization. In general getRawVal should be used,
or if it's user input that needs normalization, use getText(). Perhaps
one day we'll alias or deprecate getVal (which is currently an odd
mid-way hybrid, most closely to getText; originally created for
EditPage.php textareas).

Change-Id: I8364c84f8c4f700da6e208df2e87c29bf254d685
2021-04-15 02:30:12 +00:00