we've released v0.37.0 of OOUI this Wednesday. It will rollout on the
normal train next Tuesday.
Highlights in this release:
- Underlying library OOjs was updated to v3.0.1, up from v3.0.0,
nominally a breaking change.
- Text flow of form layouts on mobile devices was improved, surfaced
in Advanced Mobile Contributions
- Additionally this release removed deprecated icons 'beaker' and
'unTrash', both were renamed, former to 'labFlask', latter to
'restore'. Additionally 'toc' in 'icons-layout' was deprecated in this
release, as design team has decided to use 'listBullet' as unified
table of contents icon.
If you haven't yet updated them, now's the time.
You can find details on additional new features, code-level, styling
and interaction design amendments, and all improvements since v0.36.0
in the full changelog.
If you have any further queries or need help dealing with breaking
changes, please let me know.
As always, interactive demos and library documentation is available
on mediawiki.org, there is comprehensive generated code-level
documentation and interactive demos and tutorials hosted on
OOUI version: 0.37.0
MediaWiki version: 1.35.0-wmf.11
Date of deployment to production: Regular train, starting Tuesday 17 December
 - https://doc.wikimedia.org/oojs-ui/master/demos/?page=icons
 - https://gerrit.wikimedia.org/g/oojs/ui/+/v0.37.0/History.md
 - https://doc.wikimedia.org/oojs-ui/master/demos/#widgets-mediawiki-vector-ltr
 - https://www.mediawiki.org/wiki/OOUI
 - https://doc.wikimedia.org/oojs-ui/master/
📘 Read on Phabricator at
How’d we do in our strive for operational excellence last month? Read on to
## 📊 Month in numbers
* 3 documented incidents. 
* 26 new Wikimedia-prod-error reports. 
* 26 Wikimedia-prod-error reports closed. 
* 198 currently open Wikimedia-prod-error reports in total. 
To read more about these incidents and pending actionables; check <
Explore Wikimedia incident stats (interactive).
## 📖 Paradoxical array key
Wikimedia encountered several Zend engine bugs that could corrupt a PHP
program at run-time, during the upgrade from HHVM to PHP 7.2. (Some of
these bugs are still being worked on.) One of the bugs we fixed last month
was particularly mysterious. Investigation led by Antoine (Hashar) and Tim
MediaWiki would create an array in PHP and add a key-value pair to it. We
could iterate this array, and see that our key was there. Moments later, if
we tried to retrieve the value from that same array, sometimes the key
would no longer exist!
After many ad-hoc debug logs, core dumps, and GDB sessions, the problem was
tracked down to the string interning system of Zend PHP. String interning
is a memory reduction technique. It means we only store one copy of a
character sequence in RAM, even if the many parts of the code use the same
character sequence. For example, the words “user” and “edit” are frequently
used in the MediaWiki codebase. One of those sequences is the empty string
(“”), which is also used a lot in our code. This is the string we found
disappearing most often from our PHP arrays. This bug affected several
components, including Wikibase, the wikimedia/rdbms library, and
Tim used a hardware watchpoint in GDB, and traced the root cause to the
Memcached client for PHP. The php-memcached client would “free” a string
directly from the internal memory manager after doing some work. It did
this even for “interned” strings that other parts of the program may still
be depending on.
Effie and Giuseppe backported the upstream fix to our php-memcached package
and deployed it to production. Thanks! —
## 📉 Outstanding reports
Take a look at the workboard and look for tasks that might need your help.
The workboard lists error reports, grouped by the month in which they were
Breakdown of recent months (past two weeks not included):
* March: 3 of 10 reports left. (unchanged). ⚠️
* April: Two reports closed, 4 of 14 left.
* May: (All clear!)
* June: Two reports closed. 4 of 11 left.
* July: Four reports closed, 8 of 18 left.
* August: 4 of 14 reports left. (unchanged)
* September: One report closed, 8 of 12 left.
* October: 8 of 12 left (unchanged).
* November: 5 of 5 left (unchanged)
* December: Three reports closed, 6 of 9 left.
* January: 7 new reports survived the month of January.
There are a total of 57 reports filed in recent months that remain open.
This is down from 62 last month.
## 🎉 Thanks!
Thank you to everyone who helped by reporting, investigating, or resolving
problems in Wikimedia production. Thanks!
Until next time,
– Timo Tijhof
 Incidents. –
 Tasks created. –
 Tasks closed. –
 Open tasks. –
