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/conpherence
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
..
behavior-durable-column.js Improve chat column behavior for newline in empty text box 2015-03-16 06:44:07 -07:00
behavior-menu.js Conpherence - add draft support to column and refine sending message user workflow 2015-03-11 15:54:07 -07:00
behavior-pontificate.js Conpherence - introduce ConpherenceThreadManager 2015-03-10 12:20:29 -07:00
behavior-quicksand-blacklist.js Generalize URI pattern blacklist for Quicksand 2015-03-10 15:32:15 -07:00
behavior-widget-pane.js Conpherence - introduce ConpherenceThreadManager 2015-03-10 12:20:29 -07:00
ConpherenceThreadManager.js Conpherence - kill race conditions around update 2015-03-16 16:35:05 -07:00