Change I29b79a3c1bb2b5e51c1c8f5e04cd08c71e0662a3 rendered
it uninstallable on PostgreSQL.
Make the corresponding API changes to PostgreSQL installer.
Bug: T90288
Change-Id: I2019893ad705d99f3dbbce13690cd808cfb71d4a
I thought a unit test was supposed to fail if this hadn't been run, but
I3936417b and I40fd6aaa recently got merged despite it.
Change-Id: Idb9b4b77a4a1c82ed74ec829fad8c12a9c39af09
The base BagOStuff class and some of the implementations are
not dependent on MediaWiki and can be in the libs folder.
Change-Id: I299f9abb778abc65a70461a2aff3015c02a1f04d
Provide access via mw.track to module loading errors which are
otherwise swallowed by mw.loader.
Bug: T513
Bug: T85263
Change-Id: Ifc13c207af36dc56be931a3b140063354513a4ec
The new block log params does not known the message number 4 (which is
index 3), therefore LogFormatter::getMessageParameters adds empty index
to keep the sequence in strong order.
But the loop was starting at index 4, not 3, which skips the needed
empty index 3 for the order.
Due to the missing $4 the legacy log params returning index 3 and 4,
therefore move them one up to match the new numbers.
Also fixed undefined index warnings for api's list=logevents
Follow-Up: Ibc7fcaa5a952ff90d42a6477da4baa429f3de64b
Change-Id: Ie23be129ee2bd1d2bf753c3b5cba293d64b8e0e8
This is a hard deprecation, with getSecondaryDataUpdates returning an
empty array and addSecondaryDataUpdate throwing an exception. This seems
prudent since there are no known users of these methods, and they
interfere with the parser cache:
DataUpdates are basically jobs, they need access to services to
function. That makes them inherently non-serializable. This interferes
with the function of the parser cache, which serializes ParserOutput
objects in order to persist them.
This could be solved by splitting DataUpdates into DataUpdateDefinitions
and DataUpdateHandlers, similar to how JobSpecification works with
wgJobClasses. That however seems pointless and overkill, since
ParserOutput already has a mechanism for storing arbitrary data,
including any info needed by an UpdateJob: the setExtensionData method.
After this change, the preferred method to introduce custom data updates
is to store any relevant data using setExtensionData and
implement Content::getSecondaryDataUpdates() if possible. If not,
use the 'SecondaryDataUpdates' hook to construct the necessary update
objects from the info stored using setExtensionData.
Change-Id: I0f6f49e61fa3d8904e55f42c99f342a3dc357495
These errors usually need to be reported, so it's better for the user
to understand them as much as possible.
Bug: T40095
Change-Id: Ibd2f984b66acb9150400126f21acf7cc5fc85acd
* The array based format is now required
* Pass any additional parameters through factory() to __construct() even
if the base clase does not recognize them. This makes DB specific
options simpler.
* Also added missing bits to Sqlite constructors
Bug: T90288
Change-Id: I29b79a3c1bb2b5e51c1c8f5e04cd08c71e0662a3
Now, Special:Block/Some_User and Special:Block/No_Such_User act the
same. So show warning when user opened 'Special:Block/No_such_user'
page.
Bug: T37687
Change-Id: I60292e1016b64224a6146add58106c9028e7914c
Needed to conditionally register API modules. The previous way, messing with globals
from extension functions, is getting problematic because Config class will make this
impossible.
Change-Id: I86b40aeec555dd6b3cd82cab31d96e85fdf0a665
Any requirements of MediaWiki core to depend upon PHP extensions should
be handled in the installer rather than checkComposerLockUpToDate.php, which
doesn't work anyways since PHP extensions are not included in the lock file.
Change-Id: Ib7af7ccf2f10bc941222d1ce534c7c20690b4c6f
The categories on Category page were listed using table layout. This layout has
been changed to the responsive css column structure, which is 3 column wide
beyond 768px, otherwise shrinks to a single column.
break-inside is used which needs some consideration, see here:
http://css-tricks.com/almanac/properties/b/break-inside/
Bug: T55130
Change-Id: I437e6079b20e110047f93fb5c09aae40189f1ec0
* merge() using the locking version by default. The callers that implement cas()
override merge() to use the cas-based version. Those that do not no longer
need to define the unused dummy method.
* Removed some redundant doc blocks.
Change-Id: I49f7dd5432efa8d76f4758c273f0859376ddafb7
The import CSS at-rule can only go in the very top of a style sheet.
(Technically, the charset at-rule may precede it, but that rule is not valid
for style sheets that are embedded in <style> tags.) So we don't need to scan
the entire CSS text for '@import' -- we just have to make sure that the CSS
text doesn't start with it.
Change-Id: I56c2ebd55d4a7e90dde8e89e76b6d1b52ed004f8