Page Menu
Home
Phabricator
Search
Configure Global Search
Log In
Files
F15414100
D17706.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Flag For Later
Size
3 KB
Referenced Files
None
Subscribers
None
D17706.diff
View Options
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' => 'a34d59bd',
'conpherence.pkg.js' => '5f86c17d',
'core.pkg.css' => '959330a2',
- 'core.pkg.js' => 'd7ca5b9a',
+ 'core.pkg.js' => 'cb50c410',
'darkconsole.pkg.js' => 'a2faee86',
'differential.pkg.css' => '90b30783',
'differential.pkg.js' => 'ddfeb49b',
@@ -245,7 +245,7 @@
'rsrc/externals/javelin/lib/Sound.js' => '949c0fe5',
'rsrc/externals/javelin/lib/URI.js' => 'c989ade3',
'rsrc/externals/javelin/lib/Vector.js' => '2caa8fb8',
- 'rsrc/externals/javelin/lib/WebSocket.js' => '0c4969d6',
+ 'rsrc/externals/javelin/lib/WebSocket.js' => '3ffe32d6',
'rsrc/externals/javelin/lib/Workflow.js' => '1e911d0f',
'rsrc/externals/javelin/lib/__tests__/Cookie.js' => '5ed109e8',
'rsrc/externals/javelin/lib/__tests__/DOM.js' => 'c984504b',
@@ -753,7 +753,7 @@
'javelin-view-interpreter' => 'f829edb3',
'javelin-view-renderer' => '6c2b09a2',
'javelin-view-visitor' => 'efe49472',
- 'javelin-websocket' => '0c4969d6',
+ 'javelin-websocket' => '3ffe32d6',
'javelin-workboard-board' => '8935deef',
'javelin-workboard-card' => 'c587b80f',
'javelin-workboard-column' => '21df4ff5',
@@ -981,9 +981,6 @@
'javelin-dom',
'javelin-router',
),
- '0c4969d6' => array(
- 'javelin-install',
- ),
'0ca788bd' => array(
'javelin-behavior',
'javelin-stratcom',
@@ -1148,6 +1145,9 @@
'javelin-workflow',
'javelin-stratcom',
),
+ '3ffe32d6' => array(
+ 'javelin-install',
+ ),
'408bf173' => array(
'javelin-behavior',
'javelin-dom',
diff --git a/webroot/rsrc/externals/javelin/lib/WebSocket.js b/webroot/rsrc/externals/javelin/lib/WebSocket.js
--- a/webroot/rsrc/externals/javelin/lib/WebSocket.js
+++ b/webroot/rsrc/externals/javelin/lib/WebSocket.js
@@ -130,8 +130,14 @@
_onopen: function() {
this._isOpen = true;
- // Reset the reconnect delay, since we connected successfully.
- this._resetDelay();
+ // Since we connected successfully, reset the reconnect delay to 0.
+
+ // This will make us try the first reconnect immediately after a
+ // connection failure. This limits downtime in cases like a service
+ // restart or a load balancer connection timeout.
+
+ // We only do an immediate retry after a successful connection.
+ this._delayUntilReconnect = 0;
var handler = this.getOpenHandler();
if (handler) {
@@ -190,7 +196,11 @@
// Increase the reconnect delay by a factor of 2. If we fail to open the
// connection, the close handler will send us back here. We'll reconnect
// more and more slowly until we eventually get a valid connection.
- this._delayUntilReconnect = this._delayUntilReconnect * 2;
+ if (!this._delayUntilReconnect) {
+ this._resetDelay();
+ } else {
+ this._delayUntilReconnect = this._delayUntilReconnect * 2;
+ }
// Max out at 5 minutes between attempts.
this._delayUntilReconnect = Math.min(this._delayUntilReconnect, 300000);
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Thu, Mar 20, 11:11 PM (1 d, 11 h ago)
Storage Engine
blob
Storage Format
Encrypted (AES-256-CBC)
Storage Handle
7331669
Default Alt Text
D17706.diff (3 KB)
Attached To
Mode
D17706: When disconnected from Aphlict after a successful connection, retry the first reconnect right away
Attached
Detach File
Event Timeline
Log In to Comment