Commit graph

4738 commits

Author SHA1 Message Date
Translation updater bot 427f8c6a3b Localisation updates from https://translatewiki.net.
Change-Id: I82e7d1e21f99cb2b9507717dda5eb62293c08140
2019-03-18 23:07:07 +01:00
jenkins-bot a6908da6a6 Merge "Upgrade to newer phan" 2019-03-18 01:07:21 +00:00
Kunal Mehta 45c01a6b78 Upgrade to newer phan
Bug: T216911
Change-Id: Ib228ac26a9a87c51a107407b6162110681b5e75c
2019-03-17 16:46:06 -07:00
Translation updater bot 5f4ca81695 Localisation updates from https://translatewiki.net.
Change-Id: I35fa5588cbce6a4f437211627b408e8cf195d153
2019-03-17 22:13:54 +01:00
Arlo Breault 2528762640 Update tests to match parser changes
Bug: T208070
Depends-On: I3da235cb83efa424f0cf1cf4fc7233240fcdf6b2
Change-Id: I6119b4af9632496dbda81c3a3951c55217e7c2d5
2019-03-15 18:23:43 +00:00
C. Scott Ananian eb70a83eb0 Audit uses of Node#getAttribute() + add missing file to PHP codebase
In PHP, DOMNode#getAttribute() return '' if the attribute is not present,
not null.  Audit our uses and try to either explicitly use `|| ''` (which
will ensure that PHP behaves the same was as JS) or use `hasAttribute`
to explicitly test for the presence of the attribute.

Changes have also been ported to PHP from JS.
Also added src/Wt2Html/PP/Processors/AddMediaInfo.php which was missing.

Change-Id: Ie1ae1df88e4fca70daf97b6f720f28014ebc99ed
2019-03-15 15:48:20 +00:00
Translation updater bot d0cbe02212 Localisation updates from https://translatewiki.net.
Change-Id: I6e1066a8dc7db9cada0ad32cf874b1da9b48e1ef
2019-03-14 22:51:43 +01:00
Translation updater bot 26f1b3e1b3 Localisation updates from https://translatewiki.net.
Change-Id: Idffd8eb12797e744eb8cc1f6f8f26eb1e15b4577
2019-03-10 22:27:32 +01:00
Translation updater bot 400a8b09cc Localisation updates from https://translatewiki.net.
Change-Id: Ibf43d82f43095d262d0b61df69b2a3e662d8dfe7
2019-03-08 22:29:00 +01:00
Translation updater bot 393f17cf77 Localisation updates from https://translatewiki.net.
Change-Id: I488188960313b030cdccdfaafccefaafa6c31012
2019-03-07 22:40:36 +01:00
C. Scott Ananian 25385a06e8 Apply recent JS changes to automatically-generated PHP port
This applies the JS changes from the following recently-merged patches:

6679c3bf Protect data-object-id attribute
d4e76d5b Fix new linter category to enable code work with templates
e567db8d Tweak storeDataAttribs to suppress DOM nodes in data-parsoid.tmp
16603953 Fix setting dsr on body for genTest
3a84a9dd Fix stashing data attributes for mw:StartTag
22c4a19a Remove redundant dataParsoid call
ed7b0ba0 Fix crasher in newly added linter category
505a357b Linter.js: Add new function to detect the use of links in links
8885b20e Move redlink updating into lib/parse.js
ccfce23d templatedepth is either an int or false
6d1571bd Move language conversion work into lib/parse.js
5a89c7de Avoid serialize/parse of data attributes when treebuilding
021d9958 Rename `document.env` to `document.bag`
c03ba494 Use XMLSerializer on both PHP & JS side in the DOM pass test script
e0c3cca9 Use env.createDocument in lib/api/apiUtils.js
550d3d71 Use a bag-on-the-side implementation for node data
f8de8b25 Add bin/inspectTokenizer.js
db704eea Add ability to splice a PHP transformer into the pipeline
a8be3ad6 Fix crasher in cite extension from accessing data after it's stored
2874f200 Simplify and clean up stops usage
6368265d Add some strategic isElt guards
5ae9553f DRY out transform test runners + tweak genTest to enable that
b0f2adc6 Assert that the .dataobject isn't touched after storing attrs on a node
1ce6a98d Skip separators when looking for the next th/td

