Scott Nonnenberg
84fd605ad3
MessageReceiver cache: Don't convert to string for save
...
Because IndexedDB supports ArrayBuffer natively.
FREEBIE
2017-08-25 13:53:47 -07:00
Scott Nonnenberg
4ef36cc95c
Add logging to help track down problems with Sync
...
Seems like we're running into errors sending the message to kick off the
sync, so positive logging as well as error logging is included.
FREEBIE
2017-08-17 17:33:22 -07:00
Scott Nonnenberg
9c7db537d0
libtextsecure.js catch-up
...
FREEBIE
2017-08-14 12:20:13 -07:00
Scott Nonnenberg
620b71a649
Maintain original received time when processing queued/error msgs
...
FREEBIE
2017-08-12 13:17:53 -07:00
Scott Nonnenberg
8700112f6d
Decrypt any IncomingIdentityKeyError still sticking around
...
FREEBIE
2017-08-12 13:17:53 -07:00
Scott Nonnenberg
b33c5c4c07
MessageReceiver: Wait for all code paths in handleSyncMessage
...
Without this, the recent changes to wait for read receipts and delivery
receipts don't have much of an effect.
FREEBIE
2017-08-08 11:22:41 -07:00
Scott Nonnenberg
2130795708
Fix 'retry message' scenario: they are now content messages
...
FREEBIE
2017-08-07 16:14:49 -07:00
Scott Nonnenberg
e0c1f0d27a
MessageReceiver: Process cached before dismissing loading screen
...
FREEBIE
2017-08-07 16:14:49 -07:00
Scott Nonnenberg
fa00f08c95
MessageReceiver: Fix envelope id logging and make it consistent
...
FREEBIE
2017-08-07 16:14:49 -07:00
Scott Nonnenberg
7e8f3ab5e7
Fix for "Can't find record for undefined.1"
...
Also, we didn't need to recalculate the number here anyway!
FREEBIE
2017-08-04 15:23:54 -07:00
Scott Nonnenberg
e223db56d9
Set messageKeysLimit to unlimited if communicating with our devices ( #1348 )
...
Set messageKeysLimit to unlimited if communicating with our devices
FREEBIE
2017-08-04 12:25:30 -07:00
Scott Nonnenberg
7d4ae63501
MessageReceiver: Log empty event, flow promise properly
...
FREEBIE
2017-08-04 12:03:25 -07:00
Scott Nonnenberg
92ba295d52
Better logging for sync sent messages, and new (disappeared) msgs
...
FREEBIE
2017-08-04 12:03:25 -07:00
Scott Nonnenberg
ad8cb870d9
libtextsecure.js catch-up
...
FREEBIE
2017-08-04 12:03:25 -07:00
Scott Nonnenberg
b4f6721846
Fix manfest.css, libtextsecure.js catch-up
...
FREEBIE
2017-08-04 12:03:25 -07:00
Scott Nonnenberg
8c231d9830
MessageReceiver: Flow promises back properly in decrypt error case
...
FREEBIE
2017-08-04 12:03:25 -07:00
Scott Nonnenberg
af2ce56c8d
Reset MessageReciever queue whenever possible
...
(like we do with the conversation queue already)
FREEBIE
2017-08-04 12:03:25 -07:00
Scott Nonnenberg
305bd6b3b8
App loading screen: show messages processed so far
...
Also, show the same loading screen on index.js before we've bootstrapped
the app.
FREEBIE
2017-08-04 12:03:25 -07:00
Scott Nonnenberg
53f2bfbb57
Animated loading screens on startup and first conversation load
...
FREEBIE
2017-08-04 12:03:25 -07:00
Scott Nonnenberg
f38d715250
Read receipts: Log sender and timestamp when related msg not found
...
FREEBIE
2017-08-04 12:03:25 -07:00
Scott Nonnenberg
9db0a58260
Whenever adding something to a queue, include a timeout
...
No more wedged queues!
FREEBIE
2017-08-04 12:03:25 -07:00
Scott Nonnenberg
bd0050b6c6
Cache messages on receipt, remove from cache when processed
...
FREEBIE
2017-08-04 12:03:25 -07:00
Scott Nonnenberg
20451cc827
Show verified/keychange notifications when actually relevant
...
FREEBIE
2017-08-04 12:03:25 -07:00
lilia
982e7f962c
Update libsignal-protocol
...
// FREEBIE
2017-08-04 12:03:25 -07:00
Scott Nonnenberg
224140c911
OutgoingMessage: Provide proper timestamp for replayability
...
FREEBIE
2017-08-04 12:03:25 -07:00
Scott Nonnenberg
5d1150e5bc
Fix call to reloadDevicesAndSend - it returns a function
...
FREEBIE
2017-08-04 12:03:25 -07:00
Scott Nonnenberg
f414c13220
Protos: Update to optional verified in sync (was: repeated)
...
This means that we no longer need to iterate.
FREEBIE
2017-08-04 12:03:25 -07:00
lilia
fdce4cfc7c
Fix failed identity key sync from contact sync
...
These were failing because ByteBuffers from the protobufs need to be converted
to ArrayBuffers. Fixed by useing the existing handler in MessageReceiver to
process verified messages from contact sync messages and dispatch them as their
own events, reducing some complexity on the application side.
// FREEBIE
2017-08-04 12:03:25 -07:00
Scott Nonnenberg
4ee4ad80c3
Message.send - check for missing identityKey, also add logging
...
FREEBIE
2017-08-04 12:03:25 -07:00
Scott Nonnenberg
551aa24e9a
OutgoingMessage: A few code style tweaks to make things readable
...
FREEBIE
2017-08-04 12:03:25 -07:00
Scott Nonnenberg
116e4d2eeb
OutgoingMessage: Reduce the calls to registerError
...
In some cases, due to promise chaining and error propagation, we were
calling registerError more than once for a given error. This would then
cause the overall callback for the send operation to be called with a
partial set of errors, as well as duplicates.
Note: we do need to find a way to attach identityKey to the
OutgoingIdentityKeyError in the case where it comes directly from the
encrypt() instead of our pre-key operations.
FREEBIE
2017-08-04 12:03:25 -07:00
lilia
9f4fcc5afa
Send null messages to mask verified syncs
...
First construct a null message of random size and contents and send it to the
destination. Then include that same padding in the verification sync.
Note that the sync message is additionally randomly padded like all other sync
messages.
This lets Verified sync messages appear the same as normal sync message traffic.
// FREEBIE
2017-08-04 12:03:25 -07:00
lilia
bb9c97b960
Support for receiving null messages
...
Just log em for debugging. Also update the error messge thrown when we get a
content message with no supported properties. It may be empty or may just have
an unrecognized field.
// FREEBIE
2017-08-04 12:03:25 -07:00
lilia
1e93b12b90
Update protos with support for null messages
...
// FREEBIE
2017-08-04 12:03:25 -07:00
lilia
6e758fc1ea
Randomly pad all sync messages
...
WhisperSystems/libsignal-service-java@c46cdc0aa5
// FREEBIE
2017-08-04 12:03:25 -07:00
Scott Nonnenberg
20f4d48991
Protos: Move to latest iteration of verification protos
...
FREEBIE
2017-08-04 12:03:25 -07:00
lilia
4232f5711c
Handle identity key change errors on encrypt
...
We need to capture key change errors from the protocol library when we call
encrypt. Previously we would only see these on session init.
// FREEBIE
2017-08-04 12:03:25 -07:00
Scott Nonnenberg
4a1dc46ab3
Fixes to get local verification and sync messages working
...
FREEBIE
2017-08-04 12:03:25 -07:00
lilia
52481d1d13
Support for sending and receiving verification sync messages
...
This adds a new method to message sender for sending verification sync messages
and a new event to message receiver representing incoming verification sync
messages. Currently the event handler just logs the message.
// FREEBIE
2017-08-04 12:03:25 -07:00
lilia
261ec003ee
Account manager calls saveIdentityWithAtttributes
...
saveIdentityWithAtttributes allows directly setting all properties of an
identity key record. In AccountManager we use it to save our own identity
key after a new registration.
Previously we would remove the existing key first in order to coerce firstUse to
true, but now we can simply set it explicitly, along with a VERIFIED status.
// FREEBIE
2017-08-04 12:03:25 -07:00
lilia
53e7e1be3a
Fix libsignal-protocol using wrong direction flag
...
// FREEBIE
2017-08-04 12:03:25 -07:00
lilia
6fdd0f1625
Handle identity errors on decrypt
...
Previously we only expected these errors to occur when decrypting prekey
messages, so we need to add handling for them in the case of a normal message.
// FREEBIE
2017-08-04 12:03:25 -07:00
lilia
f095a1583e
Fetch profiles whenever conversations are opened
...
For a group, fetch everyone's profile.
// FREEBIE
2017-08-04 12:03:25 -07:00
lilia
d295fa7057
Update libsignal-protocol
...
// FREEBIE
2017-08-04 12:03:25 -07:00
lilia
22e907a8d4
Add getProfile to MessageSender
...
// FREEBIE
2017-08-04 12:03:25 -07:00
lilia
0c5a69cce4
Add support for getProfile to TextSecureServer
...
// FREEBIE
2017-08-04 12:03:25 -07:00
lilia
3afe378063
Remove legacy property from OutgoingMessage
2017-07-05 18:05:56 -07:00
lilia
d47ced1199
Don't recompute outgoing message padding
...
We can use the same padded plaintext across multiple numbers or attempts rather
than re-creating it every time we encrypt to a particular number.
// FREEBIE
2017-07-05 18:05:56 -07:00
lilia
30201969be
Inline some functions in OutgoingMessage
...
Since we no longer have legacy messages to send, we can simplify things a bit
here.
// FREEBIE
2017-07-05 18:05:56 -07:00
lilia
e8548879db
Stop sending legacy DataMessages
2017-06-20 17:57:27 -07:00