Sbisson has uploaded a new change for review. (
https://gerrit.wikimedia.org/r/376041 )
Change subject: RCFilters: Live Update: download less data
......................................................................
RCFilters: Live Update: download less data
Add useskin=apioutput to the URL to bypass most
of the MW chrome.
Introduce peek=1 in ChangesListSpecialPage to skip
the rendering and return a code indicating of there's data.
Together, they reduce the page size from 49.9k to 6.3k.
Bug: T173613
Change-Id: I0aec878ae80e22814b196b26e944db8c78a5f91a
---
M includes/specialpage/ChangesListSpecialPage.php
M resources/src/mediawiki.rcfilters/mw.rcfilters.Controller.js
2 files changed, 14 insertions(+), 4 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/mediawiki/core
refs/changes/41/376041/1
diff --git a/includes/specialpage/ChangesListSpecialPage.php
b/includes/specialpage/ChangesListSpecialPage.php
index acd5d14..520232c 100644
--- a/includes/specialpage/ChangesListSpecialPage.php
+++ b/includes/specialpage/ChangesListSpecialPage.php
@@ -519,14 +519,18 @@
public function execute( $subpage ) {
$this->rcSubpage = $subpage;
- $this->setHeaders();
- $this->outputHeader();
- $this->addModules();
-
$rows = $this->getRows();
$opts = $this->getOptions();
if ( $rows === false ) {
$rows = new FakeResultWrapper( [] );
+ }
+
+ // Used by "live update" and "view newest" to minimize
+ // the amount of data downloaded on polling
+ if ( $this->getRequest()->getBool( 'peek' ) ) {
+ $code = $rows->numRows() > 0 ? 200 : 404;
+ $this->getOutput()->setStatusCode( $code );
+ return;
}
$batch = new LinkBatch;
@@ -542,6 +546,10 @@
}
}
$batch->execute();
+
+ $this->setHeaders();
+ $this->outputHeader();
+ $this->addModules();
$this->webOutput( $rows, $opts );
$rows->free();
diff --git a/resources/src/mediawiki.rcfilters/mw.rcfilters.Controller.js
b/resources/src/mediawiki.rcfilters/mw.rcfilters.Controller.js
index 81bfb47..1644ebc 100644
--- a/resources/src/mediawiki.rcfilters/mw.rcfilters.Controller.js
+++ b/resources/src/mediawiki.rcfilters/mw.rcfilters.Controller.js
@@ -561,6 +561,8 @@
'liveUpdate',
{
limit: 1,
+ peek: 1, // bypasses RC form
+ useskin: 'apioutput', // bypasses MW chrome
from: this.changesListModel.getNextFrom()
}
);
--
To view, visit https://gerrit.wikimedia.org/r/376041
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I0aec878ae80e22814b196b26e944db8c78a5f91a
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/core
Gerrit-Branch: master
Gerrit-Owner: Sbisson <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits