Page MenuHomePhabricator

Simetrical (Aryeh Gregor (inactive until at least October 22))
User

Projects

Today

  • Clear sailing ahead.

Tomorrow

  • Clear sailing ahead.

Thursday

  • Clear sailing ahead.

User Details

User Since
Mar 18 2018, 12:21 PM (83 w, 2 d)
Availability
Available
IRC Nick
AryehGregor
LDAP User
Unknown
MediaWiki User
Simetrical [ Global Accounts ]

I learn full-time in kollel, and sometimes contract for Wikimedia bein hazemanim.

Recent Activity

Today

Simetrical added a comment to T236191: SSH login to gerrit no longer works for me (simetrical/Aryeh Gregor).

Gerrit bails out after five failed "logins" - that is, if you have more than five miscellaneous identity files preceding the right one. Yes, it's stupid. (We have a task about it but I can't find it now.) Use something like

Host gerrit.wikimedia.org
  IdentityFile /path/to/gerrit/keyfile
  IdentitiesOnly yes

in your SSH config.

Tue, Oct 22, 6:12 PM · Gerrit
Simetrical created T236191: SSH login to gerrit no longer works for me (simetrical/Aryeh Gregor).
Tue, Oct 22, 5:04 PM · Gerrit
Simetrical added a comment to T231799: LuaWikibaseEntityLibraryTest: CI failing en masse.

How am I supposed to test its impact on Wikibase before merging? How can I run Wikibase tests on a patch I'm submitting to core, if they aren't run automatically?

Tue, Oct 22, 4:41 PM · Wikimedia-production-error (Shared Build Failure), Patch-For-Review, MW-1.34-notes (1.34.0-wmf.21; 2019-09-03), User-Ladsgroup, Wikidata-Campsite (Wikidata-Campsite-Iteration-∞), MediaWiki-extensions-Scribunto, Wikidata

Sep 1 2019

Simetrical updated Simetrical.
Sep 1 2019, 11:13 AM
Simetrical added a comment to T231710: Recommend PHP7-only features after dropping HHVM support.
  • void return value for functions, for the same reason we want to type-hint generally
  • Convert list() to [] just like we converted array()
  • Specify visibility of class constants (some are only used internally and should be made protected or private)
Sep 1 2019, 10:01 AM · MW-1.34-notes, Patch-For-Review, MW-1.35-notes (1.35.0-wmf.1; 2019-10-08), PHP 7.0 support, Code-Health
Simetrical added a comment to T231710: Recommend PHP7-only features after dropping HHVM support.

It looks like soon we're probably going to require PHP 7.2, so features from 7.1 and 7.2 should be considered as well. These pages are useful:

Sep 1 2019, 9:29 AM · MW-1.34-notes, Patch-For-Review, MW-1.35-notes (1.35.0-wmf.1; 2019-10-08), PHP 7.0 support, Code-Health
Simetrical added a comment to T231159: Wrap file access so it can be mocked.

It is not part of the contract of a cache to cache something, insofar as caches by definition are for things that can be regenerated, and therefore are not designed to guarantee persistency.

Sep 1 2019, 9:01 AM · MediaWiki-Core-Testing
Simetrical added a comment to T231656: MediaWikiTestCaseTrait::creatNoOpMock should permit calling destructors.

Is this actually causing problems? MovePage did have it because destruct would actually get called, but now it seems it doesn't. Why would destruct actually get called on the mock? It seems it doesn't really get called every time an object is destroyed.

Sep 1 2019, 8:53 AM · MW-1.34-notes (1.34.0-wmf.21; 2019-09-03), MediaWiki-Core-Testing

Aug 30 2019

Simetrical added a comment to T225730: Reduce runtime of MW shared gate Jenkins jobs to 5 min.

For the overloading issue, is there any option of just getting more resources? Maybe using EC2 or similar? We're trying to add lots more tests, and one way or another, we're going to need more resources to run them.

Aug 30 2019, 9:10 AM · Release-Engineering-Team (Unit & Int & System Tooling), Release-Engineering-Team-TODO, Code-Health, Performance-Team (Radar), Epic, MediaWiki-Core-Testing, Continuous-Integration-Config
Simetrical created T231631: Allow using non-Gregorian calendars in all languages.
Aug 30 2019, 8:42 AM · MediaWiki-Internationalization
Simetrical added a comment to T231551: NamespaceInfo.php: PHP Notice: A non well formed numeric value encountered.

ChangesListSpecialPage is not validating the parameters. It's assuming that the namespace parameter in the query string is a semicolon-delimited list of numbers. The URL here is invalid, and has garbage after the namespace parameter:

namespace=1%20waitfor%20delay%20'0:0:10'%20--%20

This will be parsed to int(1), which is probably correct, but it issues a notice.

