Scott Nonnenberg
bbb12979b3
Fix a few errant jshint problems
...
FREEBIE
2017-08-25 14:28:05 -07:00
Scott Nonnenberg
9fb079253c
Remove errors from the cache when they are shown to the user ( #1392 )
...
There's really no reason to retry encryption errors again if they've
already been made user-visible in a conversation.
Also, refactor e->error in background.js onError(), since both e and ev
in this method made it too easy to make a mistake.
2017-08-25 14:24:16 -07:00
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
beernutz
07ec2707ac
Update to work around flashing icon issue ( #1384 )
...
Repeatedly clearAttention to prevent flashing icon
2017-08-24 16:22:01 -07:00
Scott Nonnenberg
f14ac69f2a
Additional logging when we get delivery receipt for unknown msg
...
FREEBIE
2017-08-23 13:39:29 -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
675d41843e
Re-enable message box if enter pressed with no text/files
...
Previously the message would stay disabled until the user clicked with
the mouse.
FREEBIE
2017-08-17 08:54:38 -07:00
Scott Nonnenberg
680f7d8b57
Additional logging for perf analysis and cross-device debuging
...
- How long it takes to get a message through the pre-send checks
- How long it takes to open a conversation for the first time
- The timestamp of any message we send to corellate with other logs
- Add conversation ID to 'decrypt old identity key errors' start/end
FREEBIE
2017-08-17 08:54:38 -07:00
Scott Nonnenberg
241e26dc17
Don't revoke convo avatar URL on unload - we will need it again
...
FREEBIE
2017-08-15 14:08:14 -07:00
Scott Nonnenberg
9c7db537d0
libtextsecure.js catch-up
...
FREEBIE
2017-08-14 12:20:13 -07:00
Scott Nonnenberg
7e9ed1481b
Set receivedAt after decrypt, sort by received then sent
...
FREEBIE
2017-08-14 12:12:36 -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
67cb9bdf54
Disable message box between send request and final send begin
...
Because we do a number of async checks before allowing the real send to
begin, on a slow matchine or when doing a lot of work (like receiving a
lot of messages) there can be a noticeable delay between hitting Enter
and the clearing of the text in the message box. In fact, newly-typed
text can be added to the previous message if the delay is long enough.
This prevents any interaction with the message box until the send has
either been prevented or has started.
FREEBIE
2017-08-11 18:55:16 -07:00
Scott Nonnenberg
e7450fa0d7
Add a max setTimout for expiring messages (over max == immediate)
...
Discovered a user log where expiring message checks were happening
constantly. This ensures that a very large timeout doesn't roll over
into immediate callbacks.
FREEBIE
2017-08-10 12:04:13 -07:00
Scott Nonnenberg
e57f155403
Handle rejections from protocol layer (due to missing records)
...
isVerified and isUntrusted both went to the protocol layer, but were not
prepared for rejected promises resulting from missing records. This
prevented send in large groups where there has never been a message
exchanged with one of the members.
FREEBIE
2017-08-10 11:21:15 -07:00
Scott Nonnenberg
cf5f50cfab
Give initIncomingMessage envelope in background.js error handling
...
FREEBIE
2017-08-08 14:08:29 -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
96b00b3e2d
Throttle expiring messages data query and deletion
...
I believe this to be the reason behind some of the high resource usage
on startup. If a lot of read receipts come in for disappearing messages,
this method can be called many, many times very quickly.
FREEBIE
2017-08-08 11:22:41 -07:00
Scott Nonnenberg
6caf88c404
Key verification error popup: Remove cancel, empty resolve()
...
FREEBIE
2017-08-07 16:14:49 -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
82b2a611e3
MessageView: Always remove errors on re-render to prevent doubles
...
FREEBIE
2017-08-07 16:14:49 -07:00
Scott Nonnenberg
78c02f1154
Restore 'cancel' button on delete message confirmation dialog
...
FREEBIE
2017-08-07 16:14:49 -07:00
Scott Nonnenberg
559619eb49
Fix sync'd disappearing messages; prevent double-save
...
FREEBIE
2017-08-04 18:19:26 -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
7e0bd82bd3
handleDataMessage: Remove if(confirm) checks, add try/catch
...
FREEBIE
2017-08-04 12:03:25 -07:00
Scott Nonnenberg
832b343031
Expiring messages: Add clarifying comment about destroy() ordering
...
FREEBIE
2017-08-04 12:03:25 -07:00
Scott Nonnenberg
7d4ae63501
MessageReceiver: Log empty event, flow promise properly
...
FREEBIE
2017-08-04 12:03:25 -07:00
Scott Nonnenberg
32e12f7d3c
Conversation.notify(): introduce a promise to track completion
...
FREEBIE
2017-08-04 12:03:25 -07:00
Scott Nonnenberg
d3fb0e5b46
Expiring messages: destroy only after we've notified conversation
...
FREEBIE
2017-08-04 12:03:25 -07:00
Scott Nonnenberg
7faf83bc01
Read/Delivery Receipts: Wait for resolution in main queue
...
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
ec70170829
ConversationView.unload: Add ability to provide reason for logging
...
FREEBIE
2017-08-04 12:03:25 -07:00
Scott Nonnenberg
c0f8812f9b
ConversationView: when windows are closed, call unload()
...
Anyway, unload() is a more comprehensive method for doing what the close
handler was trying to do before.
FREEBIE
2017-08-04 12:03:25 -07:00
Scott Nonnenberg
6f1a2a9b3e
Conversation.markRead() - wait for all database saves are complete
...
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
65283d2794
Unload conversations and old messages every half-hour
...
FREEBIE
2017-08-04 12:03:25 -07:00
Scott Nonnenberg
4ea457a01c
Fix second fetchConversation call if unread > 0
...
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
31d7e652fe
Dismiss the app loading screen if we failed to connect to socket
...
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
e36aa524c9
background.js: Flow promises properly in error case
...
FREEBIE
2017-08-04 12:03:25 -07:00
Scott Nonnenberg
39795170c1
Handle the 'extension loaded, reopen window' scenario
...
Not sure exactly how to think about Chrome app lifetimes, so we're
being conservative. We only show the full-application loading screen
once, on first display of the inbox.
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
3e8b34f3d0
findOrCreateById instead of private-specific method
...
Anyway, findOrCreateById with no type didn't succeed, because the
conversation didn't validate.
FREEBIE
2017-08-04 12:03:25 -07:00