Page MenuHomePhabricator

D12755.diff
No OneTemporary

D12755.diff

diff --git a/resources/celerity/map.php b/resources/celerity/map.php
--- a/resources/celerity/map.php
+++ b/resources/celerity/map.php
@@ -8,7 +8,7 @@
return array(
'names' => array(
'core.pkg.css' => 'ca3f6a60',
- 'core.pkg.js' => 'ff529dc7',
+ 'core.pkg.js' => 'f6b48b53',
'darkconsole.pkg.js' => 'e7393ebb',
'differential.pkg.css' => 'bb338e4b',
'differential.pkg.js' => '895b8d62',
@@ -346,7 +346,7 @@
'rsrc/js/application/aphlict/behavior-aphlict-status.js' => 'ea681761',
'rsrc/js/application/auth/behavior-persona-login.js' => '9414ff18',
'rsrc/js/application/config/behavior-reorder-fields.js' => '14a827de',
- 'rsrc/js/application/conpherence/ConpherenceThreadManager.js' => '6709c934',
+ 'rsrc/js/application/conpherence/ConpherenceThreadManager.js' => 'f8dace3b',
'rsrc/js/application/conpherence/behavior-drag-and-drop-photo.js' => 'cf86d16a',
'rsrc/js/application/conpherence/behavior-durable-column.js' => '657c2b50',
'rsrc/js/application/conpherence/behavior-menu.js' => '804b0773',
@@ -513,7 +513,7 @@
'conpherence-menu-css' => 'f389e048',
'conpherence-message-pane-css' => '3150e2a2',
'conpherence-notification-css' => 'd208f806',
- 'conpherence-thread-manager' => '6709c934',
+ 'conpherence-thread-manager' => 'f8dace3b',
'conpherence-transaction-css' => '25138b7f',
'conpherence-update-css' => '1099a660',
'conpherence-widget-pane-css' => '2af42ebe',
@@ -1288,16 +1288,6 @@
'phabricator-keyboard-shortcut',
'conpherence-thread-manager',
),
- '6709c934' => array(
- 'javelin-dom',
- 'javelin-util',
- 'javelin-stratcom',
- 'javelin-install',
- 'javelin-workflow',
- 'javelin-router',
- 'javelin-behavior-device',
- 'javelin-vector',
- ),
'6882e80a' => array(
'javelin-dom',
),
@@ -1997,6 +1987,16 @@
'javelin-util',
'phabricator-busy',
),
+ 'f8dace3b' => array(
+ 'javelin-dom',
+ 'javelin-util',
+ 'javelin-stratcom',
+ 'javelin-install',
+ 'javelin-workflow',
+ 'javelin-router',
+ 'javelin-behavior-device',
+ 'javelin-vector',
+ ),
'f9539603' => array(
'javelin-behavior',
'javelin-dom',
diff --git a/webroot/rsrc/js/application/conpherence/ConpherenceThreadManager.js b/webroot/rsrc/js/application/conpherence/ConpherenceThreadManager.js
--- a/webroot/rsrc/js/application/conpherence/ConpherenceThreadManager.js
+++ b/webroot/rsrc/js/application/conpherence/ConpherenceThreadManager.js
@@ -164,15 +164,19 @@
// Message event for something we already know about.
return;
}
- // If we're currently updating, wait for the update to complete.
+
// If this notification tells us about a message which is newer than
- // the newest one we know to exist, keep track of it so we can
- // update once the in-flight update finishes.
+ // the newest one we know to exist, update our latest knownID so we
+ // can properly update later.
if (this._updating &&
this._updating.threadPHID == this._loadedThreadPHID) {
if (message.messageID > this._updating.knownID) {
this._updating.knownID = message.messageID;
- return;
+ // We're currently updating, so wait for the update to complete.
+ // this.syncWorkflow has us covered in this case.
+ if (this._updating.active) {
+ return;
+ }
}
}
@@ -226,7 +230,8 @@
syncWorkflow: function(workflow, stage) {
this._updating = {
threadPHID: this._loadedThreadPHID,
- knownID: this._latestTransactionID
+ knownID: this._latestTransactionID,
+ active: true
};
workflow.listen(stage, JX.bind(this, function() {
// TODO - do we need to handle if we switch threads somehow?
@@ -235,6 +240,7 @@
if (need_sync) {
return this._updateThread();
}
+ this._updating.active = false;
}));
workflow.start();
},

File Metadata

Mime Type
text/plain
Expires
Tue, Nov 12, 3:34 PM (6 d, 3 h ago)
Storage Engine
blob
Storage Format
Encrypted (AES-256-CBC)
Storage Handle
6723710
Default Alt Text
D12755.diff (4 KB)

Event Timeline