Aug 30 2019, 7:24 AM · Growth-Team, MediaWiki-General, Wikimedia-production-error
Simetrical added a comment to T225730: Reduce runtime of MW shared gate Jenkins jobs to 5 min.

Again, there are two concerns: reducing latency, and reducing server load. The two are only related if the servers are actually overloaded and therefore individual jobs take longer. What exactly is our concern here? Latency, server load, or both?

Aug 30 2019, 7:16 AM · Release-Engineering-Team (Unit & Int & System Tooling), Release-Engineering-Team-TODO, Code-Health, Performance-Team (Radar), Epic, MediaWiki-Core-Testing, Continuous-Integration-Config

Aug 29 2019

Simetrical added a comment to T231159: Wrap file access so it can be mocked.

It seems that what you're suggesting is that instead of defining a wrapper class that you can use if you want to mock the file access, each class should define separate methods on an ad hoc basis to wrap the file access. Wouldn't it be preferable to define the wrappers only once?

Aug 29 2019, 3:24 PM · MediaWiki-Core-Testing
Simetrical added a comment to T230979: CR+2 on MediaWiki for Aryeh Gregor (aka Simetrical).

It's been seven days, and seemingly no objections. It would be useful for me to have +2 rights now just to re-submit patches I've written that failed gate-and-submit due to flaky tests or non-substantive reasons ("HHVM doesn't like syntax X"). I seem to have a lot of those, and right now I have to wait for someone else to deal with it.

Aug 29 2019, 2:42 PM · MediaWiki-Gerrit-Group-Requests
Simetrical added a comment to T218555: Provide access to WebRequest and associated information via a service object.

What I mean is - what is our strategy for constructing things like a RevisionStore, Parser or MessageCache for another wiki. If services only vary by wiki and their Config, it is logically trivial to construct another tree for that, so long as its config can be retrieved (SiteConfiguration, legacy, known issues, limitations etc. yes).

Aug 29 2019, 2:32 PM · TechCom, MediaWiki-ServiceContainer, CPT Initiatives (Decoupling (CDP2))
Simetrical added a comment to T218555: Provide access to WebRequest and associated information via a service object.

Will do next. Meanwhile:

  • What are both your thoughts on the cross-wiki use case?

How might this work with WebRequest in the service container? Or does it not matter for that use case whether WebRequest is in or out the service container? Or should we depart from this long-term ideal? If so, what would be our strategy for use cases of that kind going forward? (E.g. HTTP requests to API only)

Aug 29 2019, 1:08 PM · TechCom, MediaWiki-ServiceContainer, CPT Initiatives (Decoupling (CDP2))
Simetrical added a comment to T231159: Wrap file access so it can be mocked.

Since the point of a cache is to save disk reads, I think we would want to directly test that it doesn't do unnecessary disk risks. Otherwise the cache isn't doing its job. Just injecting the directory doesn't give you any way to directly test that the cache is saving disk reads, i.e., that it's behaving usefully.

Aug 29 2019, 11:35 AM · MediaWiki-Core-Testing
Simetrical added a comment to T225730: Reduce runtime of MW shared gate Jenkins jobs to 5 min.

If you want to split things up, split up PHPUnit tests themselves into multiple chunks. That will allow reducing latencies more or less arbitrarily, assuming we have adequate server resources and we don't spend too much time in setting up the test instance.

Aug 29 2019, 11:31 AM · Release-Engineering-Team (Unit & Int & System Tooling), Release-Engineering-Team-TODO, Code-Health, Performance-Team (Radar), Epic, MediaWiki-Core-Testing, Continuous-Integration-Config
Simetrical added a comment to T231488: UploadFromChunks.php: Call to undefined method MediaWiki\FileBackend\FSFile\TempFSFileFactory::getTempFSFile().

Why did phan not catch this?

Aug 29 2019, 10:09 AM · Patch-For-Review, MW-1.34-notes (1.34.0-wmf.20; 2019-08-27), MediaWiki-Uploading, Wikimedia-production-error

Aug 28 2019

