Scott Nonnenberg 
								
							 
						 
						
							
							
								
							
							
	e2ee63efaa  
						 
						
							
							
								
								
								m.get('sender') -> m.isIncoming(), filter in getLoadedUnreadCount  
							
							 
							
							... 
							
							
							
							FREEBIE 
							
						 
						
							2017-08-04 12:03:25 -07:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Scott Nonnenberg 
								
							 
						 
						
							
							
								
							
							
	78094102bd  
						 
						
							
							
								
								
								Message.send: Add promise to array for consistency  
							
							 
							
							... 
							
							
							
							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 
								
							 
						 
						
							
							
								
							
							
	5e62d0cfd8  
						 
						
							
							
								
								
								Update identity key after a send error tells us it has changed  
							
							 
							
							... 
							
							
							
							FREEBIE 
							
						 
						
							2017-08-04 12:03:25 -07:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Scott Nonnenberg 
								
							 
						 
						
							
							
								
							
							
	1cf9289b1a  
						 
						
							
							
								
								
								Add items to conversation history when user verifies/unverifies  
							
							 
							
							... 
							
							
							
							FREEBIE 
							
						 
						
							2017-08-04 12:03:25 -07:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Scott Nonnenberg 
								
							 
						 
						
							
							
								
							
							
	a827334c3e  
						 
						
							
							
								
								
								Allow re-send of messages in msg detail view on OutgoingKeyError  
							
							 
							
							... 
							
							
							
							We also show more errors than we used to in the MessageDetail screen
to help make it clear what is happening, and why the user would need to
re-send.
FREEBIE 
							
						 
						
							2017-08-04 12:03:25 -07:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Scott Nonnenberg 
								
							 
						 
						
							
							
								
							
							
	ee0b0f5ffb  
						 
						
							
							
								
								
								Remove all concept of 'key conflict' from the app  
							
							 
							
							
							
						 
						
							2017-08-04 12:03:25 -07:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Scott Nonnenberg 
								
							 
						 
						
							
							
								
							
							
	785b117b86  
						 
						
							
							
								
								
								Mark older messages as read when we get out-of-order read receipt  
							
							 
							
							... 
							
							
							
							FREEBIE 
							
						 
						
							2017-06-07 15:46:21 -07:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Scott Nonnenberg 
								
							 
						 
						
							
							
								
							
							
	fb7e7cf34c  
						 
						
							
							
								
								
								TimerView: don't continue to update after expiration  
							
							 
							
							... 
							
							
							
							FREEBIE 
							
						 
						
							2017-06-06 15:33:55 -07:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									lilia 
								
							 
						 
						
							
							
								
							
							
	3dbb21c53c  
						 
						
							
							
								
								
								Fix being re-added to a group you previously left  
							
							 
							
							... 
							
							
							
							Negate the flag marking the group as left. Fixes  #1207 .
// FREEBIE 
							
						 
						
							2017-05-30 10:51:07 -07:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Scott Nonnenberg 
								
							 
						 
						
							
							
								
							
							
	10c2874d19  
						 
						
							
							
								
								
								Fix race condition: Pull from database after add to conversation  
							
							 
							
							... 
							
							
							
							Also add some console logs to help us determine whether this ever