Change-Id: I6a66ecb061e7ee7ed53feba1895dd315d9324715
2019-03-05 17:33:32 -05:00
Umherirrender 51784f62f7 Use ExtensionRegistry rather than class_exists
Change-Id: I5c6a6ed3f6ecef1cde5519bcdac5ae35e7ab1a73
2019-03-03 01:49:43 +01:00
Translation updater bot 9af2d84a83 Localisation updates from https://translatewiki.net.
Change-Id: I149a04f3b5388a3e5754d3173c2c7a606f3a555c
2019-03-02 22:42:23 +01:00
Translation updater bot 37d6d15413 Localisation updates from https://translatewiki.net.
Change-Id: Ie16e10760b094323cb8c8b94c2da5a7494e1955a
2019-02-28 22:24:38 +01:00
Bartosz Dziewoński a3ef5fdab5 ve.ui.MWCitationDialog: If the selected ref is not using the template, clear it
Bug: T208981
Change-Id: I344331f1b2a5a8456d064039086623f67d9c0ea9
2019-02-26 00:30:56 +01:00
Bartosz Dziewoński 17555dd934 ve.ui.MWReferenceDialog: Remove 'Use an existing reference' button
The same functionality is available using the 'Cite → Re-use' tool
on the toolbar (T214991).

We want to use the same location for a new 'Replace reference' button,
to be implemented in the Citoid extension (T208981).

Bug: T208981
Bug: T214991
Change-Id: I511e3c27a7d2175bdc2b6bdb648f04ac96cd1e0b
2019-02-26 00:30:56 +01:00
Translation updater bot 12076d6937 Localisation updates from https://translatewiki.net.
Change-Id: Iaa63b15963234a6fbd6af72eb0f5a67dea96f6f7
2019-02-25 22:57:35 +01:00
jenkins-bot 467a17f651 Merge "Add support for read-only mode" 2019-02-22 19:45:57 +00:00
jenkins-bot 7c5906bcdf Merge "Use new upstream defaults for actions" 2019-02-22 14:53:52 +00:00
Ed Sanders 03711dfea8 Add support for read-only mode
Depends-On: Iedd1bd9ce17750ad8528c1a053293c4a7321c5de
Change-Id: I83bec9ea5b71aca0b4ef23237fad84aa6ea8a508
2019-02-22 14:13:57 +00:00
Ed Sanders e4efddbd0d Use new upstream defaults for actions
Allows us to remove action lists identical to the parent,
and also the default this.actions.setMode call.

Rename #canApply to #isModified for consistency.

Change-Id: I026feb291cd64474557d1f9df30604a7bbbb0bd2
2019-02-22 14:12:52 +00:00
Translation updater bot 80abb0f400 Localisation updates from https://translatewiki.net.
Change-Id: Ifd9c65e956524a2acd24d7ccbe40dd6a7cdfad71
2019-02-21 22:20:39 +01:00
Arlo Breault 550d3d71eb Use a bag-on-the-side implementation for node data
Centralizing where all the docs are created is also useful for T179082

Bug: T204608
Change-Id: I5f0f1d4e696794dc8666edcbf290dea790c06673
2019-02-21 15:13:32 +00:00
Thiemo Kreuz 85ad4513ba Fix highlighting code destroying backlinks on unnamed <ref>s
There are multiple formats for these IDs:

cite_ref-1, cite_ref-2, and so on for anonymous <ref>s without a name.

cite_ref-name_1-0 for named references, where "name" is the custom name,
and "_1" is the sequential number for the reference (same number as above).
The final "-0" is counting the usages. If a named <ref> is only used once,
there is no cite_ref-name_1-1 anywhere on the page.

The later was already checked by the code. But we forgot about unnamed
references! As a consequence IDs like the cite_ref-1 above got misdetected
as reused references.

This patch tries hard to extract code into named functions, so it becomes
much more clear what they do, and why.

