Commit graph

5265 commits

Author SHA1 Message Date
Thiemo Kreuz b65e1bb238 Make use of ctype_digit() instead of a regex
Relevant edge-cases:
* ctype_digit() only works on strings. Anything else, including
integers, will make it return false.
* The empty string will return false.

Both is identical to what the code did before.

Motivation for this change is to streamline the code, and make it
smaller and faster to read.

Bug: T236260
Change-Id: I2d209347d16f2bde14b345c3f88ec64b081283cb
2019-10-25 10:12:39 +02:00
Adam Wight f6b5615e4b Stop sampling when Reference Previews is enabled
There are so few users with this configuration that we need to stop
sampling in order to get data.  Sampling is still in effect for
"baseline" users with the feature disabled.

We use separate schemas to simplify analytics on the two populations.

Bug: T214493
Change-Id: I16e4ed236e50e1e246ff28ff0dba3e52e4b56caf
2019-10-24 22:23:18 +02:00
jenkins-bot f743aa058e Merge "Explicitly demand MW 1.34+ so that we get PHP7.2+" 2019-10-24 13:15:11 +00:00
jenkins-bot 88266ade91 Merge "Refine some workflow related comments" 2019-10-24 13:07:55 +00:00
James D. Forrester 454827ff33 Explicitly demand MW 1.34+ so that we get PHP7.2+
Change-Id: Ie92d6d014e3a8c73ab0b74c798a99318b203d4f9
2019-10-24 15:01:47 +02:00
WMDE-Fisch 9196ccead7 Refine some workflow related comments
Change-Id: Ib7a6c4cc085d91fe27c96cbfd9c7035465149319
2019-10-24 14:38:46 +02:00
Adam Wight 5e8d48b331 Minimal support for bookreferencing tag
Allows the "refines" attribute when the feature flag is set, but doesn't
render.  This is part of our rollback strategy, so that we aren't left
with invalid wikitext in case of undeployment.

Bug: T236257
Change-Id: I936be0e62dccb46caeb84162d2c5166956fd9916
2019-10-24 12:24:36 +00:00
jenkins-bot 4373cb27af Merge "Feature flag for Book Referencing" 2019-10-24 09:56:39 +00:00
jenkins-bot ffa594c636 Merge "Migrate to extension registration version 2" 2019-10-24 09:56:38 +00:00
Adam Wight 6dc206440d Feature flag for Book Referencing
Bug: T236255
Change-Id: I3848eda89178c53af7eeaf87df4efad0f9987557
2019-10-24 09:37:58 +00:00
jenkins-bot bc7738733c Merge "Use waitForModuleState from Util class" 2019-10-24 09:03:44 +00:00
WMDE-Fisch 2f12ae1de4 Use waitForModuleState from Util class
Change-Id: I661aaa08cd48ab48435208323b50108be418815c
2019-10-24 10:48:32 +02:00
Adam Wight 42279a2328 Migrate to extension registration version 2
New manifest schema version requires some minor changes.

Bug: T236255
Change-Id: I9e9d047917c4118ceef1e5be21029d7838f49094
2019-10-24 10:42:18 +02:00
Translation updater bot 08f1f80802 Localisation updates from https://translatewiki.net.
Change-Id: Ia842aab67c90f4bb055da8d3a3862324fd7aebbe
2019-10-24 10:41:28 +02:00
WMDE-Fisch 0ecbf24548 build: Update dependencies
Change-Id: I6f4cfead297f9e47b6655530d672613369b43b64
2019-10-23 17:36:06 +02:00
Translation updater bot 547b52a872 Localisation updates from https://translatewiki.net.
Change-Id: Ieeb1779556b68eab215c3b885ce3a6256eadfa3e
2019-10-23 09:52:34 +02:00
Translation updater bot f6e1e2026e Localisation updates from https://translatewiki.net.
Change-Id: I65f12f0e05a95c30ee86486487e8e707a7907c11
2019-10-21 09:58:20 +02:00
jenkins-bot deed86229e Merge "Fix all PHPCS issues and add missing array type hints" 2019-10-17 09:29:15 +00:00
Thiemo Kreuz 3e2d1a23e0 Fix all PHPCS issues and add missing array type hints
* I used https://codesearch.wmflabs.org to make sure the private
constants are indeed not used anywhere.

* The added type hints are safe, as far as I can tell. There is no way
one of these parameters can contain anything else. Otherwise the code
would fail already.

Change-Id: Iaa7615e9864805760fa652700b58b69680b4f17e
2019-10-17 09:23:20 +02:00
Thiemo Kreuz 6daf49c9bc Fix rebase mistake in extension.json
This is a rebase mistake introduced with I7461ffd. Since If83420a this
module is not defined in extension.json any more, but in the
ResourceLoaderRegisterModules hook in PHP. This is done to be able to
dynamically change the contents of the module, depending on the
availability of anotehr extension.

