1
0
Fork 0
mirror of https://we.phorge.it/source/phorge.git synced 2024-12-23 05:50:55 +01:00
phorge-phorge/webroot/rsrc/js/application
Bob Trahan 6c049d06ce Conpherence - change message rendering logic to eradicate possibility of duplicates
Summary:
Fixes T6713. Before this diff, we would update the DOM when various requests came back, but the logic to erase race conditions proved too tricky for me to get right. Instead, change the algorithm up and keep a set of transaction ids around per thread. When its time to update the transactions, sort the list of ids and just render the whole darn set again.

To make this work, this ends up adding transacton ids to fake transactons like "show older" and date markers. This is able to work by using a float sort and giving these transactions ids that are .5 from being an integer and in the right place numerically.

Test Plan: for durable column, clicked show older and it worked. sent a message and it worked. for main view, clicked show older and it worked. sent a message and it worked.

Reviewers: epriestley

Reviewed By: epriestley

Subscribers: Korvin, epriestley

Maniphest Tasks: T6713

Differential Revision: https://secure.phabricator.com/D12819
2015-05-13 11:06:54 -07:00
..
aphlict Conpherence - improve performance by handling dropdowns (notifications, threads) as standard response data 2015-05-07 16:04:56 -07:00
auth Add Persona auth provider 2013-10-14 14:34:57 -07:00
calendar All day events should disable time editing in edit view 2015-05-08 10:01:13 -07:00
config Remove unused JavaScript variables. 2014-06-24 03:27:47 +10:00
conpherence Conpherence - change message rendering logic to eradicate possibility of duplicates 2015-05-13 11:06:54 -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 Fix "reply" to left-side inline appearing on right side 2015-05-07 11:09:29 -07:00
diffusion Make taller tables the default for AphrontTableView 2015-04-08 08:38:15 -07: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 Make browse action available for dynamic/JS-driven tokenizers 2015-04-17 11:06:58 -07:00
maniphest Make browse action available for dynamic/JS-driven tokenizers 2015-04-17 11:06:58 -07: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 Quicksand and Pholio - make mock edit work 2015-05-07 10:42:07 -07:00
phortune Remove support for Balanced payments 2015-03-13 15:47:37 -07:00
policy Show which capability is being edited in custom policy dialog 2015-05-05 15:59:56 -07:00
ponder Remove unused JavaScript variables. 2014-06-24 03:27:47 +10:00
projects Conpherence + workboards - fix dragging behavior breaking on subsequent page loads 2015-05-12 11:37:55 -07: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
typeahead Implement viewer() and members(project) typeahead functions 2015-04-17 11:06:58 -07:00
uiexample Use window.confirm instead of confirm 2014-12-30 02:55:12 -08:00