mirror of
https://we.phorge.it/source/phorge.git
synced 2024-11-25 16:22:43 +01:00
Fix some minor Celerity / ShapedRequest bugs:
- Force celerity to do disk reads in dev. - Clean up some ShapedRequest clownery.
This commit is contained in:
parent
c51eb2696d
commit
3b8ff34f9b
5 changed files with 30 additions and 15 deletions
|
@ -349,4 +349,13 @@ return array(
|
|||
// unlikely that you need to modify this.
|
||||
'celerity.resource-hash' => 'd9455ea150622ee044f7931dabfa52aa',
|
||||
|
||||
// In a development environment, it is desirable to force static resources
|
||||
// (CSS and JS) to be read from disk on every request, so that edits to them
|
||||
// appear when you reload the page even if you haven't updated the resource
|
||||
// maps. This setting ensures requests will be verified against the state on
|
||||
// disk. Generally, you should leave this off in production (caching behavior
|
||||
// and performance improve with it off) but turn it on in development. (These
|
||||
// settings are the defaults.)
|
||||
'celerity.force-disk-reads' => false,
|
||||
|
||||
);
|
||||
|
|
|
@ -19,5 +19,6 @@
|
|||
return array(
|
||||
|
||||
'darkconsole.enabled' => true,
|
||||
'celerity.force-disk-reads' => true,
|
||||
|
||||
) + phabricator_read_config_file('default');
|
||||
|
|
|
@ -390,7 +390,7 @@ celerity_register_resource_map(array(
|
|||
),
|
||||
'javelin-behavior-differential-show-more' =>
|
||||
array(
|
||||
'uri' => '/res/7a844635/rsrc/js/application/differential/behavior-show-more.js',
|
||||
'uri' => '/res/9cbf1c9c/rsrc/js/application/differential/behavior-show-more.js',
|
||||
'type' => 'js',
|
||||
'requires' =>
|
||||
array(
|
||||
|
@ -867,7 +867,7 @@ celerity_register_resource_map(array(
|
|||
),
|
||||
'phabricator-shaped-request' =>
|
||||
array(
|
||||
'uri' => '/res/1f0ef02b/rsrc/js/application/core/ShapedRequest.js',
|
||||
'uri' => '/res/7b1522d3/rsrc/js/application/core/ShapedRequest.js',
|
||||
'type' => 'js',
|
||||
'requires' =>
|
||||
array(
|
||||
|
@ -1005,7 +1005,7 @@ celerity_register_resource_map(array(
|
|||
'uri' => '/res/pkg/ac70e6b7/core.pkg.css',
|
||||
'type' => 'css',
|
||||
),
|
||||
'b17926e1' =>
|
||||
'c5d10dfe' =>
|
||||
array (
|
||||
'name' => 'differential.pkg.js',
|
||||
'symbols' =>
|
||||
|
@ -1016,7 +1016,7 @@ celerity_register_resource_map(array(
|
|||
3 => 'javelin-behavior-differential-show-more',
|
||||
4 => 'javelin-behavior-differential-diff-radios',
|
||||
),
|
||||
'uri' => '/res/pkg/b17926e1/differential.pkg.js',
|
||||
'uri' => '/res/pkg/c5d10dfe/differential.pkg.js',
|
||||
'type' => 'js',
|
||||
),
|
||||
),
|
||||
|
@ -1042,11 +1042,11 @@ celerity_register_resource_map(array(
|
|||
'diffusion-commit-view-css' => '03ef179e',
|
||||
'javelin-behavior' => '7d23deb1',
|
||||
'javelin-behavior-aphront-basic-tokenizer' => '33f413ef',
|
||||
'javelin-behavior-differential-diff-radios' => 'b17926e1',
|
||||
'javelin-behavior-differential-edit-inline-comments' => 'b17926e1',
|
||||
'javelin-behavior-differential-feedback-preview' => 'b17926e1',
|
||||
'javelin-behavior-differential-populate' => 'b17926e1',
|
||||
'javelin-behavior-differential-show-more' => 'b17926e1',
|
||||
'javelin-behavior-differential-diff-radios' => 'c5d10dfe',
|
||||
'javelin-behavior-differential-edit-inline-comments' => 'c5d10dfe',
|
||||
'javelin-behavior-differential-feedback-preview' => 'c5d10dfe',
|
||||
'javelin-behavior-differential-populate' => 'c5d10dfe',
|
||||
'javelin-behavior-differential-show-more' => 'c5d10dfe',
|
||||
'javelin-behavior-workflow' => '122a6b6d',
|
||||
'javelin-dom' => '7d23deb1',
|
||||
'javelin-event' => '7d23deb1',
|
||||
|
|
|
@ -38,7 +38,8 @@ class CelerityResourceController extends AphrontController {
|
|||
throw new Exception("Only CSS and JS resources may be served.");
|
||||
}
|
||||
|
||||
if (isset($_SERVER['HTTP_IF_MODIFIED_SINCE'])) {
|
||||
if (isset($_SERVER['HTTP_IF_MODIFIED_SINCE']) &&
|
||||
!PhabricatorEnv::getEnvConfig('celerity.force-disk-reads')) {
|
||||
// Return a "304 Not Modified". We don't care about the value of this
|
||||
// field since we never change what resource is served by a given URI.
|
||||
return $this->makeResponseCacheable(new Aphront304Response());
|
||||
|
|
|
@ -51,9 +51,11 @@ JX.install('PhabricatorShapedRequest', {
|
|||
var request = new JX.Request(this._uri, JX.bind(this, function(r) {
|
||||
this._callback(r);
|
||||
|
||||
this._min = new Date().getTime() + this._rateLimit;
|
||||
this._min = new Date().getTime() + this.getRateLimit();
|
||||
this._defer && this._defer.stop();
|
||||
this._defer = JX.defer(JX.bind(this, this.trigger), this._rateLimit);
|
||||
this._defer = JX.defer(
|
||||
JX.bind(this, this.trigger),
|
||||
this.getRateLimit());
|
||||
}));
|
||||
request.listen('finally', JX.bind(this, function() {
|
||||
this._request = null;
|
||||
|
@ -62,7 +64,9 @@ JX.install('PhabricatorShapedRequest', {
|
|||
request.setTimeout(this.getFrequency());
|
||||
request.send();
|
||||
} else {
|
||||
this._defer = JX.defer(JX.bind(this, this.trigger), this._frequency);
|
||||
this._defer = JX.defer(
|
||||
JX.bind(this, this.trigger),
|
||||
this.getFrequency());
|
||||
}
|
||||
},
|
||||
|
||||
|
@ -82,7 +86,7 @@ JX.install('PhabricatorShapedRequest', {
|
|||
},
|
||||
|
||||
properties : {
|
||||
rateLimit : 250,
|
||||
frequency : 750
|
||||
rateLimit : 500,
|
||||
frequency : 1000
|
||||
}
|
||||
});
|
||||
|
|
Loading…
Reference in a new issue