I'm not exactly sure what happens when a module is defined twice. I
tried locally and it seems to work, with no visible error message.

Bug: T234605
Change-Id: I209e19bbc2184a6d58086a703145ad58671060b6
2019-10-17 09:01:25 +02:00
jenkins-bot 7e429b43f2 Merge "Remove unused ResourceLoader module ext.cite.a11y" 2019-10-16 19:02:28 +00:00
Translation updater bot ce4b86f7d8 Localisation updates from https://translatewiki.net.
Change-Id: I9508d5db2faa105a58df395629f62c380103d2d3
2019-10-16 20:38:18 +02:00
Thiemo Kreuz 34e3675d0f Remove unused ResourceLoader module ext.cite.a11y
As stated in the patch I26fe41c: "The separate ext.cite.a11y module
is kept for (temporary) compatibility with cached HTML, and should be
removed in about a month." That was almost a year ago.

Bug: T205270
Change-Id: I7461ffd61bea0b79a56b6ee9ce8315f5f6c39b7b
2019-10-16 11:36:02 -07:00
jenkins-bot f64ac926f1 Merge "Bundle tracking with another RL module" 2019-10-16 11:02:42 +00:00
Translation updater bot c4e93b6c89 Localisation updates from https://translatewiki.net.
Change-Id: Icbd0368d8e1b53b0cf43411c7de2b29f082d0767
2019-10-16 10:38:53 +02:00
Subramanya Sastry 79183b596d Cite wt->html: Match html->wt and make datamw->body an object not an array
* Though this doesn't immediately affect anything, it just makes
  usage a bit more consistent.

* A followup patch that fixes gaps in shiftDSR code will now be
  able to reference the html property as dmw->body->html to match
  html2wt usage.

Change-Id: I9dfcd9d40205f6e64e139bf3f75a322915af3232
2019-10-15 19:43:11 -05:00
Adam Wight 741f5dcdaa Bundle tracking with another RL module
This is slightly more efficient because it saves on early page-
load bandwidth.

Bug: T234605
Change-Id: If83420a9b4e654fd790e810fa82f922a8ba06e50
2019-10-10 10:44:50 +02:00
James D. Forrester b960d9d490 build: Upgrade mediawiki-codesniffer to v28.0.0
Change-Id: I46f055cd4e3e93b2232e119605d732bc3ab7bf0e
2019-10-09 19:03:50 +00:00
Translation updater bot b1eace5657 Localisation updates from https://translatewiki.net.
Change-Id: I06aee621c974e1e503442615f69aa2a7414d6807
2019-10-09 09:17:54 +02:00
Translation updater bot 959b57ac71 Localisation updates from https://translatewiki.net.
Change-Id: Ie14794768f1c3c6d680a96a41b0552fa10ebdc57
2019-10-08 09:31:59 +02:00
Ed Sanders f6950bcdc1 build: Update linters
Change-Id: I016f880e4e44a4550b9236d7c1701615203f4486
2019-10-07 16:24:49 +01:00
Translation updater bot 2205f82196 Localisation updates from https://translatewiki.net.
Change-Id: I645df905e96e01ff78e12ac212a63a3d3af49e62
2019-10-07 09:08:16 +02:00
Željko Filipin e85144e91a Selenium: make it possible to run daily Jenkins job targeting beta cluster
Add missing selenium-daily NPM script.

Bug: T199113
Change-Id: I85f723e08edf76655d8bd019508c0c5999fa43ab
2019-10-04 16:56:41 +02:00
jenkins-bot a9d30ab836 Merge "Baseline reference interaction tracking" 2019-10-04 09:45:10 +00:00
Subramanya Sastry 2be3ab72c6 References.php: Use strlen not mb_strlen to count page length
* When a page is missing an explicit <references /> tag, we insert
  an implicit <references /> tag and assign it a zero-width DSR with
  a starting offset equal to the length of the page. However, now that
  we have byte offsets, that should have been strlen, not mb_strlen.

  This was causing incorrect DSR assignment on this implicit tag
  and causing trailing newline selser diffs on these pages.

* Debugged on this reduced test case: "* a – b <ref>x</ref>\n\nc\n\n"
  and comparing selser trace and then DSR offsets on the DOMs.