Simetrical added a comment to T218555: Provide access to WebRequest and associated information via a service object.
  • It's not everywhere –The subset of MediaWiki that both 1) cannot compute these and 2) cannot be given these by method parameter, almost always has a RequestContext already. So we've already paid the migration cost for this over the past years. They already have direct or nearby access to these concepts. The number of places where we currently need to call RequestContext::getMain() is quite small, and migrating these away seems quite doable (we've already done it in most other places).
Aug 28 2019, 4:05 PM · TechCom, MediaWiki-ServiceContainer, CPT Initiatives (Decoupling (CDP2))
Simetrical added a comment to T218555: Provide access to WebRequest and associated information via a service object.

In practical terms:
PermissionManager::getUserPermissions currently relies on global variables via RequestContext::getMain(). I want to change that. Making the necessary context injectable is simple and would fix the problem.

Aug 28 2019, 1:55 PM · TechCom, MediaWiki-ServiceContainer, CPT Initiatives (Decoupling (CDP2))
Simetrical added a comment to T218555: Provide access to WebRequest and associated information via a service object.

If I understand correctly, Krinke's point is that the behavior of a service should only vary on 1) the parameters provided and b) configuration. Injecting knowledge about the current Request, User, Session, etc breaks that assumption. So these things should be provided as parameters where needed.

Aug 28 2019, 1:50 PM · TechCom, MediaWiki-ServiceContainer, CPT Initiatives (Decoupling (CDP2))
Simetrical created T231434: How to support extensions overriding services without having to update them for every constructor signature change.
Aug 28 2019, 11:47 AM · MediaWiki-extensions-General, MediaWiki-ServiceContainer
Simetrical added a comment to T231159: Wrap file access so it can be mocked.

For that matter, testing anything in that method requires making assumptions about the contents of files in the filesystem and perhaps copy-pasting something about their contents. This doesn't seem like the best approach. The correctness of Language::getGrammarTransformations() shouldn't have to depend on the data that we happen to ship.

Aug 28 2019, 10:08 AM · MediaWiki-Core-Testing
Simetrical reopened T231159: Wrap file access so it can be mocked as "Open".

So here's an example: Language::getGrammarTransformations() will throw an exception if it finds invalid JSON in a grammar transformations file. The file path is hardcoded to __DIR__ . "/data/grammarTransformations/$languageCode.json" and accessed with is_readable() and file_get_contents(). How are we supposed to test that the exception is thrown properly?

Aug 28 2019, 9:48 AM · MediaWiki-Core-Testing
Simetrical added a comment to T30426: Remove stub link formatting user preference from MediaWiki core.

If we wanted to make this feature work properly, I think the right way would be to parse the HTML page content for links, find all links to pages on the current wiki, run a DB query to see how big they are, and add a suitable class to the parsed HTML. This would not affect caching; would have no performance impact on anyone who has the feature disabled; and for whoever has the feature enabled, will add one HTML parse/serialize and one (small, indexed) database query.

Aug 28 2019, 8:48 AM · Performance Issue, WorkType-NewFunctionality, MediaWiki-General
Simetrical closed T231159: Wrap file access so it can be mocked as Invalid.

Maybe it doesn't really need to be mocked, then. I'll reopen if I find a case where it really does.

Aug 28 2019, 7:31 AM · MediaWiki-Core-Testing

Aug 27 2019

Simetrical added a comment to T225730: Reduce runtime of MW shared gate Jenkins jobs to 5 min.

I think the best returns here are going to be not on pinpointing specific tests, but looking for systemic issues. Even if you find a test that takes ten seconds, optimizing it will save at most ten seconds, and there aren't enough such tests to add up to the target savings of 10+ minutes.

Aug 27 2019, 4:30 PM · Release-Engineering-Team (Unit & Int & System Tooling), Release-Engineering-Team-TODO, Code-Health, Performance-Team (Radar), Epic, MediaWiki-Core-Testing, Continuous-Integration-Config
Simetrical closed T231183: L10n cache is completely broken, a subtask of T220745: 1.34.0-wmf.20 deployment blockers, as Resolved.
Aug 27 2019, 7:15 AM · User-zeljkofilipin, Release-Engineering-Team-TODO (201908), Release-Engineering-Team (Deployment services), Release, Train Deployments
Simetrical closed T231183: L10n cache is completely broken as Resolved.
Aug 27 2019, 7:15 AM · Core Platform Team, MW-1.34-notes (1.34.0-wmf.20; 2019-08-27), MediaWiki-Internationalization, MediaWiki-Cache

Aug 26 2019

Simetrical added a comment to T218555: Provide access to WebRequest and associated information via a service object.

So let's say for LBFactory, how would you suggest making it not depend at all on the current request? How should it get the request's IP address and User-Agent so that ChronologyProtector works?

Aug 26 2019, 5:56 PM · TechCom, MediaWiki-ServiceContainer, CPT Initiatives (Decoupling (CDP2))
Simetrical added a comment to T231183: L10n cache is completely broken.

Then I think it's resolved, although the patch is being backed out anyway for now because of T231198/T231200.

Aug 26 2019, 5:51 PM · Core Platform Team, MW-1.34-notes (1.34.0-wmf.20; 2019-08-27), MediaWiki-Internationalization, MediaWiki-Cache
Simetrical added a comment to T231220: Figure out how to make LocalisationCache a service without hurting performance.

By the way, @Ladsgroup, how did you actually measure the performance hit here? I'm going to need a way to test it to make sure I've fixed the problem before re-committing.

Aug 26 2019, 5:49 PM · Core Platform Team Workboards (Clinic Duty Team), MediaWiki-General
Simetrical created T231220: Figure out how to make LocalisationCache a service without hurting performance.
Aug 26 2019, 5:48 PM · Core Platform Team Workboards (Clinic Duty Team), MediaWiki-General
Simetrical added a comment to T218555: Provide access to WebRequest and associated information via a service object.

Few services will actually want direct access to the request info, so I'd think it doesn't make sense to make a service for this without specific use-cases that don't make more sense to deal with by other means. For instance, LBFactory needs only a few specific pieces of information from the request, so it doesn't seem necessary to make a whole service to pass in for it.

Aug 26 2019, 5:21 PM · TechCom, MediaWiki-ServiceContainer, CPT Initiatives (Decoupling (CDP2))
Simetrical added a comment to T231183: L10n cache is completely broken.

This should be fixed now, can you test?

Aug 26 2019, 4:02 PM · Core Platform Team, MW-1.34-notes (1.34.0-wmf.20; 2019-08-27), MediaWiki-Internationalization, MediaWiki-Cache
Simetrical added a comment to T231183: L10n cache is completely broken.

So those two patches should fix the two issues that you ran into. I leave it up to the people with +2 access to decide whether it's wise to just commit these two fixes or to revert LocalisationCache and LanguageNameUtils for now.

Aug 26 2019, 9:56 AM · Core Platform Team, MW-1.34-notes (1.34.0-wmf.20; 2019-08-27), MediaWiki-Internationalization, MediaWiki-Cache
Simetrical added a comment to T231183: L10n cache is completely broken.

The breakage of rebuildLocalisationCache.php is an entirely separate problem. Separate patch coming for that. See, this is why tests before refactoring is a good idea!

Aug 26 2019, 9:46 AM · Core Platform Team, MW-1.34-notes (1.34.0-wmf.20; 2019-08-27), MediaWiki-Internationalization, MediaWiki-Cache
Simetrical added a comment to T231183: L10n cache is completely broken.

I think I see the problem:

Aug 26 2019, 9:41 AM · Core Platform Team, MW-1.34-notes (1.34.0-wmf.20; 2019-08-27), MediaWiki-Internationalization, MediaWiki-Cache
Simetrical added a comment to T231183: L10n cache is completely broken.

You need to revert LanguageNameUtils too, then it works fine (other than RELEASE-NOTES conflicts, obviously): 2e52f48c2ed

Aug 26 2019, 9:34 AM · Core Platform Team, MW-1.34-notes (1.34.0-wmf.20; 2019-08-27), MediaWiki-Internationalization, MediaWiki-Cache

Aug 25 2019

Simetrical added a project to T231159: Wrap file access so it can be mocked: MediaWiki-Core-Testing.
Aug 25 2019, 12:06 PM · MediaWiki-Core-Testing
Simetrical created T231159: Wrap file access so it can be mocked.
Aug 25 2019, 12:06 PM · MediaWiki-Core-Testing
Simetrical added a comment to T224429: Hunt and remove unused i18n messages in mediawiki core.

We definitely should have a test that checks for this. Any existing cases can be whitelisted for the time being, but it could at least stop new cases from being inadvertently added.

Aug 25 2019, 9:16 AM · MW-1.34-notes (1.34.0-wmf.24; 2019-09-24), Patch-For-Review, Google-Code-in-2019, translatewiki.net, Wikimania-Hackathon-2019, I18n, MediaWiki-Internationalization
Simetrical added a comment to T231103: WikibaseLexeme test broken by refactor of MediaWiki's Language class.

WikibaseLexeme tests were accessing a private property of Language via ReflectionClass in order to clear Language caches, instead of using the public method Language::clearCaches(). When Language got refactored, the private member was removed, which broke the tests. Tests that are not run by CI cannot rely on private things not changing if they want to not break -- they need to use only public interfaces.

Aug 25 2019, 9:11 AM · MediaWiki-Core-Testing, Wikidata, Lexicographical data, Release-Engineering-Team-TODO (201908), ci-test-error

Aug 23 2019

Simetrical added a comment to T230688: @coversDefaultClass should be allowed on traits as well as classes (MediaWiki.Commenting.PhpunitAnnotations.NotClass).

For the record, @coversDefaultClass seems not to work properly on HHVM either, although on PHP I didn't get any errors. So maybe the sniff is a good idea, at least for now.

Aug 23 2019, 9:49 AM · MediaWiki-Codesniffer

Aug 22 2019

Simetrical added a comment to T231014: ServiceContainer.php: Circular dependency when creating MobileFrontend service "AMC.UserMode > AMC.Manager > FeaturesManager > UserModes > AMC.UserMode".

The question is, did this work before, or crash with a stack overflow? Do we log all fatal errors in such a way that we know these page views actually succeeded before this change, or might the error just have changed?

Aug 22 2019, 4:37 PM · MW-1.34-notes (1.34.0-wmf.19; 2019-08-20), Readers-Web-Backlog (Readers-Web-Kanbanana-2019-20-Q1), MobileFrontend, Wikimedia-production-error
Simetrical placed T218555: Provide access to WebRequest and associated information via a service object up for grabs.
Aug 22 2019, 1:29 PM · TechCom, MediaWiki-ServiceContainer, CPT Initiatives (Decoupling (CDP2))
Simetrical added a comment to T230979: CR+2 on MediaWiki for Aryeh Gregor (aka Simetrical).

I should add that lately I've been contracting for Wikimedia for about seven weeks a year, and have been working 30-40 hours a week during those periods. When not contracting, I'm completely inactive.

Aug 22 2019, 10:30 AM · MediaWiki-Gerrit-Group-Requests
Simetrical added a comment to T230979: CR+2 on MediaWiki for Aryeh Gregor (aka Simetrical).

My older contributions are available via git log --author simetrical. I couldn't find a webpage that would display the results of the search that I could link to. Note that that includes things from the SVN era that I only committed and didn't author, so it's inflated (probably only slightly). But if we leave that aside, according to git shortlog -sne, I have 1052 commits (after updating .mailmap to merge the three different e-mail addresses I've used). Surprisingly, this still makes me the #19 all-time contributor by number of commits. I think I always tended to break up my commits more than a lot of people, though.

