Page MenuHomePhabricator

ori (Ori Livneh)
Senior Grepper

Projects (14)

Today

  • Clear sailing ahead.

Tomorrow

  • Clear sailing ahead.

Friday

  • Clear sailing ahead.

User Details

User Since
Oct 3 2014, 4:18 AM (266 w, 4 d)
Availability
Available
IRC Nick
ori
LDAP User
Ori.livneh
MediaWiki User
Ori Livneh [ Global Accounts ]

Recent Activity

Mon, Nov 11

ori created T238027: Flame graphs on performance.wikimedia.org are missing (404).
Mon, Nov 11, 9:14 PM · Excimer, Arc-Lamp, Performance-Team
ori awarded T236102: Can't load flame or coal graphs on performance.wikimedia.org (HTTP 502) a Love token.
Mon, Nov 11, 2:28 AM · Operations, Traffic, Performance-Team

Fri, Nov 8

ori awarded T237708: Audit and improve page parsing time (2020?) a Yellow Medal token.
Fri, Nov 8, 4:03 PM · Parsing-Team, Performance-Team

Tue, Oct 22

Gilles awarded T236102: Can't load flame or coal graphs on performance.wikimedia.org (HTTP 502) a Love token.
Tue, Oct 22, 8:20 AM · Operations, Traffic, Performance-Team

Mon, Oct 21

ori added a comment to T236102: Can't load flame or coal graphs on performance.wikimedia.org (HTTP 502).

Still doesn't work for me.

Mon, Oct 21, 9:13 PM · Operations, Traffic, Performance-Team
ori created T236102: Can't load flame or coal graphs on performance.wikimedia.org (HTTP 502).
Mon, Oct 21, 8:54 PM · Operations, Traffic, Performance-Team

Sep 19 2019

ori awarded Blog Post: Wikipedia's JavaScript initialisation on a budget a Yellow Medal token.
Sep 19 2019, 3:46 PM

Sep 18 2019

ori added a comment to T233047: Apache mod_status aggregator.

@ori I'm not 100% sure I got what information you think would be useful to extract. At first glance it would seem like collecting those data in a structured manner on logstash would be useful, but the ticket seems to suggest to build a specialized interface.
Are there things you consider important to such an interface that querying on kibana would not achieve?

Sep 18 2019, 8:46 PM · observability, Operations

Sep 16 2019

ori updated the task description for T233047: Apache mod_status aggregator.
Sep 16 2019, 8:15 PM · observability, Operations
ori updated the task description for T233047: Apache mod_status aggregator.
Sep 16 2019, 8:03 PM · observability, Operations
ori created T233047: Apache mod_status aggregator.
Sep 16 2019, 8:02 PM · observability, Operations

Aug 12 2019

kerberizer awarded T148660: Stack overflow in AbuseFilter when using AbuseFilterCachingParser a Evil Spooky Haunted Tree token.
Aug 12 2019, 5:56 PM · AbuseFilter

Jul 16 2019

hashar awarded T99740: Use static php array files for l10n cache instead of CDB a 100 token.
Jul 16 2019, 1:41 PM · Performance-Team (Radar), Deployments, MediaWiki-Internationalization

May 17 2019

ori awarded T223391: Deploy Wikidiff2 version 1.8.2 with the timeout issue fixed a Love token.
May 17 2019, 2:47 PM · WMDE-QWERTY-Sprint-2019-06-26, User-jijiki, WMDE-QWERTY-Sprint-2019-06-12, WMDE-QWERTY-Sprint-2019-05-29, serviceops, Operations, WMDE-QWERTY-Sprint-2019-05-15, WMDE-QWERTY-Team, wikidiff2

May 13 2019

ori added a comment to T222966: > 2% of API wall time spent generating UUIDs.

SGTM. UIDGenerator::newUUIDv4() uses a good source of randomness, and the rate of API requests is on the order of <100k/s, so the probability of ever having a collision is incredibly small.

May 13 2019, 3:09 PM · MW-1.34-notes (1.34.0-wmf.16; 2019-07-30), Core Platform Team Workboards (Team 2), Event-Platform, Core Platform Team (Modern Event Platform (TEC2)), Services-next, Analytics, Performance Issue

May 10 2019

ori added a comment to T137979: Support brotli compression.

