Fri, May 24
This seems to be done
SlotRoleRegistry (rMW023fec5d7b3a1a4b57d7bd3c555eeb06fd6bae22) already uses the registry-as-a-lazy-factory-with-DI approach: it gets a bunch of callables injected. For REST Router it seems we are going to use a similar approach, with injecting the name of a JSON file which contains object declarations for use with ObjectFactory.
So, we have a potential fix, but it doesn't seem to work with wikibase? Does the wikidata team know?
Maybe this will fix the issue? https://gerrit.wikimedia.org/r/c/mediawiki/core/+/497537
@Tgr I see your point, and I share your concern about the annoying procedures for a version bump.
I like @Anomie's proposal a lot. Some minor points:
The session took place.
Thu, May 23
My personal take is that it would be silly to forbid global classes from being imported via use, thus requiring the leading backslash.
Wed, May 22
Pinging @matthiasmullie, because he last touched the relevant code in Flow.
This is not the same as T222628, which is about a problem in Linker::formatAutocomments. This here is about a problem with Linker::userLink, which needs a different fix. Both were triggered by the same change, b6e1e99bec8d -- but while the code in formatAutocomments was actually wrong, the problem here seems to be different. The error is triggered in line 915 of Linker, which has:
This looks similar at a glance: T221577: Wikimedia\Rdbms\LBFactory::getEmptyTransactionTicket: GeoData\Hooks::doLinksUpdate does not have outer scope
Tue, May 21
Hm, my experimental patch makes CI tests time out. I must have broken something, but I really don't see what. Running the "relevant" tests locally, everything seems to be doing fine.
Flagging for re-triage in the CPT team. I personally don't know where to start with investigating this, but perhaps @amonie or @tstarling would know. The performance team has a lot of log wrangling expertise, so perhaps we could team up for the investigation.
That's because they do, unless you're wanting to force every site administrator to configure the router endpoints manually for every extension they install.
Mon, May 20
Please have a look at the WIP patch linked above. My approach there is to join in the slots and content tables directly instead of doing a second query for each batch to fetch them. The code would not have to change much to adopt that approach, though.
Sun, May 19
Sat, May 18
Fri, May 17
ping @zeljkofilipin: you are already on the other relevant tickets and also on the spreadsheet, but I though you may want to have a look at the test file example here.
Conversation copied from Gerrit, to be continued here:
Tagging Core Platform Team for triage.
Thu, May 16
Wed, May 15
See T222409: Standardize declarative object construction in MediaWiki for a discussion of a generalized mechanism for allowing dependency injection when creating objects from some kind of non-code specification, as may be provided via extension.json.
One thing that we could add would be a convenience function that allows the caller to assert that the return value actually has the correct type.
I like this proposal a lot. I can't find anything missing, either.
Tue, May 14
Maybe I'm naive, but I'm wondering why any jobs need to be involved at all. Shouldn't be deleting all items for a given user be a split second operation on the db table? Can anyone shed some light on why this is slow enough to require cascading jobs
Mon, May 13
Re-opening, extensions still need to be fixed.
Disengaging for lack of consensus. It seems the focus/purpse of this ticket shifted a lot, so at least the task decsiption should be changed.
How frequent is this? Should it be high priority?
Unassigning myself, since I don't know what do to about this. I'm probably not the best person to investigate this issue, either.