Aug 22 2019, 10:15 AM · MediaWiki-Gerrit-Group-Requests
Simetrical closed T200882: Create BadFileLookup service as Resolved.
Aug 22 2019, 8:46 AM · Patch-For-Review, Core Platform Team (Needs Cleaning - Code Health (TEC13)), MediaWiki-General

Aug 21 2019

Simetrical added a comment to T224020: Create a class to represent the identity of wikis on the same wiki farm.

In general, false instead of a string ID, or null instead of a SiteID object, are considered to represent the current wiki (home wiki).

Aug 21 2019, 11:21 AM · CPT Initiatives (Cross-Wiki (CDP2)), Performance-Team (Radar), Proposal, MediaWiki-General, MediaWiki-Farmers, User-Daniel

Aug 19 2019

Simetrical closed T230528: Allow hooks to work with dependency injection as Resolved.

I don't see a way to mark as duplicate?

Aug 19 2019, 4:43 PM · Core Platform Team, MediaWiki-General
Simetrical added a comment to T200392: RfC: Release notes automation.

If we wanted a simpler change that would solve the immediate problem, I suggest just adding new release-notes lines in separate files in a designated directory. Before a release, a simple script could aggregate them into a traditional RELEASE-NOTES file. E.g., instead of adding * MediaWikiServices is now deprecated to the 'Deprecations in 1.x' section of RELEASE-NOTES, I'd put a file in release-notes/deprecations named whatever I feel like (name will be ignored by the script) with my release-notes line. Then to accumulate all the deprecations before making a release could be as simple as cat $(ls -tr release-notes/deprecations) or such.