Bug: T215317
Change-Id: Iedb5b0c3dffae19bad7df9a43ed2d4512b3921ec
2019-02-20 15:40:46 +00:00
Thiemo Kreuz e71dcc355d Add missing jQuery selector escaping
As far as I can tell the effect of this is almost zero, because in both
cases the unescaped ID ends in double quotes. Within these double quotes
not many characters must be escaped, essentially only double quotes and
backslashes. Neither can appear in an ID (more precisely: neither should).

Proper escaping is "the right thing to do" anyway.

Change-Id: I21934f7cb54e2d68013a994150a92c76ef1b61d7
2019-02-20 16:22:20 +01:00
jenkins-bot 92c5ba2ca6 Merge "Remove generated cite-dialogs stubs" 2019-02-20 01:41:54 +00:00
Translation updater bot f7f3dee67a Localisation updates from https://translatewiki.net.
Change-Id: I3559431d1f69946efe71337889b8cd72ee723242
2019-02-19 22:19:45 +01:00
Arlo Breault a8be3ad6e4 Fix crasher in cite extension from accessing data after it's stored
Follow up to b0f2adc

Change-Id: I840924ba1ba1b7af963d541c2cb6619543fbe69d
2019-02-19 13:05:10 -05:00
Translation updater bot 49f8b93540 Localisation updates from https://translatewiki.net.
Change-Id: Iedc39605bea43d1d09de827faaa53b14045be95b
2019-02-18 22:22:49 +01:00
Translation updater bot adae685cbe Localisation updates from https://translatewiki.net.
Change-Id: I3f65ae836527ec61287faef23aeff07e43ea3fcc
2019-02-17 22:14:03 +01:00
Ed Sanders 89dd1faa11 Remove generated cite-dialogs stubs
We generate stub MWCitationDialog sub-classes for each citation
type, e.g. cite-web, cite-news. The only override these sub-classes
provide is for the dialog title, providing "Website" instead of
"Cite web", however because of code in MWTemplateDialog, this override
isn't even used.

1. Make the 'citation' dialog (now 'cite') concrete by registering
   it, and allow a 'title' argument to be passed it.
2. Actually override the title, using the passed in argument.
3. Remove the stub generated citation dialogs.

This will also fix our tracking data. Current we are getting
window-open actions with the argument being a localised citation
type name, e.g. cite-Literatur, cite-אתר.

These will now all be tracked as 'cite' as we use the parent dialog.

Bug: T216248
Depends-On: I355e7fe4c2ea965f2ca91f0ab0430cfb95e56e0a
Change-Id: I661707b5f9d3d810e9391ad63bef546d4fcb29e4
2019-02-15 22:44:17 +00:00
Translation updater bot 9d476d73a7 Localisation updates from https://translatewiki.net.
Change-Id: I5efb1661329708a8602b2f76125d89596048c2ea
2019-02-14 22:28:57 +01:00
C. Scott Ananian f2948cd170 Skeleton PHP files generated by automatic conversion from JS
Change-Id: I93dbbdb474d37f88e0bab1d810b3dd51304055fd
2019-02-13 12:34:44 -05:00
libraryupgrader 32658c84ac build: Updating mediawiki/mediawiki-codesniffer to 24.0.0
Change-Id: Ieaba78a1c1d946bebbfba6419e554d62fdbe6715
2019-02-06 11:32:11 +00:00
jenkins-bot dc04c86f34 Merge "Tests: Depend on newly-renamed VE test suite" 2019-02-05 23:21:41 +00:00
C. Scott Ananian 11147b88f4 Minor JS fixes to make conversion to PHP better
Change-Id: Ia36dab7c9a0a59df80c582b18cbc5a0a9bf8a36a
2019-02-04 13:39:16 -05:00
jenkins-bot 076eb45d3e Merge "build: Update eslint-config-wikimedia to 0.10.1" 2019-02-04 07:21:10 +00:00
Translation updater bot fd89012b96 Localisation updates from https://translatewiki.net.
Change-Id: Ie11733aa2fcb7ef6b1de74b23ddda0c4ec90da58
2019-02-03 22:38:08 +01:00
Ed Sanders f47c8d32e0 build: Update eslint-config-wikimedia to 0.10.1
Change-Id: I674dc6ce9df757065c3fc40ea68d6406ae518ed1
2019-02-03 10:17:24 -08:00
Arlo Breault 1855c046ac Add media info in a post-processing pass
The basic idea here is to generate the media structure in the token
stream using a stuffed span with a redlink, as in T169975, and
augmenting the nodes on the DOM once the media info has been fetched.

