1
0
Fork 0
mirror of https://we.phorge.it/source/phorge.git synced 2024-11-13 18:32:41 +01:00
phorge-phorge/webroot/rsrc/js/application
Bob Trahan 98899c822e Conpherence - kill race conditions around update
Summary:
Fixes T6713. The idea is to keep checking what's going on in the update paths that touch the DOM. If we're doing an update or should be doing a different update, then we bail early.

This is the type of code + testing that makes me dizzy after awhile, but I think it works...

Test Plan:
added a "forceStall" parameter to the column view controller, which when specified sleeps for seconds before returning. I then augmented the JS such that the "send message" code for the durable column would specifiy this parameter.

For actual testing, I then spammed the heck out of the durable column channel and saw each message only once. I also spammed the column, switched browsers to a user on the same thread in the normal "speedy" view, sent messages there, and also only received one copy

Reviewers: chad, epriestley

Reviewed By: epriestley

Subscribers: Korvin, epriestley

Maniphest Tasks: T6713

Differential Revision: https://secure.phabricator.com/D12092
2015-03-16 16:35:05 -07:00
..
aphlict Conpherence - fix 0 messages in header race condition 2015-03-16 14:28:25 -07:00
auth Add Persona auth provider 2013-10-14 14:34:57 -07:00
config Remove unused JavaScript variables. 2014-06-24 03:27:47 +10:00
conpherence Conpherence - kill race conditions around update 2015-03-16 16:35:05 -07:00
countdown Define JavaScript functions before they are used 2014-12-30 02:53:32 -08:00
dashboard Fix various spelling mistakes 2014-07-13 00:45:33 +10:00
differential When deleting inline comments, offer "undo" instead of prompting 2015-03-09 17:27:51 -07:00
diffusion Fix scrolling behavior in Diffusion 2015-01-29 10:20:35 -08:00
doorkeeper Various linter fixes. 2014-02-26 12:44:58 -08:00
files Various linter fixes. 2014-02-26 12:44:58 -08:00
herald Herald - add support for application emails. 2015-01-29 14:15:38 -08:00
maniphest Fix Maniphest Reports scrolling issues 2015-02-24 09:41:37 -08:00
owners Change double quotes to single quotes in JavaScript. 2014-06-24 03:35:39 +10:00
passphrase Rename Passphrase credential control JS 2015-03-02 13:01:00 -08:00
phame Remove unused JavaScript variables. 2014-06-24 03:27:47 +10:00
pholio Fix next_src being defined as a global variable 2014-12-30 02:56:50 -08:00
phortune Remove support for Balanced payments 2015-03-13 15:47:37 -07:00
policy Mostly modernize the policy control typeahead 2014-07-17 15:56:20 -07:00
ponder Remove unused JavaScript variables. 2014-06-24 03:27:47 +10:00
projects Workboards - on edit, remove a task if no longer associated with workboard 2015-01-06 13:28:35 -08:00
releeph Make scrolling happen relative to the main content frame 2015-01-25 08:42:40 -08:00
repository Remove unused JavaScript variables. 2014-06-24 03:27:47 +10:00
search Remove unused JavaScript variables. 2014-06-24 03:27:47 +10:00
slowvote Replace the primary scrollbar with a fake one to prepare for a persistent chat column 2015-01-23 13:29:15 -08:00
transactions Fix anchor-clicking scroll positions 2015-01-28 08:26:10 -08:00
uiexample Use window.confirm instead of confirm 2014-12-30 02:55:12 -08:00