| 
						
						
						
					 | 
				
			
			 | 
			 | 
			
				@ -1,5 +1,5 @@
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				Placeholder:
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				Placeholder component:
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				```jsx
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				<util.ConversationContext theme={util.theme}>
 | 
			
		
		
	
	
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
				
			
			 | 
			 | 
			
				@ -7,9 +7,36 @@ Placeholder:
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				</util.ConversationContext>
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				```
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				## With an attachment
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				## MessageView (Backbone)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				### Image
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				### Plain messages
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				```jsx
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				const outgoing = new Whisper.Message({
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				  type: 'outgoing',
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				  body: 'How are you doing this fine day?',
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				  sent_at: Date.now() - 18000,
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				});
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				const incoming = new Whisper.Message(Object.assign({}, outgoing.attributes, {
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				  source: '+12025550100',
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				  type: 'incoming',
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				}));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				const View = Whisper.MessageView;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				<util.ConversationContext theme={util.theme}>
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				  <util.BackboneWrapper
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    View={View}
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    options={{ model: incoming }}
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				  />
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				  <util.BackboneWrapper
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    View={View}
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    options={{ model: outgoing }}
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				  />
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				</util.ConversationContext>
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				```
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				### With an attachment
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				#### Image
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				```jsx
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				const outgoing = new Whisper.Message({
 | 
			
		
		
	
	
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
				
			
			 | 
			 | 
			
				@ -39,12 +66,70 @@ const View = Whisper.MessageView;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				</util.ConversationContext>
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				```
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				### Video
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				#### Image, no caption
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				```jsx
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				const outgoing = new Whisper.Message({
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				  type: 'outgoing',
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				  sent_at: Date.now() - 18000000,
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				  attachments: [{
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    data: util.gif,
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    fileName: 'pi.gif',
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    contentType: 'image/gif',
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				  }],
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				});
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				const incoming = new Whisper.Message(Object.assign({}, outgoing.attributes, {
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				  source: '+12025550100',
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				  type: 'incoming',
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				}));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				const View = Whisper.MessageView;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				<util.ConversationContext theme={util.theme}>
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				  <util.BackboneWrapper
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    View={View}
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    options={{ model: incoming }}
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				  />
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				  <util.BackboneWrapper
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    View={View}
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    options={{ model: outgoing }}
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				  />
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				</util.ConversationContext>
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				```
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				#### Video
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				```jsx
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				const outgoing = new Whisper.Message({
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				  type: 'outgoing',
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				  body: "Beautiful, isn't it?",
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				  sent_at: Date.now() - 10000,
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				  attachments: [{
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    data: util.mp4,
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    fileName: 'freezing_bubble.mp4',
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    contentType: 'video/mp4',
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				  }],
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				});
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				const incoming = new Whisper.Message(Object.assign({}, outgoing.attributes, {
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				  source: '+12025550100',
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				  type: 'incoming',
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				}));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				const View = Whisper.MessageView;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				<util.ConversationContext theme={util.theme}>
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				  <util.BackboneWrapper
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    View={View}
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    options={{ model: incoming }}
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				  />
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				  <util.BackboneWrapper
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    View={View}
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    options={{ model: outgoing }}
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				  />
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				</util.ConversationContext>
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				```
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				#### Video, no caption
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				```jsx
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				const outgoing = new Whisper.Message({
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				  type: 'outgoing',
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				  body: "Beatiful, isn't it?",
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				  sent_at: Date.now() - 10000,
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				  attachments: [{
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    data: util.mp4,
 | 
			
		
		
	
	
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
				
			
			 | 
			 | 
			
				@ -69,7 +154,7 @@ const View = Whisper.MessageView;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				</util.ConversationContext>
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				```
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				### Audio
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				#### Audio
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				```jsx
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				const outgoing = new Whisper.Message({
 | 
			
		
		
	
	
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
				
			
			 | 
			 | 
			
				@ -99,12 +184,40 @@ const View = Whisper.MessageView;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				</util.ConversationContext>
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				```
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				### Voice message
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				#### Audio, no caption
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				```jsx
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				const outgoing = new Whisper.Message({
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				  type: 'outgoing',
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				  sent_at: Date.now() - 15000,
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				  attachments: [{
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    data: util.mp3,
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    fileName: 'agnus_dei.mp3',
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    contentType: 'audio/mp3',
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				  }],
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				});
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				const incoming = new Whisper.Message(Object.assign({}, outgoing.attributes, {
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				  source: '+12025550100',
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				  type: 'incoming',
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				}));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				const View = Whisper.MessageView;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				<util.ConversationContext theme={util.theme}>
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				  <util.BackboneWrapper
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    View={View}
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    options={{ model: incoming }}
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				  />
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				  <util.BackboneWrapper
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    View={View}
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    options={{ model: outgoing }}
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				  />
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				</util.ConversationContext>
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				```
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				#### Voice message
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				```jsx
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				const outgoing = new Whisper.Message({
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				  type: 'outgoing',
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				  body: 'This is a nice song',
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				  sent_at: Date.now() - 15000,
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				  attachments: [{
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    flags: textsecure.protobuf.AttachmentPointer.Flags.VOICE_MESSAGE,
 | 
			
		
		
	
	
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
				
			
			 | 
			 | 
			
				@ -130,7 +243,7 @@ const View = Whisper.MessageView;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				</util.ConversationContext>
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				```
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				### Other file type
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				#### Other file type
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				```jsx
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				const outgoing = new Whisper.Message({
 | 
			
		
		
	
	
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
				
			
			 | 
			 | 
			
				@ -159,3 +272,32 @@ const View = Whisper.MessageView;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				  />
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				</util.ConversationContext>
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				```
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				#### Other file type, no caption
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				```jsx
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				const outgoing = new Whisper.Message({
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				  type: 'outgoing',
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				  sent_at: Date.now() - 15000,
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				  attachments: [{
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    data: util.txt,
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    fileName: 'lorum_ipsum.txt',
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    contentType: 'text/plain',
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				  }],
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				});
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				const incoming = new Whisper.Message(Object.assign({}, outgoing.attributes, {
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				  source: '+12025550100',
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				  type: 'incoming',
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				}));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				const View = Whisper.MessageView;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				<util.ConversationContext theme={util.theme}>
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				  <util.BackboneWrapper
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    View={View}
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    options={{ model: incoming }}
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				  />
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				  <util.BackboneWrapper
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    View={View}
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				    options={{ model: outgoing }}
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				  />
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				</util.ConversationContext>
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				```
 | 
			
		
		
	
	
		
			
				
					| 
						
						
						
					 | 
				
			
			 | 
			 | 
			
				
 
 |