The HookRunner class is a lightweight class and not designed to be a
service, the needed HookContainer should be injected instead and a hook
runner created when needed.
The overhead from the service wiring is the same as using new objects
when needed.
This follows practice from core and the documentation in
core/docs/Hooks.md in the section "Hook runner classes"
Change-Id: Ib42281dfae8a5a260005d82ed3bb7da12e1b645e
This message is treated as text, and the entire result is escaped
later. rawParams() has no effect except for avoiding parsing wikitext,
so use plaintextParams() instead.
Change-Id: Ifa1f1b51546d4c24b8789b6264302a3ced81cd52
Ib70e4e67e4cb1b65ac218c095864fb6eb43d0929
changed the type of the last parameter of
BeforeInitializeHook::onBeforeInitialize
Bug: T354216
Change-Id: Icd9e2a70fe001aa706b4059236b93db2eeb79369
Despite outwardly behaving just like a Message, in fact MessageValue
stores its parameters in an incompatible way.
Bug: T352012
Change-Id: I16c64cdc8c2795536579c52a0aa21832900d96b6
User-options related classes are being moved to the MediaWiki\User\Options namespace in MediaWiki Core; reflect that change here.
Bug: T352284
Depends-On: I9822eb1553870b876d0b8a927e4e86c27d83bd52
Change-Id: Ifb380012959b5b2853586cd25b0d003b53dc38eb
We diff only on provided wikitext. This was causing inaccurate diffs on
pages with slotted content (e.g. File: pages on commons), which would
claim the edit would delete all the slot contents other than the
wikitext in main.
Also, remove the very old backwards compatibility params that were being
passed to getResultData in this method.
Bug: T351235
Change-Id: I135082162b96503e8d896aa4014abc9f4b936580
Since Parsoid now treats DEFAULTSORT like any other template, we have to
scan mw:Transclusion spans.
Bug: T337398
Change-Id: Icba92fc14c1c56ec4711ba49407e8be368d57842
According to EventLogging 'editattemptstep' data the error hasn't
happened in the last 90 days.
It probably can't happen since we switched from RESTBase to direct
Parsoid access, but keep the checks as assertions just in case.
Change-Id: I0bad1e4364c2f1b154383bc1a984c4ccc83e1700
This also removes double escaping from the messages as 'options'
for type = select gets escaped by the html form
Change-Id: I31cc19cbe1f6e61849f3ff806e53a14082e06849
This introduces an extension attribute EditIconSkins which allows extensions
or skins to request the rendering of edit icons.
This will be used by Minerva in I3c9d59f49f1b939981a7b2b450448db6736d5958
Bug: T346944
Change-Id: I401805224c0f387ac85b52b50c1f298b83c03a91
There's no product need for anything other than an upper limit
on edit count. If one arises in the future we can adjust accordingly,
but better to keep the JSON, and any UI implementation, simple
for now.
Change-Id: I892847ad78b19695f0f0f664002d3c566f7806de
This solves a conflict with RevisionSlider, in which navigating
between diffs caused inconsistent rendering depending on whether the
user first entered the page through a diff with or without a
text-slot change. After this change, the ResourceLoader modules are
always available.
Module initialization seems to be safe to run on non-text diff pages.
Bug: T344596
Change-Id: I936d45a132dee3a044a52e22c4751c0538a5bcdc
This creates a message called `editcheck-config.json` which will be
loaded and sent to the `modules/editcheck/config.json` packageFile.
Bug: T330112
Change-Id: Idc58ddf1045fcc0491701a739f3778c8cf4dd955