happens to people in the wild.
FREEBIE 
							
						 
						
							2017-05-26 16:02:14 -07:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Scott Nonnenberg 
								
							 
						 
						
							
							
								
							
							
	3beecce94e  
						 
						
							
							
								
								
								fetchConversation: Minimize scans across loaded messages  
							
							 
							
							... 
							
							
							
							FREEBIE 
							
						 
						
							2017-05-25 16:30:30 -07:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Scott Nonnenberg 
								
							 
						 
						
							
							
								
							
							
	d5d1d58cc2  
						 
						
							
							
								
								
								Exclude Backbone-sourced method from jscs checks  
							
							 
							
							... 
							
							
							
							FREEBIE 
							
						 
						
							2017-05-25 16:30:30 -07:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Scott Nonnenberg 
								
							 
						 
						
							
							
								
							
							
	3ceb3a049e  
						 
						
							
							
								
								
								Override Message.fetch to ensure that db data overrides local  
							
							 
							
							... 
							
							
							
							FREEBIE 
							
						 
						
							2017-05-25 16:30:30 -07:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Scott Nonnenberg 
								
							 
						 
						
							
							
								
							
							
	2c81539042  
						 
						
							
							
								
								
								A guard to prevent infinite loops in fetching of conversation  
							
							 
							
							... 
							
							
							
							FREEBIE 
							
						 
						
							2017-05-25 16:30:30 -07:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Scott Nonnenberg 
								
							 
						 
						
							
							
								
							
							
	30b7bf23db  
						 
						
							
							
								
								
								Recursively fetch messages until we've loaded all unread  
							
							 
							
							... 
							
							
							
							FREEBIE 
							
						 
						
							2017-05-23 11:08:23 -07:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									lilia 
								
							 
						 
						
							
							
								
							
							
	80bfe18f02  
						 
						
							
							
								
								
								Mark groups left on synced "You left the group"  
							
							 
							
							... 
							
							
							
							When leaving a group on mobile, we sync the group quit message to desktop, but
we weren't marking the conversation left.
// FREEBIE 
							
						 
						
							2017-05-16 15:23:29 -07:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									lilia 
								
							 
						 
						
							
							
								
							
							
	8bd7280673  
						 
						
							
							
								
								
								Early read receipts should start expiration timers  
							
							 
							
							... 
							
							
							
							Check for early read receipts for an incoming messages *after*
processing the expireTimer on that message. Then we can set
expirationStartTime appropriately if an early receipt is found.
Closes  #950 
// FREEBIE 
							
						 
						
							2017-05-11 13:47:58 -07:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									lilia 
								
							 
						 
						
							
							
								
							
							
	510a5cb7fe  
						 
						
							
							
								
								
								Namespace global listeners to Whisper  
							
							 
							
							
							
						 
						
							2017-04-12 20:43:16 -07:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									lilia 
								
							 
						 
						
							
							
								
							
							
	e4b9c51f88  
						 
						
							
							
								
								
								Rework expiring messages management  
							
							 
							
							... 
							
							
							
							// FREEBIE 
							
						 
						
							2017-02-22 16:18:01 -08:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									lilia 
								
							 
						 
						
							
							
								
							
							
	08e8c00329  
						 
						
							
							
								
								
								Restore setting lastMessage in handleDataMessage  
							
							 
							
							
							
						 
						
							2017-02-22 16:15:27 -08:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									lilia 
								
							 
						 
						
							
							
								
							
							
	6509646bdb  
						 
						
							
							
								
								
								Set expireTimer to null to unset  
							
							 
							
							... 
							
							
							
							// FREEBIE 
							
						 
						
							2017-02-22 01:17:20 -08:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									lilia 
								
							 
						 
						
							
							
								
							
							
	54b856139a  
						 
						
							
							
								
								
								Fix fetchExpiring  
							
							 
							
							
							
						 
						
							2017-02-17 12:10:20 -08:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									lilia 
								
							 
						 
						
							
							
								
							
							
	e648a4b095  
						 
						
							
							
								
								
								Revert "Remove unregistered group members"  
							
							 
							
							... 
							
							
							
							This reverts commit a768b94471 .
d2ddfc7  was enough to fix  #989 . Removing unregistered members from the
group (as opposed to silently ignorning them) creates greater potential
for getting out of sync with the member lists on other devices.
// FREEBIE 
							
						 
						
							2017-02-16 18:06:20 -08:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									lilia 
								
							 
						 
						
							
							
								
							
							
	cd0fe7037b  
						 
						
							
							
								
								
								Add replayable error for signed key failure  
							
							 
							
							... 
							
							
							
							Disable message sending if signed key updates fail too many times, but
allow the user to retry sending.
// FREEBIE 
							
						 
						
							2017-02-16 18:06:19 -08:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									haffenloher 
								
							 
						 
						
							
							
								
							
							
	a768b94471  
						 
						
							
							
								
								
								Remove unregistered group members  
							
							 
							
							... 
							
							
							
							Locally remove unregistered users from group membership lists.