Aug 19 2019, 12:17 PM · TechCom-RFC (TechCom-Approved), MediaWiki-Documentation
Simetrical added a comment to T200882: Create BadFileLookup service.

Patch: https://gerrit.wikimedia.org/r/c/mediawiki/core/+/530829

Aug 19 2019, 11:51 AM · Patch-For-Review, Core Platform Team (Needs Cleaning - Code Health (TEC13)), MediaWiki-General

Aug 18 2019

Simetrical claimed T200882: Create BadFileLookup service.
Aug 18 2019, 6:18 PM · Patch-For-Review, Core Platform Team (Needs Cleaning - Code Health (TEC13)), MediaWiki-General
Simetrical added a comment to T230688: @coversDefaultClass should be allowed on traits as well as classes (MediaWiki.Commenting.PhpunitAnnotations.NotClass).

Actually, @covers might not actually work on trait-level comments (PHPUnit bug?).

Aug 18 2019, 2:31 PM · MediaWiki-Codesniffer
Simetrical added a comment to T230688: @coversDefaultClass should be allowed on traits as well as classes (MediaWiki.Commenting.PhpunitAnnotations.NotClass).

Also @covers and presumably other things.

Aug 18 2019, 2:29 PM · MediaWiki-Codesniffer
Simetrical created T230688: @coversDefaultClass should be allowed on traits as well as classes (MediaWiki.Commenting.PhpunitAnnotations.NotClass).
Aug 18 2019, 1:01 PM · MediaWiki-Codesniffer
Simetrical closed T220966: TitleParser needs a substitute for Title::makeTitleSafe() as Resolved.
Aug 18 2019, 9:30 AM · MW-1.34-notes (1.34.0-wmf.20; 2019-08-27), MediaWiki-General

Aug 15 2019

Simetrical added a comment to T230528: Allow hooks to work with dependency injection.

So I should probably have waited to get feedback from someone before writing up a test implementation. They would probably have pointed out to me that existing hooks are in some cases run before services are functional. This complicates things a bit, but I think the idea is still something we need to implement.

