Commit graph

2771 commits

Author SHA1 Message Date
Scott Nonnenberg
1b3024a5ea
Run 'locale-patch' Grunt task on recent string additions
FREEBIE
2017-08-17 10:11:19 -07:00
Scott Nonnenberg
6659b0d368
v0.42.5
User-facing:
  - Avatar now persists through conversation unload
  - String updates for spanish, italian, and romanian

Dev:
  - Logging for performance analysis and cross-device debugging
  - No more emails from Travis on CI runs

FREEBIE
2017-08-17 09:00:52 -07:00
Scott Nonnenberg
eb348faa38
Update spanish, italian, and romanian strings
FREEBIE
2017-08-17 08:55:14 -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
f15bdad4b3 Travis doesn't respect the repo/organization email so turning off
Turning off travis email notifications. Github does a fine job notifying
us about the things we care about, otherwise we can always go there and
see the results.

FREEBIE
2017-08-15 14:08:32 -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
dd8e20b9c3
v0.42.4
-- Fix for incorrect received_date when downloading large amount of
  messages from the server.

FREEBIE
2017-08-14 12:22:15 -07:00
Scott Nonnenberg
9c7db537d0
libtextsecure.js catch-up
FREEBIE
2017-08-14 12:20:13 -07:00
Scott Nonnenberg
973a91d1d5
v0.42.3
- Fix for incorrect recieved_date when downloading large amount of
  messages from the server.

FREEBIE
2017-08-14 12:13:57 -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
4c7b174606
v0.42.2
- When loading a conversation, do check for old messages hidden due to a
  not-yet-approved safety number and attempt to decrypt them
- When processing queued messages or retrying incoming messages,
  maintain original received date
- Fixed an issue where the security checks before sending to a group
  with an unknown contact could fail, blocking send
- Improve performance of security checks before send to groups
- We now disable the message composition text box when doing security
  checks before send

FREEBIE
2017-08-12 13:26:10 -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
50927c0eba
v0.42.1
Notable changes:

Application loading screen
  - We now properly process read receipts, delivery receipts and other
    types of sync messages before dismissing the screen.

Fix: Properly report decryption errors when they happen

Fix: Slow down expiring message processing, especially on startup (may
  result in lower CPU/memory usage)
2017-08-08 14:16:26 -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
b2690afa32 Clarify someRecipientsFailed string via description
FREEBIE
2017-08-08 11:22:41 -07:00
Scott Nonnenberg
3842340a62
Bump version to v0.42.0
Notable changes:

Verified contacts
  - Ability to verify a contact's safety number, same for group's
    members via the 'Show members' screen
  - Check mark next to verified contacts, and next to
    100%-verified groups
  - Synchronization of verification decisions across devices
  - Banner and confirmation on send when previously-verified safety
    number changes
  - Confirmation on send if safety number has changed very recently
  - Updated message detail screen when a message fails due to a safety
    number change

Delete individual message from message detail screen

Clearer error text when a message to a group partially fails

Icons for in-conversation timer change and key change notifications
We now drop duplicate messages when we receive them

A number of reliability fixes:
  - New 'unprocessed' cache for messages not yet fully processed,
    attempted re-process on startup
  - Protections against 'wedged' conversations, which won't receive or
    send messages until restart
  - Better resilience to errors throughout the codebase

Application loading screen until server backlog is fully processed
  - Shows messages processed so far
  - Prevents large numbers of notifications from firing on application
    startup

Conversation loading screen

Unloading of conversations and old messages due to inactivity to reduce
memory usage

Potential fix for "Too many message keys for chain" (caused after
desktop is offline for long time)

FREEBIE
2017-08-07 16:35:29 -07:00
Scott Nonnenberg
6caf88c404 Key verification error popup: Remove cancel, empty resolve()
FREEBIE
2017-08-07 16:14:49 -07:00
Scott Nonnenberg
352b5f408b Making the application loading screen dark in the dark theme
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
0b4d14e5ac MessageReceiver: Ensure that we queue all cached first
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
73a77c7b97 Consistent returns, no more eventTarget, comments for tricky bits
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