Fixes  #989 
Related to Whispersystems/Signal-Android#6175 
Closes  #1052 
// FREEBIE 
							
						 
						
							2017-02-08 17:13:36 -08:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									haffenloher 
								
							 
						 
						
							
							
								
							
							
	04f0142b23  
						 
						
							
							
								
								
								Ignore missing members in incoming group updates  
							
							 
							
							... 
							
							
							
							Previously, updateNumbers would throw an Error, so the whole group
update was discarded.
Signal-Android handles this the same way in
GroupMessageProcessor.handleGroupUpdate().
Closes  #1056  
							
						 
						
							2017-02-08 16:46:09 -08:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									Thomas Guillet 
								
							 
						 
						
							
							
								
							
							
	400313f749  
						 
						
							
							
								
								
								Prevent expiration timer update on group update  
							
							 
							
							... 
							
							
							
							It occurs when a message with a different expiration time is received.
The issue report highlights the scenario of a member leaving a group
(group update [quit] sent with expiration time = 0).
Fix https://github.com/WhisperSystems/Signal-Android/issues/5996 
Fix https://github.com/WhisperSystems/Signal-iOS/issues/1566  
							
						 
						
							2017-01-25 20:40:25 -08:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									lilia 
								
							 
						 
						
							
							
								
							
							
	9ef61d43f4  
						 
						
							
							
								
								
								Update conversation lastMessage from database  
							
							 
							
							... 
							
							
							
							Don't set lastMessage, let it update itself as needed, such as when
first rendering a conversation list item, and when its messages are
sent, received, or destroyed. 
							
						 
						
							2017-01-25 20:40:25 -08:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									lilia 
								
							 
						 
						
							
							
								
							
							
	a623f909f2  
						 
						
							
							
								
								
								Move key change advisory content to the model  
							
							 
							
							... 
							
							
							
							Return this content from a helper method so it can be used to populate
the last message on conversations. 
							
						 
						
							2017-01-25 20:40:25 -08:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									lilia 
								
							 
						 
						
							
							
								
							
							
	d2c1e6df27  
						 
						
							
							
								
								
								Fix wrong variable name  
							
							 
							
							... 
							
							
							
							Fix potentially setting expiration timeouts more than once. 
							
						 
						
							2017-01-25 20:40:24 -08:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									lilia 
								
							 
						 
						
							
							
								
							
							
	05ed7c3822  
						 
						
							
							
								
								
								Merge timer update functions  
							
							 
							
							
							
						 
						
							2017-01-25 20:40:24 -08:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									lilia 
								
							 
						 
						
							
							
								
							
							
	d3a2f5c838  
						 
						
							
							
								
								
								Ignore expireTimer on session reset messages  
							
							 
							
							
							
						 
						
							2016-10-05 22:32:40 +09:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									lilia 
								
							 
						 
						
							
							
								
							
							
	4ee2652367  
						 
						
							
							
								
								
								Fix wrong contact in some timer updates  
							
							 
							
							... 
							
							
							
							Mistakenly showed 'You' for timer updates inferred from incoming
messages. 
							
						 
						
							2016-10-05 22:31:30 +09:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									lilia 
								
							 
						 
						
							
							
								
							
							
	7fe708d195  
						 
						
							
							
								
								
								Insert keychange advisories  
							
							 
							
							... 
							
							
							
							On click, these open a verification panel for the relevant contact,