Aug 15 2019, 5:38 PM · Core Platform Team, MediaWiki-General
Simetrical added a comment to T230528: Allow hooks to work with dependency injection.

Okay, this took way more time than I expected. I'm putting it on hold for now until I get feedback on the general approach.

Aug 15 2019, 1:32 PM · Core Platform Team, MediaWiki-General
Simetrical added a project to T230378: Fail tests if they access stale services: MediaWiki-Core-Testing.

Sorry about that. If we want every task to have at least one project tag, is there a way to make it mandatory, or at least warn the submitter if they don't provide one? Other issue trackers I've used all require picking a product/component/whatever, and I keep forgetting with this one.

Aug 15 2019, 12:24 PM · MediaWiki-Core-Testing
Simetrical added a comment to T228342: Define criteria for setting explicit PHP support target for MediaWiki.

The idea being, then, that we just don't want to waste resources fixing 7.0-specific problems when it's already been EOL'd? That makes perfect sense, I just got confused because of my own assumptions about why we'd want to drop support for old PHP. (There are plenty of 7.1/7.2 features I'd love to use!)

Aug 15 2019, 12:21 PM · Performance-Team, TechCom, TechCom-RFC (TechCom-Approved), MediaWiki-General, PHP 7.3 support, PHP 7.2 support, PHP 7.1 support, PHP 7.0 support
Simetrical added a comment to T230528: Allow hooks to work with dependency injection.

So I should probably have waited to get feedback from someone before writing up a test implementation. They would probably have pointed out to me that existing hooks are in some cases run before services are functional. This complicates things a bit, but I think the idea is still something we need to implement.

Aug 15 2019, 11:26 AM · Core Platform Team, MediaWiki-General
Simetrical added a comment to T228342: Define criteria for setting explicit PHP support target for MediaWiki.

I don't see anywhere in Krinkle's text that explains the benefits of dropping support for older PHP versions. I assumed it was so we'd be able to use features of newer PHP versions in core code (because that's why I want to require a newer version :) ). If this is the case, I'm interested in knowing what new features we could use while still supporting HHVM. If there's some other reason entirely that we want to require a higher version, that explains my confusion.

Aug 15 2019, 11:25 AM · Performance-Team, TechCom, TechCom-RFC (TechCom-Approved), MediaWiki-General, PHP 7.3 support, PHP 7.2 support, PHP 7.1 support, PHP 7.0 support
Simetrical created T230528: Allow hooks to work with dependency injection.
Aug 15 2019, 8:36 AM · Core Platform Team, MediaWiki-General

Aug 14 2019

Simetrical committed rECIRaad8e658de54: Support MessageCache as service (authored by Simetrical).
Support MessageCache as service
Aug 14 2019, 5:49 PM
Simetrical added a comment to T228342: Define criteria for setting explicit PHP support target for MediaWiki.

If it's not really useful to require 7.2 before dropping HHVM support, is it worth making third-party admins upgrade their PHP? I don't know how many there are who will need to, but it's presumably nonzero, so shouldn't we identify some clear benefit to us before inconveniencing them?

Aug 14 2019, 11:05 AM · Performance-Team, TechCom, TechCom-RFC (TechCom-Approved), MediaWiki-General, PHP 7.3 support, PHP 7.2 support, PHP 7.1 support, PHP 7.0 support

Aug 13 2019

Simetrical added a comment to T228342: Define criteria for setting explicit PHP support target for MediaWiki.

How does this relate to dropping HHVM support? Is it useful to require PHP 7.2 but also support HHVM? Should T192166 block this, and does it have a timeline?

Aug 13 2019, 11:16 AM · Performance-Team, TechCom, TechCom-RFC (TechCom-Approved), MediaWiki-General, PHP 7.3 support, PHP 7.2 support, PHP 7.1 support, PHP 7.0 support

Aug 12 2019

Simetrical created T230378: Fail tests if they access stale services.
Aug 12 2019, 5:47 PM · MediaWiki-Core-Testing
Simetrical closed T192078: Figure out some way to not use addUncoveredFilesFromWhitelist="true" when running only some PHPUnit tests as Resolved.

This is fixed now, right? Yay! \o/

Aug 12 2019, 9:50 AM · MW-1.34-notes (1.34.0-wmf.15; 2019-07-23), Test-Coverage, Continuous-Integration-Config, MediaWiki-Core-Testing
Simetrical closed T201278: Running PHPUnit on includes/ or includes/parser/ results in "Call to a member function staticSetup() on null" as Resolved.

Seems fixed.

Aug 12 2019, 9:18 AM · MW-1.32-notes (WMF-deploy-2018-10-16 (1.32.0-wmf.26)), MediaWiki-Core-Testing
Simetrical updated Simetrical.
Aug 12 2019, 9:12 AM

May 6 2019