Re-reading above: probably the better blend of options would be to swap gzip for brotli in Varnish one-for-one (without the whole storing-dual-forms mess) and then have nginx transcode back to gzip for gzip-only clients, and maybe not deploy it until the brotli percentage swings a bit higher than it already is.

May 10 2019, 6:22 PM · Performance-Team (Radar), Traffic, Operations
ori updated the task description for T222966: > 2% of API wall time spent generating UUIDs.
May 10 2019, 4:32 PM · MW-1.34-notes (1.34.0-wmf.16; 2019-07-30), Core Platform Team Workboards (Team 2), Event-Platform, Core Platform Team (Modern Event Platform (TEC2)), Services-next, Analytics, Performance Issue
ori created T222966: > 2% of API wall time spent generating UUIDs.
May 10 2019, 4:32 PM · MW-1.34-notes (1.34.0-wmf.16; 2019-07-30), Core Platform Team Workboards (Team 2), Event-Platform, Core Platform Team (Modern Event Platform (TEC2)), Services-next, Analytics, Performance Issue

May 9 2019

ori assigned T222896: Update the php-wikidiff2 package to WMDE-Fisch.
May 9 2019, 7:15 PM · wikidiff2
ori added a comment to T222896: Update the php-wikidiff2 package.

SGTM; thank you.

May 9 2019, 7:14 PM · wikidiff2
ori updated subscribers of T222896: Update the php-wikidiff2 package.

I just came across https://www.mediawiki.org/wiki/Extension:Wikidiff2/Release_process. @Legoktm, who handles this nowadays?

May 9 2019, 3:11 PM · wikidiff2
ori created T222896: Update the php-wikidiff2 package.
May 9 2019, 3:09 PM · wikidiff2

May 8 2019

ori closed T221051: [REQUEST] Sample of diff requests as Resolved.
May 8 2019, 10:51 PM · Product-Analytics, Reading-analysis
ori added a comment to T221051: [REQUEST] Sample of diff requests.

It's not blocking anything; I wanted it for a set of representative benchmarks but I ended up settling for something less representatives (pairs of consecutive revisions from Special:RecentChanges of various wikis). It's probably not worth the effort to be more methodical at this point. Thank you (really!) anyhow for the willingness to help.

May 8 2019, 10:51 PM · Product-Analytics, Reading-analysis

Apr 15 2019

ori created T221051: [REQUEST] Sample of diff requests.
Apr 15 2019, 10:42 PM · Product-Analytics, Reading-analysis

Feb 21 2019

ori created T216744: libpcre-related performance opportunities.
Feb 21 2019, 5:14 PM · MediaWiki-General, Performance-Team

Feb 7 2019

ori added a comment to T211661: Automatically clean up unused thumbnails in Swift.

I don't understand the preference for sampling Swift requests rather than Varnish requests. You'd have greater resilience to overload (for the reasons I cited above), and you'd have looser coupling and better fault tolerance by building on top of kafka.