within this conversation.
// FREEBIE 
							
						 
						
							2016-10-05 19:11:39 +09:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									lilia 
								
							 
						 
						
							
							
								
							
							
	009098f8dd  
						 
						
							
							
								
								
								Insert inferred timer updates before the corresponding message  
							
							 
							
							
							
						 
						
							2016-10-05 19:09:21 +09:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									lilia 
								
							 
						 
						
							
							
								
							
							
	8d16bfb65e  
						 
						
							
							
								
								
								Populate conversation snippet for timer updates  
							
							 
							
							
							
						 
						
							2016-09-29 16:17:01 -07:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									lilia 
								
							 
						 
						
							
							
								
							
							
	e488c19889  
						 
						
							
							
								
								
								Do not trigger notifications for timer updates  
							
							 
							
							
							
						 
						
							2016-09-29 16:17:01 -07:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									lilia 
								
							 
						 
						
							
							
								
							
							
	7a26cf79ee  
						 
						
							
							
								
								
								Insert timer update messages when inferring timer changes  
							
							 
							
							
							
						 
						
							2016-09-29 16:17:01 -07:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									lilia 
								
							 
						 
						
							
							
								
							
							
	ad2174e279  
						 
						
							
							
								
								
								Sync expirationStartTimestamp on outgoing messages  
							
							 
							
							... 
							
							
							
							Linked devices need to know when to start the clock. 
							
						 
						
							2016-09-29 16:17:01 -07:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									lilia 
								
							 
						 
						
							
							
								
							
							
	2b2c6ab040  
						 
						
							
							
								
								
								Frontend for timer updates and timer indicator  
							
							 
							
							
							
						 
						
							2016-09-29 16:17:01 -07:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									lilia 
								
							 
						 
						
							
							
								
							
							
	4cd2c03687  
						 
						
							
							
								
								
								Add clock svg style  
							
							 
							
							
							
						 
						
							2016-09-28 17:20:03 -07:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									lilia 
								
							 
						 
						
							
							
								
							
							
	7331d967d2  
						 
						
							
							
								
								
								Add support for expiration timer updates messages  
							
							 
							
							
							
						 
						
							2016-09-28 17:20:03 -07:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									lilia 
								
							 
						 
						
							
							
								
							
							
	5f92ccd524  
						 
						
							
							
								
								
								Render animated hourglass when messages are expiring  
							
							 
							
							
							
						 
						
							2016-09-28 17:20:02 -07:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									lilia 
								
							 
						 
						
							
							
								
							
							
	1383dc141f  
						 
						
							
							
								
								
								Ensure that expired messages are removed from the frontend  
							
							 
							
							
							
						 
						
							2016-09-28 17:20:02 -07:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									lilia 
								
							 
						 
						
							
							
								
							
							
	02ea4f2475  
						 
						
							
							
								
								
								Use read receipt envelope to infer startExpirationTime  
							
							 
							
							... 
							
							
							
							Avoids display of phantom messages that are only received and marked
read locally long after they have expired on another linked device. 
							
						 
						
							2016-09-28 17:20:02 -07:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									lilia 
								
							 
						 
						
							
							
								
							
							
	96fd017890  
						 
						
							
							
								
								
								Support for incoming expiring messages  
							
							 
							
							... 
							
							
							
							When initialized, or when expiration-related attributes change, expiring
messages will set timers to self-destruct. On self-destruct they trigger
'expired' events so that frontend listeners can clean up any collections
and views referencing them.
At startup, load all messages pending expiration so they can start their
timers even if they haven't been loaded in the frontend yet.
Todo: Remove expired conversation snippets from the left pane. 
							
						 
						
							2016-09-28 17:20:02 -07:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									lilia 
								
							 
						 
						
							
							
								
							
							
	e07616e2ef  
						 
						
							
							
								
								
								Only create notifications for unread messages  
							
							 
							
							... 
							
							
							
							In some cases, we have already received a read receipt for an incoming
message by the time we go to create a notification about it. In this
case, we should skip the notification.
// FREEBIE 
							
						 
						
							2016-08-04 15:34:27 -07:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									2-4601 
								
							 
						 
						
							
							
								
							
							
	b9ecdbf402  
						 
						
							
							
								
								
								i18n 'Error handling incoming message'  
							
							 
							
							... 
							
							
							
							// FREEBIE 
							
						 
						
							2016-05-05 12:54:15 -07:00  
						
						
							 
							
							
							
								 
							 
							
							
								 
							 
							
						 
					 
				
					
						
							
								
								
									 
									2-4601 
								
							 
						 
						
							
							
								
							
							
	60fe1e2cea  
						 
						
							
							
								
								
								i18n 'Received message with unknown identity key'  
							
							 
							
							... 
							
							
							
							// FREEBIE 
							
						 
						
							2016-05-05 12:54:14 -07:00