Simetrical updated Simetrical.
May 6 2019, 11:20 AM
Simetrical closed T214390: Refactor the Http class to not use global state as Resolved.
May 6 2019, 10:20 AM · Core Platform Team Workboards (Done with CPT), MW-1.34-notes (1.34.0-wmf.4; 2019-05-07), Core Platform Team (Decoupling (CDP2))
Simetrical created T222598: NamespaceInfo::getRestrictionLevels() does not correctly handle namespace restrictions that require more than one permission.
May 6 2019, 10:03 AM · Core Platform Team Workboards (Done with CPT), MW-1.34-notes (1.34.0-wmf.7; 2019-05-28), Core Platform Team (Needs Cleaning - Security, stability, performance, and scalability (TEC1)), Security-Team, MediaWiki-Page-protection, MediaWiki-User-management, MediaWiki-General

May 5 2019

Simetrical created T222545: Where should page move permissions go?.
May 5 2019, 6:34 PM · MediaWiki-General
Simetrical added a comment to T222529: Wikimedia\Assert\ParameterAssertionException when rendering a log snippet and log_user_text is empty.

So this is an actual bug -- until now, we were presumably creating a bogus link (to https://en.wiktionary.org/wiki/User_talk:). What should we actually do here? Is the database actually supposed to ever have empty usernames in it? That doesn't seem reasonable. Surely conversion scripts should also have usernames?

May 5 2019, 11:48 AM · MW-1.34-notes (1.34.0-wmf.3; 2019-04-30), MediaWiki-Logging, MediaWiki-Revision-backend, Wikimedia-production-error

May 2 2019

Simetrical updated subscribers of T201778: Add pre-commit hook that does basic checks like php -l.

@daniel @tstarling Does it make sense to you that I should work on this? I have most of the work done already for my own productivity, it's just a question of putting it in MediaWiki and figuring out how to let people install it (and decide if we want to auto-install it).

May 2 2019, 9:29 AM · Continuous-Integration-Infrastructure

May 1 2019

Simetrical added a comment to T222212: RevisionStore must not expose user IDs from a foreign wiki.

I think it's best to not allow constructing RevisionStores on foreign repos until we have a clear-cut use-case. Then we can add the functionality to support that use-case. It's not obvious to me that global user pages and such are best implemented using RevisionStore on the local wiki -- somebody needs to come up with an actual design that they plan to implement before that can be decided.

May 1 2019, 8:21 AM · Multi-Content-Revisions (Reactive)

Apr 28 2019

Simetrical claimed T207972: Use UserIdentity in WatchedItem instead of User.
Apr 28 2019, 11:12 AM · Core Platform Team Workboards (Done with CPT), Core Platform Team (Decoupling (CDP2)), Growth-Team, MediaWiki-Watchlist, Technical-Debt
Simetrical added a comment to T221949: Remove uses of Title::moveTo.

That caveat should be removed by https://gerrit.wikimedia.org/r/504336 when that lands.

Apr 28 2019, 9:07 AM · Google-Code-in-2019, CPT Initiatives (Decoupling (CDP2)), MW-1.34-notes (1.34.0-wmf.7; 2019-05-28), Technical-Debt (Deprecation process)

Apr 17 2019

Simetrical added a comment to T218555: Provide access to WebRequest and associated information via a service object.

If the pieces of information are completely unrelated, why not expose them separately, like MediaWikiServices::getInstance()->getUserIdentity() and so on? What do we gain by bundling them in one unit? There are certainly tons of places that use $wgUser or RequestContext::getMain()->getUser() without having any need for a WebRequest, for instance.

Apr 17 2019, 1:58 PM · TechCom, MediaWiki-ServiceContainer, CPT Initiatives (Decoupling (CDP2))
Simetrical added a comment to T218555: Provide access to WebRequest and associated information via a service object.
  1. Like what?
Apr 17 2019, 11:52 AM · TechCom, MediaWiki-ServiceContainer, CPT Initiatives (Decoupling (CDP2))

Apr 16 2019

Simetrical added a comment to T218555: Provide access to WebRequest and associated information via a service object.

Why not inject the WebRequest directly instead of putting it inside a wrapper that includes stuff about the user, language, and skin? I.e., what's wrong with just MediaWikiServices::getWebRequest()?

Apr 16 2019, 8:41 AM · TechCom, MediaWiki-ServiceContainer, CPT Initiatives (Decoupling (CDP2))

Apr 15 2019

Simetrical added a comment to T218555: Provide access to WebRequest and associated information via a service object.

There is no use of WebRequest in PermissionManager right now. The only use of RequestContext is to pass it straight along to Action, which exposes it to subclasses that could conceivably be in extensions. Could you provide more details on what you want to use it for?

Apr 15 2019, 4:34 PM · TechCom, MediaWiki-ServiceContainer, CPT Initiatives (Decoupling (CDP2))
Simetrical added a comment to T208775: Hard-deprecate Title::moveTo.

So moveTo() does a couple of extra things that MovePage doesn't. It calls spreadAnyEditBlock() if there's an error, and honors the suppressredirect permission. Why are these not done in MovePage proper? As it stands, it considerably complicates porting the existing users, which are fairly numerous.

Apr 15 2019, 4:32 PM · Core Platform Team Workboards (Done with CPT), MW-1.34-notes (1.34.0-wmf.8; 2019-06-04), Patch-For-Review, Core Platform Team (Decoupling (CDP2)), Technical-Debt (Deprecation process)
Simetrical claimed T208775: Hard-deprecate Title::moveTo.
Apr 15 2019, 4:30 PM · Core Platform Team Workboards (Done with CPT), MW-1.34-notes (1.34.0-wmf.8; 2019-06-04), Patch-For-Review, Core Platform Team (Decoupling (CDP2)), Technical-Debt (Deprecation process)
Simetrical added a comment to T214321: Create a value-only interface alternative to the File class.

It doesn't look like Linker could make any use of a FileIdentity type. It seems to basically use File for methods that wouldn't be in such a type, like: exists(), getUrl(), allowInlineDisplay(), isVectorized(), getWidth(), mustRender(), transform().

Apr 15 2019, 12:52 PM · CPT Initiatives (Decoupling (CDP2)), MediaWiki-File-management, Multimedia, Commons
Simetrical claimed T214318: Replace usage of Title with usage of LinkTarget in Linker.
Apr 15 2019, 12:48 PM · Core Platform Team Workboards (Done with CPT), MW-1.34-notes (1.34.0-wmf.3; 2019-04-30), Core Platform Team (Decoupling (CDP2)), MediaWiki-File-management, Multimedia, Commons
Simetrical created T220966: TitleParser needs a substitute for Title::makeTitleSafe().
Apr 15 2019, 12:00 PM · MW-1.34-notes (1.34.0-wmf.20; 2019-08-27), MediaWiki-General
Simetrical added a comment to T218555: Provide access to WebRequest and associated information via a service object.

So it's very easy to write the class, but I can't figure out where to use it. Most RequestContext users seem to use it for config and messages and such, inter alia, so there aren't many places I can see where it makes a lot of sense to just substitute RequestInfo. It seems like you'd want to start from classes like LogFormatter and Message, and the first step there should probably be to make them be constructed by services.

Apr 15 2019, 11:26 AM · TechCom, MediaWiki-ServiceContainer, CPT Initiatives (Decoupling (CDP2))
Simetrical added a comment to T214390: Refactor the Http class to not use global state.

What exactly should this new service contain?

Apr 15 2019, 9:44 AM · Core Platform Team Workboards (Done with CPT), MW-1.34-notes (1.34.0-wmf.4; 2019-05-07), Core Platform Team (Decoupling (CDP2))
Simetrical claimed T214390: Refactor the Http class to not use global state.
Apr 15 2019, 9:21 AM · Core Platform Team Workboards (Done with CPT), MW-1.34-notes (1.34.0-wmf.4; 2019-05-07), Core Platform Team (Decoupling (CDP2))
Simetrical claimed T218555: Provide access to WebRequest and associated information via a service object.
Apr 15 2019, 9:21 AM · TechCom, MediaWiki-ServiceContainer, CPT Initiatives (Decoupling (CDP2))

Apr 10 2019

Simetrical created T220589: Support phan in MediaWiki's default composer.json.
Apr 10 2019, 9:49 AM · phan, MediaWiki-Core-Testing, MediaWiki-General

Apr 9 2019

Simetrical updated Simetrical.
Apr 9 2019, 2:05 PM
Simetrical claimed T214319: Replace usage of Title with usage of LinkTarget in File.
Apr 9 2019, 2:03 PM · CPT Initiatives (Decoupling (CDP2)), Patch-For-Review, MediaWiki-File-management, Multimedia, Commons
Simetrical added a comment to T214626: Title should not use Action.

It looks like this was fixed by 8e1342ed470a08d6658e2483976dfdc8f4388ea5.

Apr 9 2019, 1:46 PM · Core Platform Team Legacy (Next), Core Platform Team (Decoupling (CDP2))

Apr 8 2019

Simetrical added a comment to T104501: Fix global variable and function prefixes in core.

@Legoktm Why do we want variables like $IP to only be ignored if whitelisted on a per-project basis? Any extension could potentially want to use variables like this. Should every extension have to whitelist them separately?

Apr 8 2019, 2:33 PM · MW-1.27-release (WMF-deploy-2015-10-06_(1.27.0-wmf.2)), MW-1.27-release (WMF-deploy-2015-09-29_(1.27.0-wmf.1)), MW-1.27-release-notes, Patch-For-Review, MediaWiki-Codesniffer, MediaWiki-General