signal-desktop/js
lilia 9c736df7d0 Handle incoming identity key changes
This ended up turning into a rewrite/refactor of the background page.
For best results, view this diff with `-w` to ignore whitespace. In
order to support retrying message decryption, possibly at a much later
time than the message is received, we now implement the following:

Each message is saved before it is decrypted. This generates a unique
message_id which is later used to update the database entry with the
message contents, or with any errors generated during processing.

When an IncomingIdentityKeyError occurs, we catch it and save it on the
model, then update the front end as usual. When the user clicks to
accept the new key, the error is replayed, which causes the message to
be decrypted and then passed to the background page for normal
processing.
2014-12-19 17:30:09 -08:00
..
models Don't store conversationType on messages 2014-12-18 19:45:53 -08:00
storage Move storage objects to their own files 2014-10-28 22:47:48 -07:00
views DRY up registration event callbacks 2014-12-19 14:02:52 -08:00
api.js Move Base64 functions to their own file 2014-12-03 00:42:55 -08:00
background.js Handle incoming identity key changes 2014-12-19 17:30:09 -08:00
chromium.js DRY up registration event callbacks 2014-12-19 14:02:52 -08:00
components.js Support for lower-level queries on indexedDB 2014-12-18 19:45:53 -08:00
crypto.js Fixup curve25519 module 2014-11-09 15:30:37 -08:00
curve25519_compiled.js Fixup curve25519 module 2014-11-09 15:30:37 -08:00
database.js Move message and conversation storage to IndexedDB 2014-11-24 19:25:03 -08:00
errors.js Rewrite ReplayableErrors 2014-12-18 20:00:14 -08:00
helpers.js Handle incoming identity key changes 2014-12-19 17:30:09 -08:00
index.js Get rid of Layout global 2014-11-24 19:25:03 -08:00
libphonenumber-util.js Move phonenumbery utils to libphonenumber object 2014-10-13 22:49:39 -07:00
nativeclient.js Fixup curve25519 module 2014-11-09 15:30:37 -08:00
options.js Namespace registration helpers 2014-11-13 15:53:56 -08:00
protobufs.js New websocket protocol 2014-11-14 17:48:57 -08:00
protocol.js Handle incoming identity key changes 2014-12-19 17:30:09 -08:00
sendmessage.js Rewrite ReplayableErrors 2014-12-18 20:00:14 -08:00
storage.js Move storage objects to their own files 2014-10-28 22:47:48 -07:00
stringview.js Add stringview license info and script tags 2014-12-03 01:36:10 -08:00
webcrypto.js Simplify webcrypto type conversion 2014-11-09 21:52:36 -08:00
websocket-resources.js WebSocket-Resources / websocket refactor 2014-11-29 11:43:30 -08:00
websocket.js Keepalive endpoint 2014-12-10 23:48:26 -08:00