mirror of
https://we.phorge.it/source/phorge.git
synced 2024-11-12 18:02:40 +01:00
Conpherence - fix disappearing older messages bug
Summary: Fixes T8194. If you loaded a conpherence directly via a URI like /Z1 or /conpherence/1/ we didn't correctly cache the loaded transactions such that sending a message would only show that message and subsequent messages. Fix is to build the cache properly in this case. Note this codepath is different because the server sends back more of the thread data in the initial request. Test Plan: loaded a conpherence directly, sent messages, paged back, everything kept showing! Reviewers: epriestley Reviewed By: epriestley Subscribers: Korvin, epriestley Maniphest Tasks: T8194 Differential Revision: https://secure.phabricator.com/D12844
This commit is contained in:
parent
db1cd65866
commit
bc101e7c73
3 changed files with 42 additions and 37 deletions
|
@ -8,7 +8,7 @@
|
||||||
return array(
|
return array(
|
||||||
'names' => array(
|
'names' => array(
|
||||||
'core.pkg.css' => '7ac320f1',
|
'core.pkg.css' => '7ac320f1',
|
||||||
'core.pkg.js' => 'ac41c400',
|
'core.pkg.js' => 'a2f2598e',
|
||||||
'darkconsole.pkg.js' => 'e7393ebb',
|
'darkconsole.pkg.js' => 'e7393ebb',
|
||||||
'differential.pkg.css' => 'bb338e4b',
|
'differential.pkg.css' => 'bb338e4b',
|
||||||
'differential.pkg.js' => '895b8d62',
|
'differential.pkg.js' => '895b8d62',
|
||||||
|
@ -332,10 +332,10 @@ return array(
|
||||||
'rsrc/js/application/auth/behavior-persona-login.js' => '9414ff18',
|
'rsrc/js/application/auth/behavior-persona-login.js' => '9414ff18',
|
||||||
'rsrc/js/application/calendar/event-all-day.js' => 'ca5fa62a',
|
'rsrc/js/application/calendar/event-all-day.js' => 'ca5fa62a',
|
||||||
'rsrc/js/application/config/behavior-reorder-fields.js' => '14a827de',
|
'rsrc/js/application/config/behavior-reorder-fields.js' => '14a827de',
|
||||||
'rsrc/js/application/conpherence/ConpherenceThreadManager.js' => 'b7342ddb',
|
'rsrc/js/application/conpherence/ConpherenceThreadManager.js' => '10246726',
|
||||||
'rsrc/js/application/conpherence/behavior-drag-and-drop-photo.js' => 'cf86d16a',
|
'rsrc/js/application/conpherence/behavior-drag-and-drop-photo.js' => 'cf86d16a',
|
||||||
'rsrc/js/application/conpherence/behavior-durable-column.js' => '16c695bf',
|
'rsrc/js/application/conpherence/behavior-durable-column.js' => '16c695bf',
|
||||||
'rsrc/js/application/conpherence/behavior-menu.js' => '4351c4a0',
|
'rsrc/js/application/conpherence/behavior-menu.js' => 'c0348cac',
|
||||||
'rsrc/js/application/conpherence/behavior-pontificate.js' => '21ba5861',
|
'rsrc/js/application/conpherence/behavior-pontificate.js' => '21ba5861',
|
||||||
'rsrc/js/application/conpherence/behavior-quicksand-blacklist.js' => '7927a7d3',
|
'rsrc/js/application/conpherence/behavior-quicksand-blacklist.js' => '7927a7d3',
|
||||||
'rsrc/js/application/conpherence/behavior-widget-pane.js' => '93568464',
|
'rsrc/js/application/conpherence/behavior-widget-pane.js' => '93568464',
|
||||||
|
@ -500,7 +500,7 @@ return array(
|
||||||
'conpherence-menu-css' => 'f389e048',
|
'conpherence-menu-css' => 'f389e048',
|
||||||
'conpherence-message-pane-css' => '5bb4b76d',
|
'conpherence-message-pane-css' => '5bb4b76d',
|
||||||
'conpherence-notification-css' => '919974b6',
|
'conpherence-notification-css' => '919974b6',
|
||||||
'conpherence-thread-manager' => 'b7342ddb',
|
'conpherence-thread-manager' => '10246726',
|
||||||
'conpherence-transaction-css' => '42a457f6',
|
'conpherence-transaction-css' => '42a457f6',
|
||||||
'conpherence-update-css' => '1099a660',
|
'conpherence-update-css' => '1099a660',
|
||||||
'conpherence-widget-pane-css' => '2af42ebe',
|
'conpherence-widget-pane-css' => '2af42ebe',
|
||||||
|
@ -541,7 +541,7 @@ return array(
|
||||||
'javelin-behavior-choose-control' => '6153c708',
|
'javelin-behavior-choose-control' => '6153c708',
|
||||||
'javelin-behavior-config-reorder-fields' => '14a827de',
|
'javelin-behavior-config-reorder-fields' => '14a827de',
|
||||||
'javelin-behavior-conpherence-drag-and-drop-photo' => 'cf86d16a',
|
'javelin-behavior-conpherence-drag-and-drop-photo' => 'cf86d16a',
|
||||||
'javelin-behavior-conpherence-menu' => '4351c4a0',
|
'javelin-behavior-conpherence-menu' => 'c0348cac',
|
||||||
'javelin-behavior-conpherence-pontificate' => '21ba5861',
|
'javelin-behavior-conpherence-pontificate' => '21ba5861',
|
||||||
'javelin-behavior-conpherence-widget-pane' => '93568464',
|
'javelin-behavior-conpherence-widget-pane' => '93568464',
|
||||||
'javelin-behavior-countdown-timer' => 'e4cc26b3',
|
'javelin-behavior-countdown-timer' => 'e4cc26b3',
|
||||||
|
@ -876,6 +876,17 @@ return array(
|
||||||
'javelin-install',
|
'javelin-install',
|
||||||
'javelin-util',
|
'javelin-util',
|
||||||
),
|
),
|
||||||
|
10246726 => array(
|
||||||
|
'javelin-dom',
|
||||||
|
'javelin-util',
|
||||||
|
'javelin-stratcom',
|
||||||
|
'javelin-install',
|
||||||
|
'javelin-aphlict',
|
||||||
|
'javelin-workflow',
|
||||||
|
'javelin-router',
|
||||||
|
'javelin-behavior-device',
|
||||||
|
'javelin-vector',
|
||||||
|
),
|
||||||
'13c739ea' => array(
|
'13c739ea' => array(
|
||||||
'javelin-behavior',
|
'javelin-behavior',
|
||||||
'javelin-stratcom',
|
'javelin-stratcom',
|
||||||
|
@ -1067,20 +1078,6 @@ return array(
|
||||||
'javelin-dom',
|
'javelin-dom',
|
||||||
'javelin-request',
|
'javelin-request',
|
||||||
),
|
),
|
||||||
'4351c4a0' => array(
|
|
||||||
'javelin-behavior',
|
|
||||||
'javelin-dom',
|
|
||||||
'javelin-util',
|
|
||||||
'javelin-stratcom',
|
|
||||||
'javelin-workflow',
|
|
||||||
'javelin-behavior-device',
|
|
||||||
'javelin-history',
|
|
||||||
'javelin-vector',
|
|
||||||
'javelin-scrollbar',
|
|
||||||
'phabricator-title',
|
|
||||||
'phabricator-shaped-request',
|
|
||||||
'conpherence-thread-manager',
|
|
||||||
),
|
|
||||||
'44168bad' => array(
|
'44168bad' => array(
|
||||||
'javelin-behavior',
|
'javelin-behavior',
|
||||||
'javelin-dom',
|
'javelin-dom',
|
||||||
|
@ -1703,17 +1700,6 @@ return array(
|
||||||
'javelin-dom',
|
'javelin-dom',
|
||||||
'javelin-util',
|
'javelin-util',
|
||||||
),
|
),
|
||||||
'b7342ddb' => array(
|
|
||||||
'javelin-dom',
|
|
||||||
'javelin-util',
|
|
||||||
'javelin-stratcom',
|
|
||||||
'javelin-install',
|
|
||||||
'javelin-aphlict',
|
|
||||||
'javelin-workflow',
|
|
||||||
'javelin-router',
|
|
||||||
'javelin-behavior-device',
|
|
||||||
'javelin-vector',
|
|
||||||
),
|
|
||||||
'ba4fa35c' => array(
|
'ba4fa35c' => array(
|
||||||
'javelin-behavior',
|
'javelin-behavior',
|
||||||
'javelin-dom',
|
'javelin-dom',
|
||||||
|
@ -1747,6 +1733,20 @@ return array(
|
||||||
'javelin-util',
|
'javelin-util',
|
||||||
'phabricator-shaped-request',
|
'phabricator-shaped-request',
|
||||||
),
|
),
|
||||||
|
'c0348cac' => array(
|
||||||
|
'javelin-behavior',
|
||||||
|
'javelin-dom',
|
||||||
|
'javelin-util',
|
||||||
|
'javelin-stratcom',
|
||||||
|
'javelin-workflow',
|
||||||
|
'javelin-behavior-device',
|
||||||
|
'javelin-history',
|
||||||
|
'javelin-vector',
|
||||||
|
'javelin-scrollbar',
|
||||||
|
'phabricator-title',
|
||||||
|
'phabricator-shaped-request',
|
||||||
|
'conpherence-thread-manager',
|
||||||
|
),
|
||||||
'c1700f6f' => array(
|
'c1700f6f' => array(
|
||||||
'javelin-install',
|
'javelin-install',
|
||||||
'javelin-util',
|
'javelin-util',
|
||||||
|
|
|
@ -330,6 +330,16 @@ JX.install('ConpherenceThreadManager', {
|
||||||
JX.DOM.setContent(this._messagesRootCallback(), transactions);
|
JX.DOM.setContent(this._messagesRootCallback(), transactions);
|
||||||
},
|
},
|
||||||
|
|
||||||
|
cacheCurrentTransactions: function() {
|
||||||
|
var root = this._messagesRootCallback();
|
||||||
|
var transactions = JX.DOM.scry(
|
||||||
|
root ,
|
||||||
|
'div',
|
||||||
|
'conpherence-transaction-view');
|
||||||
|
this._updateTransactionIDMap(transactions);
|
||||||
|
this._updateTransactionCache(transactions);
|
||||||
|
},
|
||||||
|
|
||||||
_updateThread: function() {
|
_updateThread: function() {
|
||||||
var params = this._getParams({
|
var params = this._getParams({
|
||||||
action: 'load',
|
action: 'load',
|
||||||
|
@ -422,13 +432,7 @@ JX.install('ConpherenceThreadManager', {
|
||||||
r.aphlictDropdownData);
|
r.aphlictDropdownData);
|
||||||
|
|
||||||
this._didLoadThreadCallback(r);
|
this._didLoadThreadCallback(r);
|
||||||
var messages_root = this._messagesRootCallback();
|
this.cacheCurrentTransactions();
|
||||||
var messages = JX.DOM.scry(
|
|
||||||
messages_root,
|
|
||||||
'div',
|
|
||||||
'conpherence-transaction-view');
|
|
||||||
this._updateTransactionIDMap(messages);
|
|
||||||
this._updateTransactionCache(messages);
|
|
||||||
|
|
||||||
if (force_reload) {
|
if (force_reload) {
|
||||||
JX.Stratcom.invoke('hashchange');
|
JX.Stratcom.invoke('hashchange');
|
||||||
|
|
|
@ -191,6 +191,7 @@ JX.behavior('conpherence-menu', function(config) {
|
||||||
threadManager.setLoadedThreadPHID(config.selectedThreadPHID);
|
threadManager.setLoadedThreadPHID(config.selectedThreadPHID);
|
||||||
threadManager.setLatestTransactionID(config.latestTransactionID);
|
threadManager.setLatestTransactionID(config.latestTransactionID);
|
||||||
threadManager.setCanEditLoadedThread(config.canEditSelectedThread);
|
threadManager.setCanEditLoadedThread(config.canEditSelectedThread);
|
||||||
|
threadManager.cacheCurrentTransactions();
|
||||||
_scrollMessageWindow();
|
_scrollMessageWindow();
|
||||||
_focusTextarea();
|
_focusTextarea();
|
||||||
} else {
|
} else {
|
||||||
|
|
Loading…
Reference in a new issue