Since 9cc1cd3 a filterDeprecation() call exists to hide MediWiki
deprecations, let php deprecation show up
Depends-On: Id07a55743bdfe04022b7c96acb6c154c7fe33098
Change-Id: Ia51b00399c584671ccf5d9fb8dfed1e94e5d60f9
This introduces an interface HtmlOutputHelper that is implemented
by both HtmlMessageOutputHelper or HtmlOutputRendererHelper based
on the page we're dealing with.
Bug: T323558
Change-Id: I1fb8dcc5cc05ce3f32f3c1862b88045f1c8e612b
To follow Message. This is approved as part of RFC T166010.
Also namespace it but doing it properly with PSR-4 would require
namespacing every class under language/ and that will take some time.
Bug: T321882
Change-Id: I195cf4c67bd51410556c2dd1e33cc9c1033d5d18
If HtmlOutputRendererHelper can't produce output because the page
doesn't exist, don't crash. Return a 404 instead.
Bug: T325205
Change-Id: I6a713025e2eb447ed61de8949c820bd9cda7594e
Remove 'insertSelectIsSafe' option, unused.
Remove 'topologicalPrimaryConnRef' option, no longer used as of two
months ago with I41a57247503 (8c9398f7f9).
Remove unneeded DatabaseSqlite::getTopologyBasedServerId
implementation which can inherit null instead of overriding with string
of "0". Only caller is SqlBagOStuff::makeTimestampedModificationToken
which can be used as MainStash DB, where its important that a given
server always has the same unique name within a set of db hosts that
may replicate to each other. By inheriting null as topology server ID,
it SqlBagOStuff will use IDatabase::getServerName instead. That in turn
uses the 'host' connection parameter, which defaults to null in
DatabaseFactory, and then falls back to the string "unknown" which is
as good as "0" for this purpose.
Bug: T299691
Change-Id: Iceb65c28cdd3c4a89b3c8b34c3f95d3285718ec0
When parsoid was dealing with content for content models that it does
not support, the corresponding pagebundle used `null` as the version
which will break when converting the it to JSON.
This patch fixes this by just using a version which is not specified
like 0.0.0
A better fix would be for page bundle to not explode when the version is
set to null. The other real fix is for Parsoid to not ask for rendering of
pages that are not wikitext.
Bug: T325137
Change-Id: Iff1ce432d1b2d30f3f74c53a0602c11034db5874
Large objects can actually be store via segmentation, but this broke
after commit 91043c8fe8, which limited WRITE_ALLOW_SEGMENTS to values
that are either a large string or a cache-wrapper array for a large
string (e.g. from WANObjectCache).
Add TODO comments about using JSON.
Bug: T204742
Bug: T322823
Change-Id: Ie7109c9f2613423959768479361c2b4efd95a76e
Logging linter data should be enabled automatically by
HtmlOutputRendererHelper.
This change enables linting data for requests coming in via the
v1/page/{title}/html endpoint.
Change-Id: Idafd29784ec712547e36fea88a8c159784b97f2b
This isn't quite what was proposed in the original discussion (as the main
link for the tag still goes to the help page, with the secondary link to
RC, rather than the other way around), but this has the benefit of not
being a breaking change that needs dozens of messages to be immediately
altered in hundreds of languages across many repos (167 tags as of writing:
https://codesearch-beta.wmcloud.org/search/?q=%5C%22tag-&files=en%5C.json%24&excludeFiles=&repos=
Bug: T301063
Change-Id: I142f8f0667e8a4aac2f91b141a0d7311c3ef7c43
The previous attempt at restoring call to the ParserLogLinterData hook
had the undesirable effect of bypassing parser cache. This change
optionally enables the call to the lind data hook without disabling
parser cache.
This patch us working under the assumption that we only need to log lint
data for canonical parses.
Follow-Up to I1f69498ef75
Change-ID: I39ab54ca6e9f9a6a58b59cdd6feea07638fc908f
This reverts commit d32c260ed0.
Reason for revert: Timo has reservations, I'll submit an updated version later.
Change-Id: I71d4d61a879fda4dccfc105127446cfedde75a7b
While RESTbase insists on getting Parsoid renderings for any content
model, don't waste CPU cycles trying to render garbage. Just output
dummy content. Nobody should ever see it.
Bug: T324711
Change-Id: I407171a5f515b594603b287a7a9e49f54e837161
Allow automatic retry if the first query fails due to the
connection having already been lost. Hide packet warnings
in doMultiStatementQuery(), which can occur due to dropped
connections.
Make queryMulti() actually mark the transaction or session
as corrupt when needed,
Improve executeQuery() handling of empty $sqls arrays.
Pass the full SQL statement array to beginIfImplied().
Add re-connection tests for queryMulti().
Related documentation changes:
* Clarify affectedRows()/insertId() documentation.
* Update queryMulti() documentation to mention exceptions.
* Add comments about avoiding direct BEGIN/COMMIT/ROLLBACK.
These should be avoided in queryMulti() as well.
Bug: T322689
Change-Id: I51d213acccfacc48674dbcf08c177cd9872c6e15
See Ib7a7a5bce3ce10e60 for more context
This standardizes the thumbnails on new vector.
Bug: T322621
Depends-On: I12643edfad16acb072757ec29ae3ba08fc11d65b
Change-Id: I3dc682d2dcea0a0615bc0b861ee0dded84304ae4