Page MenuHomePhabricator

D17703.id42577.diff
No OneTemporary

D17703.id42577.diff

diff --git a/resources/celerity/map.php b/resources/celerity/map.php
--- a/resources/celerity/map.php
+++ b/resources/celerity/map.php
@@ -10,7 +10,7 @@
'conpherence.pkg.css' => '437d3b5a',
'conpherence.pkg.js' => '281b1a73',
'core.pkg.css' => 'b2ad82f4',
- 'core.pkg.js' => '291eb50e',
+ 'core.pkg.js' => '941db947',
'darkconsole.pkg.js' => '061371d8',
'differential.pkg.css' => '90b30783',
'differential.pkg.js' => 'ddfeb49b',
@@ -234,7 +234,7 @@
'rsrc/externals/javelin/lib/DOM.js' => '805b806a',
'rsrc/externals/javelin/lib/History.js' => 'd4505101',
'rsrc/externals/javelin/lib/JSON.js' => '69adf288',
- 'rsrc/externals/javelin/lib/Leader.js' => 'fea0eb47',
+ 'rsrc/externals/javelin/lib/Leader.js' => '7f243deb',
'rsrc/externals/javelin/lib/Mask.js' => '8a41885b',
'rsrc/externals/javelin/lib/Quicksand.js' => '6b8ef10b',
'rsrc/externals/javelin/lib/Request.js' => '94b750d2',
@@ -722,7 +722,7 @@
'javelin-history' => 'd4505101',
'javelin-install' => '05270951',
'javelin-json' => '69adf288',
- 'javelin-leader' => 'fea0eb47',
+ 'javelin-leader' => '7f243deb',
'javelin-magical-init' => '3010e992',
'javelin-mask' => '8a41885b',
'javelin-quicksand' => '6b8ef10b',
@@ -1503,6 +1503,9 @@
'javelin-behavior',
'javelin-history',
),
+ '7f243deb' => array(
+ 'javelin-install',
+ ),
'8018ee50' => array(
'javelin-install',
'javelin-util',
@@ -2248,9 +2251,6 @@
'javelin-view-visitor',
'javelin-util',
),
- 'fea0eb47' => array(
- 'javelin-install',
- ),
),
'packages' => array(
'conpherence.pkg.css' => array(
diff --git a/webroot/rsrc/externals/javelin/lib/Leader.js b/webroot/rsrc/externals/javelin/lib/Leader.js
--- a/webroot/rsrc/externals/javelin/lib/Leader.js
+++ b/webroot/rsrc/externals/javelin/lib/Leader.js
@@ -33,6 +33,8 @@
events: ['onBecomeLeader', 'onReceiveBroadcast'],
statics: {
+ _leaseDuration: 1500,
+
_interval: null,
_timeout: null,
_broadcastKey: 'JX.Leader.broadcast',
@@ -130,8 +132,10 @@
// If we haven't installed an update timer yet, do so now. This will
// renew our lease every 5 seconds, making sure we hold it until the
// tab is closed.
- if (!self._interval && lease.until > now + 10000) {
- self._interval = window.setInterval(self._write, 5000);
+ var interval = parseInt(self._leaseDuration / 3, 10);
+
+ if (!self._interval && lease.until > now + (interval * 2)) {
+ self._interval = window.setInterval(self._write, interval);
}
self._becomeLeader();
@@ -227,7 +231,7 @@
_write: function() {
var self = JX.Leader;
- var str = [self._id, ((+new Date()) + 16000)].join(':');
+ var str = [self._id, ((+new Date()) + self._leaseDuration)].join(':');
window.localStorage.setItem(self._leaderKey, str);
},
@@ -311,8 +315,8 @@
*/
_usurp: function() {
var self = JX.Leader;
- self.call(JX.bag);
self._timeout = null;
+ self.call(JX.bag);
},

File Metadata

Mime Type
text/plain
Expires
Sat, Oct 11, 11:53 PM (2 w, 6 d ago)
Storage Engine
blob
Storage Format
Encrypted (AES-256-CBC)
Storage Handle
9402691
Default Alt Text
D17703.id42577.diff (3 KB)

Event Timeline