signal-desktop/libtextsecure
Lilia 51cd28bb4a Fix race handling contact sync with verified info (#1419)
When processing a contact sync with embedded identity key verification info, we
were running overlapping async fetch/save operations on the same conversation
model, causing a race that tends to clobber updates to the contact info.

In this change we extend the application-level contact info handler to block on
a subsequent call to the verification handler, which effectively serializes the
fetch/save calls, and relieves the need for the message receiver to trigger a
seperate event concerning the verification info on contact sync messages.

Fixes #1408

// FREEBIE
2017-09-01 07:42:41 -07:00
..
storage Cache messages on receipt, remove from cache when processed 2017-08-04 12:03:25 -07:00
test createTaskWithTimeout: Don't log expiration if task threw (#1412) 2017-08-30 13:33:55 -07:00
account_manager.js Whenever adding something to a queue, include a timeout 2017-08-04 12:03:25 -07:00
api.js Add support for getProfile to TextSecureServer 2017-08-04 12:03:25 -07:00
components.js Move jquery from libtextsecure components 2015-10-19 12:51:59 -07:00
contacts_parser.js Support for group sync 2015-06-25 13:24:32 -07:00
crypto.js Cleanup attachment attributes 2017-04-18 11:48:53 -07:00
errors.js Decrypt any IncomingIdentityKeyError still sticking around 2017-08-12 13:17:53 -07:00
event_target.js Animated loading screens on startup and first conversation load 2017-08-04 12:03:25 -07:00
helpers.js Move, rename, and simplify toArrayBuffer helper 2016-03-13 04:56:28 -07:00
key_worker.js Remove erroneous license file and headers 2015-09-07 14:58:42 -07:00
libsignal-protocol.js Set messageKeysLimit to unlimited if communicating with our devices (#1348) 2017-08-04 12:25:30 -07:00
message_receiver.js Fix race handling contact sync with verified info (#1419) 2017-09-01 07:42:41 -07:00
outgoing_message.js Fix for "Can't find record for undefined.1" 2017-08-04 15:23:54 -07:00
protobufs.js Load protobufs asynchronously. Fixes #223 2015-05-15 11:38:14 -07:00
protocol_wrapper.js Update libsignal-protocol v0.9.0 2016-05-17 12:03:37 -07:00
ProvisioningCipher.js Set theme based on master device userAgent 2016-09-15 16:28:46 -07:00
sendmessage.js Add logging to help track down problems with Sync 2017-08-17 17:33:22 -07:00
storage.js Remove erroneous license file and headers 2015-09-07 14:58:42 -07:00
stringview.js Remove erroneous license file and headers 2015-09-07 14:58:42 -07:00
sync_request.js Add logging to help track down problems with Sync 2017-08-17 17:33:22 -07:00
task_with_timeout.js createTaskWithTimeout: Don't log expiration if task threw (#1412) 2017-08-30 13:33:55 -07:00
websocket-resources.js Disable keepalive logging 2016-06-29 18:22:27 -07:00