Feb 7 2019, 4:07 PM · User-jijiki, Patch-For-Review, Traffic, SRE-swift-storage, Operations, Performance-Team
ori committed rMSCA4b78224842e7: scap: invoke dsh via subprocess.call rather than .check_call (authored by ori).
scap: invoke dsh via subprocess.call rather than .check_call
Feb 7 2019, 12:11 PM
ori committed rMSCAc4a5722cca09: Fix crash when --version is not specified (authored by ori).
Fix crash when --version is not specified
Feb 7 2019, 12:11 PM
ori committed rMSCA7c14a61bfe11: Replace dependency on DSH with a simple Python OpenSSH wrapper (authored by ori).
Replace dependency on DSH with a simple Python OpenSSH wrapper
Feb 7 2019, 12:11 PM
ori committed rMSCA92eb0d0ce87a: Add scap.ssh module (authored by ori).
Add scap.ssh module
Feb 7 2019, 12:11 PM
ori committed rMSCA2670434c2478: Add scap.ssh module (authored by ori).
Add scap.ssh module
Feb 7 2019, 12:11 PM
ori committed rMSCAf6d211c7b417: Add scap.ssh module (authored by ori).
Add scap.ssh module
Feb 7 2019, 12:11 PM
ori committed rMSCAa760c511fc56: Add scap.ssh module (authored by ori).
Add scap.ssh module
Feb 7 2019, 12:11 PM
ori committed rMSCA5e032b338efe: Remove external script dependencies from sync_common (authored by bd808).
Remove external script dependencies from sync_common
Feb 7 2019, 12:10 PM
ori committed rMSCA5aa13128f162: Remove external script dependencies from sync_common (authored by bd808).
Remove external script dependencies from sync_common
Feb 7 2019, 12:10 PM
ori committed rMSCA3eef6f98a6e3: Remove external script dependencies from sync_common (authored by bd808).
Remove external script dependencies from sync_common
Feb 7 2019, 12:10 PM
ori committed rMSCAfdd8eceb4420: Remove external script dependencies from sync_common (authored by bd808).
Remove external script dependencies from sync_common
Feb 7 2019, 12:10 PM
ori committed rMSCAd3f22d6de29a: Make the OS reap children by explicitly setting a SIG_IGN handler to SIGCHLD (authored by ori).
Make the OS reap children by explicitly setting a SIG_IGN handler to SIGCHLD
Feb 7 2019, 12:10 PM
ori committed rMSCA079645fe9dde: Remove external script dependencies from sync_common (authored by bd808).
Remove external script dependencies from sync_common
Feb 7 2019, 12:10 PM
ori committed rMSCAa12710272e4b: Remove external script dependencies from sync_common (authored by bd808).
Remove external script dependencies from sync_common
Feb 7 2019, 12:10 PM
ori committed rMSCA985982fa44e4: Remove external script dependencies from sync_common (authored by bd808).
Remove external script dependencies from sync_common
Feb 7 2019, 12:10 PM
ori committed rMSCAe8ef5d3ea629: Add cluster_monitor ssh ssh wrapper (authored by bd808).
Add cluster_monitor ssh ssh wrapper
Feb 7 2019, 12:10 PM
ori committed rMSCAd896649efd63: Remove '--versions', run_on_cluster, build_command, sudo_args and cluster_run (authored by ori).
Remove '--versions', run_on_cluster, build_command, sudo_args and cluster_run
Feb 7 2019, 12:10 PM
ori committed rMSCAe28b4e795ee6: Remove '--versions', run_on_cluster, build_command, sudo_args and cluster_run (authored by ori).
Remove '--versions', run_on_cluster, build_command, sudo_args and cluster_run
Feb 7 2019, 12:10 PM
ori committed rMSCA5f602e6fcda4: Remove '--versions', run_on_cluster, build_command, sudo_args and cluster_run (authored by ori).
Remove '--versions', run_on_cluster, build_command, sudo_args and cluster_run
Feb 7 2019, 12:10 PM
ori committed rMSCAf3f98a4ecdce: Remove '--versions', run_on_cluster, build_command, sudo_args and cluster_run (authored by ori).
Remove '--versions', run_on_cluster, build_command, sudo_args and cluster_run
Feb 7 2019, 12:10 PM
ori committed rMSCA559abab1f303: Remove '--versions', run_on_cluster, build_command, sudo_args and cluster_run (authored by ori).
Remove '--versions', run_on_cluster, build_command, sudo_args and cluster_run
Feb 7 2019, 12:10 PM
ori committed rMSCA469b6161e595: Remove '--versions', run_on_cluster, build_command, sudo_args and cluster_run (authored by ori).
Remove '--versions', run_on_cluster, build_command, sudo_args and cluster_run
Feb 7 2019, 12:10 PM
ori committed rMSCAaf875e64c3aa: Improve error message when scap lock fails (authored by bd808).
Improve error message when scap lock fails
Feb 7 2019, 12:10 PM
ori committed rMSCA6cd30547c941: Partially revert "Convert sync-dir and sync-file to python" (authored by ori).
Partially revert "Convert sync-dir and sync-file to python"
Feb 7 2019, 12:10 PM
ori added a reverting change for rMSCA28a4f0efa2e8: Convert sync-dir and sync-file to python: rMSCA6cd30547c941: Partially revert "Convert sync-dir and sync-file to python".
Feb 7 2019, 12:10 PM
ori added a reverting change for rMSCA28a4f0efa2e8: Convert sync-dir and sync-file to python: rMSCA51269966944a: Partially revert "Convert sync-dir and sync-file to python".
Feb 7 2019, 12:10 PM
ori committed rMSCA51269966944a: Partially revert "Convert sync-dir and sync-file to python" (authored by ori).
Partially revert "Convert sync-dir and sync-file to python"
Feb 7 2019, 12:10 PM
ori committed rMSCA0014408bcafd: Make scap restart HHVM (authored by ori).
Make scap restart HHVM
Feb 7 2019, 12:10 PM
ori committed rMSCAb11c019a8132: Make scap restart HHVM (authored by ori).
Make scap restart HHVM
Feb 7 2019, 12:10 PM
ori committed rMSCAc7b9e60d8270: Make scap restart HHVM (authored by ori).
Make scap restart HHVM
Feb 7 2019, 12:10 PM
ori committed rMSCA29a0999d3442: Remove restart-nutcracker and restart-twemproxy scripts (authored by ori).
Remove restart-nutcracker and restart-twemproxy scripts
Feb 7 2019, 12:10 PM
ori committed rMSCA7884456c4ea8: Initialize Job._reporter to None (authored by ori).
Initialize Job._reporter to None
Feb 7 2019, 12:10 PM
ori committed rMSCA5a91baba04c2: Make scap restart HHVM (authored by ori).
Make scap restart HHVM
Feb 7 2019, 12:10 PM
ori committed rMSCA7bd36cc8f88f: utils.git_info(): handle case of no remote tracking branch (authored by ori).
utils.git_info(): handle case of no remote tracking branch
Feb 7 2019, 12:10 PM
ori committed rMSCA5d01ff62816b: Make scap restart HHVM (authored by ori).
Make scap restart HHVM
Feb 7 2019, 12:10 PM
ori committed rMSCA84dfebd87912: Make scap restart HHVM (authored by ori).
Make scap restart HHVM
Feb 7 2019, 12:10 PM
ori committed rMSCA8b875f559df8: Make the SSH user and authentication socket configurable (authored by ori).
Make the SSH user and authentication socket configurable
Feb 7 2019, 12:10 PM
ori committed rMSCAd5ac8d9beb25: Make the SSH user and authentication socket configurable (authored by ori).
Make the SSH user and authentication socket configurable
Feb 7 2019, 12:10 PM
ori committed rMSCA1072dfa558a1: Make the SSH user and authentication socket configurable (authored by ori).
Make the SSH user and authentication socket configurable
Feb 7 2019, 12:10 PM
ori committed rMSCA61f2f5ecb3c1: Only use config ssh_auth_sock if set/readable/useable (authored by Reedy).
Only use config ssh_auth_sock if set/readable/useable
Feb 7 2019, 12:10 PM
ori committed rMSCA057e38e91077: Run rebuildLocalisationCache.php as www-data (authored by tstarling).
Run rebuildLocalisationCache.php as www-data
Feb 7 2019, 12:10 PM
ori committed rMSCA6724e0efbbd1: Run rebuildLocalisationCache.php as www-data (authored by tstarling).
Run rebuildLocalisationCache.php as www-data
Feb 7 2019, 12:10 PM
ori committed rMSCA36366a162189: Run rebuildLocalisationCache.php as www-data (authored by tstarling).
Run rebuildLocalisationCache.php as www-data
Feb 7 2019, 12:10 PM
ori committed rMSCA98b7428e0362: Use service instead of start to start apache2 (authored by ori).
Use service instead of start to start apache2
Feb 7 2019, 12:10 PM
ori committed rMSCA8173eec34b6a: Handle ECHILD in ssh.py (authored by ori).
Handle ECHILD in ssh.py
Feb 7 2019, 12:10 PM
ori committed rMSCAc2d400d22b04: Handle ECHILD in ssh.py (authored by ori).
Handle ECHILD in ssh.py
Feb 7 2019, 12:10 PM
ori committed rMSCA045d2d0fc9a1: Don't assume current l10n cache files are .cdb (authored by ori).
Don't assume current l10n cache files are .cdb
Feb 7 2019, 12:10 PM
ori committed rMSCAd68141c95d5b: Don't assume current l10n cache files are .cdb (authored by ori).
Don't assume current l10n cache files are .cdb
Feb 7 2019, 12:10 PM
ori committed rMSCAf92d080b61b7: Don't assume current l10n cache files are .cdb (authored by ori).
Don't assume current l10n cache files are .cdb
Feb 7 2019, 12:10 PM
ori committed rMSCAfb29550ba7b0: Expect l10n_cache-en.php, not l10n_cache-en.cdb (authored by ori).
Expect l10n_cache-en.php, not l10n_cache-en.cdb
Feb 7 2019, 12:09 PM
ori committed rMSCAe391ba0d70d7: Don't assume current l10n cache files are .cdb (authored by ori).
Don't assume current l10n cache files are .cdb
Feb 7 2019, 12:09 PM
ori committed rMSCA2ab97a1a9f1c: Build wikiversions.php in addition to wikiversions.cdb (authored by ori).
Build wikiversions.php in addition to wikiversions.cdb
Feb 7 2019, 12:09 PM
ori committed rMSCAc21d5dec0d98: Build wikiversions.php in addition to wikiversions.cdb (authored by ori).
Build wikiversions.php in addition to wikiversions.cdb
Feb 7 2019, 12:09 PM
ori committed rMSCAbd568eb70324: update scap for dblists/* change (authored by ori).
update scap for dblists/* change
Feb 7 2019, 12:07 PM
Gerrit Code Review <gerrit@wikimedia.org> committed rMSCAec9d89ab94db: Created project (authored by ori).
Created project
Feb 7 2019, 12:07 PM

Feb 6 2019

ori added a comment to T211661: Automatically clean up unused thumbnails in Swift.

And indeed I share the concerns already mentioned, namely making sure we're able to have a bound on writes (deletes and/or metadata updates) as we're expiring thumbnails.

Feb 6 2019, 3:35 PM · User-jijiki, Patch-For-Review, Traffic, SRE-swift-storage, Operations, Performance-Team

Feb 5 2019

ori added a comment to T211661: Automatically clean up unused thumbnails in Swift.

The worry I had was this: a thumbnail that is requested once a minute on average probably has an approximately similar varnish cache hit rate to a thumbnail that is requested a hundred times per second. If that's true, then both thumbnails would be retrieved from Swift about as often, and they would be equally likely to have their expiry renewed before they're vacuumed up. This increases the risk of overload in case of a varnish cold restart or failure.

Feb 5 2019, 7:52 PM · User-jijiki, Patch-For-Review, Traffic, SRE-swift-storage, Operations, Performance-Team
ori added a comment to T211661: Automatically clean up unused thumbnails in Swift.

(It might have to be X% of access on varnish, since I assume the most oft-requested thumbnails enjoy a very high varnish cache hit rate. You could do this asynchronously by having a daemon that samples thumbnail requests from the varnishkafka stream.)

Feb 5 2019, 7:22 PM · User-jijiki, Patch-For-Review, Traffic, SRE-swift-storage, Operations, Performance-Team
ori added a comment to T211661: Automatically clean up unused thumbnails in Swift.

It seems that Swift has built-in support for object expiration, which can be requested by setting a header (either X-Delete-After or X-Delete-At).
It also looks like the expiry can be re-set, either by first removing it via X-Remove-Delete-At, and then setting it anew, or by updating the metadata in-place.
Is there a reason why these mechanisms are not under consideration?

Feb 5 2019, 6:39 PM · User-jijiki, Patch-For-Review, Traffic, SRE-swift-storage, Operations, Performance-Team
ori added a comment to T211661: Automatically clean up unused thumbnails in Swift.

What orders of magnitude are we talking about with respect to: total number of thumbnails in Swift, and number of thumbnail requests per second?

Feb 5 2019, 6:21 PM · User-jijiki, Patch-For-Review, Traffic, SRE-swift-storage, Operations, Performance-Team

Oct 3 2018

ori added a comment to T205059: Excimer: new profiler for PHP.

Tim's rationale for the callback interface makes sense to me. Thanks for the explanation.

Oct 3 2018, 12:00 AM · Core Platform Team Workboards (Done with CPT), serviceops, Core Platform Team (PHP7 (TEC4)), Excimer, Performance-Team (Radar), PHP 7.1 support

Sep 24 2018

ori added a comment to T205059: Excimer: new profiler for PHP.

I wonder if a callback is the right choice, particularly for the periodic mode. Presumably you'd want the processing of samples to occur after response data has been flushed, in a context that is healthy (e.g., you can make use of storage and logging facilities, and you are not on the cusp of hitting the timeout). But if the callback can be called because the sample buffer is full, then the call could come at any time, no? Wouldn't it be better to leave it to PHP code to call $excimer->getLog(), and have that return null if the log is empty?

Sep 24 2018, 2:46 AM · Core Platform Team Workboards (Done with CPT), serviceops, Core Platform Team (PHP7 (TEC4)), Excimer, Performance-Team (Radar), PHP 7.1 support

Aug 27 2018

Krinkle awarded T60082: TimedMediaHandler injects too many JavaScript configuration variables a Orange Medal token.
Aug 27 2018, 9:40 PM · Multimedia, Performance-Team (Radar), Kaltura player

Aug 23 2018

dbarratt awarded T99268: RfC: Create a proper command-line runner for MediaWiki maintenance tasks a Love token.
Aug 23 2018, 9:36 PM · Outreachy (Round 19), Core Platform Team, TechCom-RFC (TechCom-Approved), MediaWiki-Maintenance-scripts

Aug 15 2018

ori added a comment to T187207: Spin out a tiny EventLogging RL module for lightweight logging.

However, I learned today that the client actually submits the event to the server even if it fails validation client-side.

Aug 15 2018, 6:57 PM · MW-1.33-notes (1.33.0-wmf.9; 2018-12-18), MW-1.32-notes (WMF-deploy-2018-10-16 (1.32.0-wmf.26)), Patch-For-Review, Analytics-Kanban, Performance-Team (Radar), Analytics, Analytics-EventLogging
ori added a comment to T187207: Spin out a tiny EventLogging RL module for lightweight logging.

@Krinkle OK, that makes sense to me. As a lead-up to that, would it make sense to run a brief study in which we log an event when an event fails validation on the client? The code for logging of the 'validation failed' event could use an alternate, light-weight code-path so we don't end up wondering how many 'validation failed' events failed validation.

Aug 15 2018, 3:51 PM · MW-1.33-notes (1.33.0-wmf.9; 2018-12-18), MW-1.32-notes (WMF-deploy-2018-10-16 (1.32.0-wmf.26)), Patch-For-Review, Analytics-Kanban, Performance-Team (Radar), Analytics, Analytics-EventLogging

Aug 7 2018

ori added a comment to T187207: Spin out a tiny EventLogging RL module for lightweight logging.

I think that Nuria was right to press for an evidence-based rationale, and I haven't seen one.

Aug 7 2018, 5:25 AM · MW-1.33-notes (1.33.0-wmf.9; 2018-12-18), MW-1.32-notes (WMF-deploy-2018-10-16 (1.32.0-wmf.26)), Patch-For-Review, Analytics-Kanban, Performance-Team (Radar), Analytics, Analytics-EventLogging

Aug 2 2018

Krinkle awarded T99268: RfC: Create a proper command-line runner for MediaWiki maintenance tasks a Orange Medal token.
Aug 2 2018, 5:15 AM · Outreachy (Round 19), Core Platform Team, TechCom-RFC (TechCom-Approved), MediaWiki-Maintenance-scripts

Jul 23 2018

D3r1ck01 awarded T110353: Audit use of cookies a Like token.
Jul 23 2018, 8:42 PM · Performance-Team, Epic, Sysadmin-notice, Wikimedia-General-or-Unknown
ori added a comment to T176916: Set up sampling profiler for PHP 7 (alternative to HHVM Xenon).

It'd be nifty if you got backtraces from Lua, too. Luasandbox is about ~7% of wall time.

Jul 23 2018, 2:34 PM · Core Platform Team Workboards (Done with CPT), PHP 7.1 support, Core Platform Team (PHP7 (TEC4)), Performance-Team

Jul 22 2018

ori closed T148300: generator-wikimedia-php-library broken (throws error) as Invalid.

According to https://www.mediawiki.org/wiki/Manual:Developing_libraries#Bootstrapping_a_new_library generator-wikimedia-php-library is deprecated in favor of cookiecutter-library.

Jul 22 2018, 6:02 PM · Wikimedia-General-or-Unknown
ori placed T199327: "values from namespace=Category" not working properly up for grabs.

Tom, are you sure you meant to send this to me? I am not involved with the maintenance of the PageForms extension. Maybe you meant @Yaron_Koren ?

Jul 22 2018, 6:00 PM · MediaWiki-extensions-Page_Forms
ori placed T130855: Make mw.loader.store asynchronous up for grabs.
Jul 22 2018, 5:58 PM · MediaWiki-ResourceLoader, Performance-Team