Change-Id: I8aebf307197935259df78251fb4a26c593f29603
2019-10-03 23:14:33 -05:00
Volker E a759a1e58a Remove IE 6 & 7 specific hacks
Bug: T234582
Change-Id: I162d525208f8c9dfab6e316513825f046b0a223f
2019-10-03 18:51:47 -07:00
Subramanya Sastry 167a28bbea Use PHPUtils::lastItem() over end() in more places
Tim Starling has indicated in couple different places that end(..)
is not preferred and he had implemented a private version of lastItem
in the PEG grammar code whereas PHPUtils::lastItem was recommending
use of end(..).

In this patch, I moved the implementation from the grammar to PHPUtils
and replaced end(..) with PHPUtils::lastItem in a number of places in
the codebase. We should discuss whether we want to use this helper
everywhere.

Resolved a couple of PORT-FIXMEs in the bargain.

Change-Id: I837f2a98003df8ab7dbdf9af045e17bdd6e27799
2019-10-03 03:41:39 +00:00
Adam Wight c12150082c Baseline reference interaction tracking
Collect EventLogging metrics for footnote and reference link
interactions, so that we can compare behavior with and without
Reference Previews enabled.

This tracking will be reverted once analysis is complete.

A mostly arbitrary sample rate of 1/1000 is hardcoded here.  This is
loosely based on the latest tuning of Popups sampling at 1/100,
divided by a conservative factor of 10 to ensure headroom.

The sample is skewed by skipping clients without sendBeacon support,
but we're avoiding the mw.track synchronous fallback, which injects an
image tag and introduces lag any time the user clicks external links
in the references.

Bug: T231529
Change-Id: Iad32b64114f88675eecbb01712418c968e3cf661
2019-10-01 10:23:31 +02:00
Translation updater bot 1463f47280 Localisation updates from https://translatewiki.net.
Change-Id: I7fe11bdb98aabdb1da3d78aacdcd4211ad87efbf
2019-10-01 09:24:33 +02:00
Translation updater bot a5ac0762bc Localisation updates from https://translatewiki.net.
Change-Id: Ib52cc84a1afd41200f5728e03cc98da62d33e59e
2019-09-30 09:18:16 +02:00
Translation updater bot 4a20cebbb9 Localisation updates from https://translatewiki.net.
Change-Id: Ibb878fce4b272b47920392b1dcd4d6478d189300
2019-09-26 09:13:05 +02:00
Translation updater bot dce416d150 Localisation updates from https://translatewiki.net.
Change-Id: I6352b52263bfeb774d577380d75b3537b6bc90ff
2019-09-25 09:22:30 +02:00
Translation updater bot 56f07c18b3 Localisation updates from https://translatewiki.net.
Change-Id: I6fe895898edf309b4dc9f5d490882d01a717d2e6
2019-09-24 09:56:07 +02:00
Translation updater bot 2b97f19305 Localisation updates from https://translatewiki.net.
Change-Id: Id30b05c0a33fb9d8b3cc01d9f3582ffa11ba031d
2019-09-23 09:24:33 +02:00
jenkins-bot 12c7fd7ac2 Merge "Citation needed template handling" 2019-09-21 19:10:48 +00:00
Arlo Breault 6d0c6201dd Resolve some PORT-FIXMEs around Selser construction
And rename Selser -> SelserData

Change-Id: Ia6a23f4194d4c05b7269498bfbbd31e236c86ce6
2019-09-19 17:53:57 -04:00
David Chan 94c6d46ded Fix tests to expect p-wrappers
The ve-mw change I0479116b51cc3135a992fdf36b8edfb2c44916ba removes the
stripping of solitary paragraph wrappers (which is moved into
ve.ce.Surface in VE core).

Depends-On: I0479116b51cc3135a992fdf36b8edfb2c44916ba
Change-Id: I2429b5291d8505d586cf4edc4cae9875f8abc347
2019-09-18 18:26:17 +00:00
Bartosz Dziewoński 1c4d5fd0de ve.ui.MWReference.init: Fix check for mobile target
This stopped working correctly after T218946, when we merged
MobileFrontendArticleTarget with its parent class MobileArticleTarget.

Bug: T233181
Change-Id: I9ec3f42508809431aef86157c20d8d6bb2fb12e5
2019-09-18 04:11:51 +02:00
Bartosz Dziewoński 80e6db1fde Temporarily remove tests
The ve-mw change I0479116b51cc3135a992fdf36b8edfb2c44916ba removes the
stripping of solitary paragraph wrappers (which is moved into
ve.ce.Surface in VE core). We can't merge it without removing the
failing tests here for a moment.

Change-Id: I8799d51958b966c99307f4c70546ea326e67385c
2019-09-17 22:42:42 +02:00
Translation updater bot a2c03ddb7e Localisation updates from https://translatewiki.net.
Change-Id: I1c9e8e5720b706acdabdc86f79bc07be654da668
2019-09-16 09:54:38 +02:00