A redlink is justified as the canonical representation of the media
elements before info is fetched because it's the fallback if fetching
fails and the media type is unknown until the info is retrieved.

Most options are stored in data-mw until the media type is fetched and
it's determined that they're applicable.  This is a bit of a reversion
of how things were done before where inapplicable options were removed
post-facto.

For consistency and styling's sake, figcaptions are now always added to
block figures.

The pass has to be run before generating headings anchor, since that
depends on the text content (ie. redlinks).  This rearranges things in
the post-processor and adds another pass.

The post-processing pass to add media info is run on subpipelines as
well as the top level so that the media info is present in cases where
we embed HTML in data-mw (which is currently skipped by the top level
only passes, except for the cite extension, which has special handling,
see T214994) and to avoid an additional post-processing pass for the
gallery extension, which scales media of packed galleries.  This comes
at the cost of making additional queries for each pipeline and requires
the add media pass to be idempotent.

Filed T214241 for figuring out what to do about data-mw info being
clobbered by template annotations.

The newly failing blacklisted tests are from roundtripping media options
in galleries, which requires a general refactor for support.  See the
FIXMEs added there.

Performance should be expected to regress by the amount of work we're
able to overlap in the async phase of the pipeline while the media info
is being fetched.  Considering a lot of that work is caught up waiting
for the batch to return (other async requests are found in the same
batch), this doesn't turn out to be much in practice in the average
case.

Bug: T153080
Bug: T169975
Change-Id: I856ee962b70cef1f8d49652396ea5264e11a8ade
2019-02-01 13:30:07 -08:00
Translation updater bot 957fbe23df Localisation updates from https://translatewiki.net.
Change-Id: I9bb5fa57df059fa4a6e2bd7a74e3fb036ec6989f
2019-01-31 22:25:43 +01:00
Translation updater bot a778b6496f Localisation updates from https://translatewiki.net.
Change-Id: I0fd47d21150a54a5a55b99a411c2baf7783e82a6
2019-01-30 22:13:45 +01:00
Translation updater bot b56ca815bf Localisation updates from https://translatewiki.net.
Change-Id: I1217c6951dd149bf9fcae1cf4c516c145baa7274
2019-01-28 22:26:39 +01:00
Translation updater bot 3605284967 Localisation updates from https://translatewiki.net.
Change-Id: Id5c2057e17d79810afcf6ba601726182c4f0378f
2019-01-26 22:17:26 +01:00
Translation updater bot cc02b3122e Localisation updates from https://translatewiki.net.
Change-Id: I3475370bce39958a30ab7a79ffc6c1d0a304ed97
2019-01-25 22:28:46 +01:00
James D. Forrester 39b70b003e Tests: Depend on newly-renamed VE test suite
Depends-On: If6e0450ec73051d9b1d9111aed808fee26b45705
Change-Id: I5a9a6162144dd7cdd34cd771a62477a9a1b6886d
2019-01-23 22:02:07 +00:00
Translation updater bot 4b36c2b18a Localisation updates from https://translatewiki.net.
Change-Id: If2dcae129f62230eb5159785612be2937117a770
2019-01-22 22:17:08 +01:00
Translation updater bot 56fb029d72 Localisation updates from https://translatewiki.net.
Change-Id: I814a41ae72c6fce86aa465a42f8bb20a83509693
2019-01-19 22:15:56 +01:00
Translation updater bot 1fbff19c91 Localisation updates from https://translatewiki.net.
Change-Id: I1975c4deb3fa6f6a4f97ca906cb1b76bf7af14fd
2019-01-18 22:18:47 +01:00
Translation updater bot 8702b61b60 Localisation updates from https://translatewiki.net.
Change-Id: Ie5269d976f6cc4f7f32699fe06524e3de175cd29
2019-01-17 09:12:19 +01:00