Hi guys my name is Nwobodo Leonard a mechanical engineering student from
Nigeria, I am interested in working on any python related course for this
year's Google summer of code! I will appreciate all the help I can get..i
am still not an advanced programmer but I am always willing to learn.
We are planning on a India Hackathon.
To bring new developers and train them, looking for a developer guide or
Do we any such starters guide?
I think the below topics would be nice to be covered on the handbook.
If no such hand book, shall we create one? Will be useful ?
Topics to be covered :
Host web apps
SQL dump access
Daily dump access
Wiki old module
Asking for help
Pagination in results
Linking pages to wikidata
Linking to other language site pages
Test wiki site to play around
Auto Wiki Browser
What other topics can be added?
Share your thoughts.
TLDR: If you use $wgDebugLogGroups['profileoutput'] in LocalSettings.php as
a way to collect performance profiles from Tideways/XHProf, this will no
longer receive messages in MediaWiki 1.35 and later.
I've been auditing the Profiler component in MediaWiki and deprecating or
removing various legacy features that either don't fit the current model
very well and/or that seem to be broken, unused or undocumented.  The
objective here is to keep offering the same functionalities for developers,
but in a way that's easier to use, with fewer moving parts, and lower
maintenance costs for us.
Today I'm writing about the "profileoutput" debug log channel. As part of
the PSR-3/Monolog refactor many years ago, this feature was grandfathered
into the LegacyLogger.
The $wgProfiler variable controls which collector and output are used at
run-time. For example, you can collect the call graph with XHProf/Tideways,
and then output it to an HTML comment, or dump to a file on disk, etc. Any
number of outputs can be implemented and enabled.
The "profileoutput" debug log channel was effectively another way of
achieving the same thing, by assigning $wgDebugLogGroups['profileoutput']
to a file path.
If you're currently using this, see
https://phabricator.wikimedia.org/T245835 for how to make this work via
This week we will be starting a monthly Quality and Testing Engineering
office hour series of meetings. The Quality and Testing Engineering office
hours will generally have a theme or topic to encourage participation.
This month, Željko Filipin from the Quality and Test Engineering team will
be hosting a session on "Software Testing Anti-patterns".
Date - Friday February 21, 2020
Time - 17:00 UTC
Meeting URL: meet.google.com/xgq-kyfk-crt
for HTML version see
= 2020-02-26 =
== Callouts ==
* Language -> Core Platform: Requesting help to debug why some jobs are not
being queued [[phab:T144780]]
* Release Engineering: [All] MediaWiki 1.35.0 will get cut on 7 April 2020.
If your team has any proposed blockers/deadlines for that, please get them
== Product ==
=== Editing ===
** Replying v1.0: On Tuesday, 18-Feb, v1.0 of the new replying workflow was
deployed to Arabic, Dutch, French and Hungarian Wikipedias via a query
string parameter (ca be tested by appending ?dtenable=1 to any talk URL on
ar, fr, hu or nl talk page)
*** Currently checking instrumentation, once any discovered issues are
addressed we'll be deploying this as a beta feature
** Replying v2.0: developing technical approach to comment editing and
drafting replies in rich text
=== Growth ===
** Newcomer tasks 1.1 (topic matching): planning to deploy our upgrade of
the topic matching algorithm next week to use ORES articletopics. This
upgrade will increase the number of topics available to newcomers from 27
*** We will be altering the user interface to help newcomers navigate the
larger number of topics
*** Sort ORES topics alphabetically (task [[phab:T246061]])
*** Add backend support for ORES topics (task [[phab:T243477]], task
** Newcomer tasks 1.2 (guidance): adding additional in-context help and
guidance for newcomers completing suggested edit tasks
*** NewcomerTasks: Add feature flag for guidance (task [[phab:T245525]])
** Planning to streamline deployments so that we can work with more wikis
** Homepage desktop and mobile style updates (task [[phab:T232546]], task
=== iOS native app ===
**Continuing development on 6.6 release (mobile-html integration)
=== Android native app ===
** Final testing and profiling of mobile-html and conversion logic.
** Final testing of structured image tagging interface.
=== Web ===
** Summary: continuing desktop improvements (DIP). The feature manager is
well underway in active development iterations, the skin preference has had
one patch merged, template partial support caching behavior is being
investigated, and there's lots cooking.
** [[Reading/Web/Desktop_Improvements|Desktop Improvements Project (Vector
*** [[phab:T245793|<nowiki>[Firefox 73] Infusing a RadioOptionWidget
changes first-child alignment</nowiki>]]
*** [[phab:T245456|<nowiki>[Dev] Adopt template partials in Vector and
revise sidebar component</nowiki>]]
*** [[phab:T244481|<nowiki>Provide basic FeatureManagement in Vector
*** [[phab:T243281|<nowiki>Build opt-out button for logged-in users with
new vector on</nowiki>]]
*** [[phab:T242381|<nowiki>Add a Vector skin version preference</nowiki>]]
*** [[phab:T232140|<nowiki>Separate out logo handling into square image
logos and long text/wordmark banner logos</nowiki>]]
*** [[phab:T113095|<nowiki>A cached server-side HTML template should update
when you change a partial template which it includes</nowiki>]]
*** [[phab:T242779|<nowiki>Add Vector and Popups PHP documentation to
*** [[phab:T242177|<nowiki>Technical: Deprecate
mediawiki.skinning.interface in favor of ResourceLoaderSkinModule</nowiki>]]
** Mobile website (MinervaNeue / MobileFrontend):
*** [[phab:T245162|<nowiki>Job unable to create file page "Fatal: Call
function inNamespace() on null" (via MinervaHooks)</nowiki>]]
*** [[phab:T244106|<nowiki>[M] Setup storybook from Minerva</nowiki>]]
*** [[phab:T243650|<nowiki>Regression: Mobile talk page shows links in
*** [[phab:T244181|<nowiki>[print] Article title hidden with mobile print
=== Product Infrastructure ===
** Push notification service planning continues. RFC and proposed fiscal Q4
work plan due end of week.
** Patches in progress for proposed MachineVision schema changes to fix
slow random image queries: [[phab:T243872]]
=== Structured Data ===
** no real change - hoping to release some new input types and constraints
=== Parsing ===
** Parsing, Release Engr., Service Ops met last week to work through
details of Parsoid deployment once Parsoid is in core as a composer library.
** Details in [[phab:T240055]] and being worked on this week.
=== Language ===
* Blocked by:
** Requesting help to debug why some jobs are not being queued:
** OpusMT available in Production for en->as language pair.
** ContentTranslation is out of Beta for total 20 Wikipedias!
** Section Translation work in progress.
== Technology ==
=== Fundraising Tech ===
** More work for recurring donation on backup card processor
** Fixing up batch refund scripts
** Deleting gigs of cruft from Civi DB, adding maintenance scripts to keep
** Further harmonizing our use of Civi concepts with how they're intended
to be used in Civi core
** Reviewing work on centralnotice banner templates
=== Core Platform ===
** Search Platform: MW Job consumers sometimes pause for several minutes
** Language: Requesting help to debug why some jobs are not being queued
** New hooks interfaces [[phab:T240307]]
** REST API for jobs
** Hashchecking extension [[phab:T245595]]
** Search API for Desktop Refresh search widget
** Rolling out Changeprop K8S
=== Engineering Productivity ===
==== Quality and Test Engineering ====
** Quality and Test Engineering Office Hour - Topic: Software Testing
==== Release Engineering ====
** [All] MediaWiki 1.35.0 will get cut on 7 April 2020. If your team has
any proposed blockers/deadlines for that, please get them done:
** Scap 3.13.0 release
** Train Health
*** This week: 1.35.0-wmf.21 - [[phab:T233869]]
*** Next week: 1.35.0-wmf.22 - [[phab:T233870]]
=== Search Platform ===
* Blocked by:
** Core: MW Job consumers sometimes pause for several minutes
** WDQS: Extract more metrics from blazegraph sparql update response -
** WDQS: Rework how value and reference changes are handled -
=== Security ===
** KaiOS: 3rd party review process should begin soon: [[phab:T240869]]
** Talk Pages review, resolving this week: [[phab:T242134]]
** Fileimporter, next up to resolve: [[phab:T202071]]
** DoubleWiki, next up to resolve: [[phab:T131199]]
=== Site Reliability Engineering ===
** PI on proton, mobileapps.
** Working with CPT to migrate changeprop to k8s.
Just now I asked the following question on the Technical Talk
livestream at https://www.youtube.com/watch?v=J-CRsiwYM9w
10:19 AM: Page 20 of Robert West's 2016 Stanford thesis, "Human
Navigation of Information Networks" says, "We have access to
Wikimedia’s full server logs, containing all HTTP requests to
10:19 AM: The text is at
10:19 AM: Page 19 indicates that this information includes the "IP
address, proxy information, and user agent."
10:20 AM: This is confirmed by West at
10:20 AM: Does the Foundation still share that identifying information
with research affiliates? If so, how many are them world-wide; if not,
when did sharing this information stop?
10:25 AM: MediaWiki @James Salsman I see your question, but donfly.
Can we reach out to you after the talk?
10:25 AM: MediaWiki: sorry hit enter too soon!
10:26 AM: MediaWiki: I don't have the full-context of the thesis to
ask kate to answer the question on the fly. Can we reach out to you
10:26 AM: James Salsman: With whom am I corresponding?
10:27 AM: James Salsman: Sarah?
10:28 AM: MediaWiki: Yes! That's me!
10:28 AM: James Salsman: Would it be easier to ask, "how many research
affiliates does the Foundation share server logs with IP addresses?"
10:29 AM: MediaWiki: Yes, I can ask that.
10:30 AM: James Salsman: Thank you.
At 10:34, the messages with the the URLs I posted were removed from
the chat log.
At 10:36, the chat stream was removed from the video, which was
replaced with the text, "Chat is disabled for this live stream," and
now is completely missing.
I am still interested in getting an answer to this question, but
disturbed by the removal of links to sources. Could I please have an