9c736df7d0
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. |
||
---|---|---|
.. | ||
models | ||
storage | ||
views | ||
api.js | ||
background.js | ||
chromium.js | ||
components.js | ||
crypto.js | ||
curve25519_compiled.js | ||
database.js | ||
errors.js | ||
helpers.js | ||
index.js | ||
libphonenumber-util.js | ||
nativeclient.js | ||
options.js | ||
protobufs.js | ||
protocol.js | ||
sendmessage.js | ||
storage.js | ||
stringview.js | ||
webcrypto.js | ||
websocket-resources.js | ||
websocket.js |