1dd87ad197 
								
							
								 
							
						 
						
							
							
								
								Format all source code using Prettier  
							
							
							
						 
						
							8 years ago  
				
					
						
							
							
								 
						
							
							
								e4baf27fa7 
								
							
								 
							
						 
						
							
							
								
								Increase migration conversion speed by a factor of 3x  
							
							
							
						 
						
							8 years ago  
				
					
						
							
							
								 
						
							
							
								50a0048bf2 
								
							
								 
							
						 
						
							
							
								
								Skip attachment migration for new users  
							
							
							
						 
						
							8 years ago  
				
					
						
							
							
								 
						
							
							
								6671228028 
								
							
								 
							
						 
						
							
							
								
								🎨  Format using ESLint  
							
							
							
						 
						
							8 years ago  
				
					
						
							
							
								 
						
							
							
								d5fdf50fae 
								
							
								 
							
						 
						
							
							
								
								Remove unused reference  
							
							
							
						 
						
							8 years ago  
				
					
						
							
							
								 
						
							
							
								fccbf70d57 
								
							
								 
							
						 
						
							
							
								
								Pre-process media for `LightboxGallery`  
							
							
							
						 
						
							8 years ago  
				
					
						
							
							
								 
						
							
							
								d00fb560b0 
								
							
								 
							
						 
						
							
							
								
								Avoid exposing `AttachmentTS`  
							
							
							
						 
						
							8 years ago  
				
					
						
							
							
								 
						
							
							
								86e48a5713 
								
							
								 
							
						 
						
							
							
								
								Implement background migration using index  
							
							
							
						 
						
							8 years ago  
				
					
						
							
							
								 
						
							
							
								e1b620602d 
								
							
								 
							
						 
						
							
							
								
								Display attachments from disk  
							
							
							
						 
						
							8 years ago  
				
					
						
							
							
								 
						
							
							
								e2a2165d9c 
								
							
								 
							
						 
						
							
							
								
								Remove lightbox on unload  
							
							
							
						 
						
							8 years ago  
				
					
						
							
							
								 
						
							
							
								21db2e7182 
								
							
								 
							
						 
						
							
							
								
								Use `saveURLAsFile`  
							
							
							
						 
						
							8 years ago  
				
					
						
							
							
								 
						
							
							
								36c609c2c3 
								
							
								 
							
						 
						
							
							
								
								Persist `has*Attachments` properties for incoming messages  
							
							
							
						 
						
							8 years ago  
				
					
						
							
							
								 
						
							
							
								3df8c22e44 
								
							
								 
							
						 
						
							
							
								
								Alphabetize `Message` properties  
							
							
							
						 
						
							8 years ago  
				
					
						
							
							
								 
						
							
							
								45d6c7a5a8 
								
							
								 
							
						 
						
							
							
								
								Implement video support in lightbox  
							
							
							
						 
						
							8 years ago  
				
					
						
							
							
								 
						
							
							
								ac04f0648a 
								
							
								 
							
						 
						
							
							
								
								Load more documents than media  
							
							
							
						 
						
							8 years ago  
				
					
						
							
							
								 
						
							
							
								b86f9c0be8 
								
							
								 
							
						 
						
							
							
								
								Allow saving of attachments from media gallery lightbox  
							
							
							
						 
						
							8 years ago  
				
					
						
							
							
								 
						
							
							
								b74b761255 
								
							
								 
							
						 
						
							
							
								
								Implement click to save for document list  
							
							
							
						 
						
							8 years ago  
				
					
						
							
							
								 
						
							
							
								41fe50553f 
								
							
								 
							
						 
						
							
							
								
								Replace Backbone `saveFile` with `Attachment.save`  
							
							
							
						 
						
							8 years ago  
				
					
						
							
							
								 
						
							
							
								954433366e 
								
							
								 
							
						 
						
							
							
								
								Load documents for media gallery  
							
							
							
						 
						
							8 years ago  
				
					
						
							
							
								 
						
							
							
								2a5f513ebc 
								
							
								 
							
						 
						
							
							
								
								Organize `global`s  
							
							
							
						 
						
							8 years ago  
				
					
						
							
							
								 
						
							
							
								84c7a4c293 
								
							
								 
							
						 
						
							
							
								
								Move to some of our global utility methods  
							
							
							
						 
						
							8 years ago  
				
					
						
							
							
								 
						
							
							
								403fb1fd60 
								
							
								 
							
						 
						
							
							
								
								Make algorithm for finding thumbnails more efficient  
							
							
							
						 
						
							8 years ago  
				
					
						
							
							
								 
						
							
							
								27a30b3267 
								
							
								 
							
						 
						
							
							
								
								Respond to PR feedback  
							
							... 
							
							
							
							- makeThumbnail -> makeImageThumbnail
- duplicate 'display: flex'
- remove no-longer-applicable comment 
							
						 
						
							8 years ago  
				
					
						
							
							
								 
						
							
							
								ac0b50d20f 
								
									
								
							
								 
							
						 
						
							
							
								
								Generate thumbnails for new video attachments, video quotes  
							
							
							
						 
						
							8 years ago  
				
					
						
							
							
								 
						
							
							
								0e99ca61a2 
								
									
								
							
								 
							
						 
						
							
							
								
								eslintify file_input_view.js  
							
							
							
						 
						
							8 years ago  
				
					
						
							
							
								 
						
							
							
								bf3a547a76 
								
							
								 
							
						 
						
							
							
								
								Organize `global`s  
							
							
							
						 
						
							8 years ago  
				
					
						
							
							
								 
						
							
							
								f36f206a01 
								
							
								 
							
						 
						
							
							
								
								Use `IndexablePresence` for `hasFileAttachments` and `hasVisualMediaAttachments`  
							
							... 
							
							
							
							Reduces index size, makes it easier to debug using IndexedDB inspector, and
hopefully improves lookup performance. 
							
						 
						
							8 years ago  
				
					
						
							
							
								 
						
							
							
								8e3c38d5fe 
								
							
								 
							
						 
						
							
							
								
								Fix formatting  
							
							
							
						 
						
							8 years ago  
				
					
						
							
							
								 
						
							
							
								b65370c8d7 
								
							
								 
							
						 
						
							
							
								
								Prefer `GoogleChrome.is*` over `MIME.is*`  
							
							
							
						 
						
							8 years ago  
				
					
						
							
							
								 
						
							
							
								96be0df8c7 
								
							
								 
							
						 
						
							
							
								
								Show lightbox controls based on presence of handlers  
							
							
							
						 
						
							8 years ago  
				
					
						
							
							
								 
						
							
							
								9134701f7c 
								
							
								 
							
						 
						
							
							
								
								Move `filesize` from Bower to npm  
							
							
							
						 
						
							8 years ago  
				
					
						
							
							
								 
						
							
							
								86a9923181 
								
							
								 
							
						 
						
							
							
								
								Remove TODOs  
							
							
							
						 
						
							8 years ago  
				
					
						
							
							
								 
						
							
							
								204de3aaea 
								
							
								 
							
						 
						
							
							
								
								Lazily bind `Signal.Components.MediaGallery`  
							
							
							
						 
						
							8 years ago  
				
					
						
							
							
								 
						
							
							
								146178f977 
								
							
								 
							
						 
						
							
							
								
								Update schema documentation  
							
							
							
						 
						
							8 years ago  
				
					
						
							
							
								 
						
							
							
								b4a4182613 
								
							
								 
							
						 
						
							
							
								
								Hide ‘Save As…’ button in media gallery  
							
							... 
							
							
							
							Wait until we support it. 
							
						 
						
							8 years ago  
				
					
						
							
							
								 
						
							
							
								0d676a65b8 
								
							
								 
							
						 
						
							
							
								
								Open media gallery item in lightbox  
							
							
							
						 
						
							8 years ago  
				
					
						
							
							
								 
						
							
							
								ce825fbd66 
								
							
								 
							
						 
						
							
							
								
								Rename `save` to `onSave`  
							
							
							
						 
						
							8 years ago  
				
					
						
							
							
								 
						
							
							
								b0e1cc49a5 
								
							
								 
							
						 
						
							
							
								
								Remove legacy Backbone lightbox  
							
							
							
						 
						
							8 years ago  
				
					
						
							
							
								 
						
							
							
								86da80fd23 
								
							
								 
							
						 
						
							
							
								
								Wire up attachment saving  
							
							
							
						 
						
							8 years ago  
				
					
						
							
							
								 
						
							
							
								593976fe21 
								
							
								 
							
						 
						
							
							
								
								Extract Backbone Lightbox view module  
							
							
							
						 
						
							8 years ago  
				
					
						
							
							
								 
						
							
							
								3acdeb90c3 
								
							
								 
							
						 
						
							
							
								
								Make `ReactWrapperView` globals explicit  
							
							
							
						 
						
							8 years ago  
				
					
						
							
							
								 
						
							
							
								4a5a2cb5c1 
								
							
								 
							
						 
						
							
							
								
								Replace Backbone with React lightbox  
							
							
							
						 
						
							8 years ago  
				
					
						
							
							
								 
						
							
							
								4ce0472b9f 
								
							
								 
							
						 
						
							
							
								
								Extract `Message.loadWithObjectURL`  
							
							
							
						 
						
							8 years ago  
				
					
						
							
							
								 
						
							
							
								2dc3877fd4 
								
							
								 
							
						 
						
							
							
								
								Integrate visual media attachment gallery  
							
							
							
						 
						
							8 years ago  
				
					
						
							
							
								 
						
							
							
								082ef98a56 
								
							
								 
							
						 
						
							
							
								
								Add type definition for `deferredToPromise`  
							
							
							
						 
						
							8 years ago  
				
					
						
							
							
								 
						
							
							
								9d84b2f420 
								
							
								 
							
						 
						
							
							
								
								Index messages with attachments using a boolean  
							
							... 
							
							
							
							When indexing message attachment metadata using numeric indexes such as:
```javascript
{
  conversationId: '+12223334455',
  received_at: 123,
  attachments: […],
  numAttachments: 2,
},
{
  conversationId: '+12223334455',
  received_at: 456,
  attachments: [],
  numAttachments: 0,
}
{
  conversationId: '+12223334455',
  received_at: 789,
  attachments: [],
  numAttachments: 1,
}
```
It creates an index as follows:
```
[conversationId, received_at, numAttachments]
['+12223334455', 123, 2]
['+12223334455', 456, 0]
['+12223334455', 789, 1]
```
This means a query such as…
```
lowerBound: ['+12223334455', 0,                1               ]
upperBound: ['+12223334455', Number.MAX_VALUE, Number.MAX_VALUE]
```
…will return all three original entries because they span the `received_at`
from `0` through `Number.MAX_VALUE`. One workaround is to index booleans using
`1 | undefined` where `1` is included in the index and `undefined` is not, but
that way we lose the ability to query for the `false` value. Instead, we flip
adjust the index to `[conversationId, hasAttachments, received_at]` and can
then query messages with attachments using
```
[conversationId, 1 /* hasAttachments */, 0                /* received_at */]
[conversationId, 1 /* hasAttachments */, Number.MAX_VALUE /* received_at */]
``` 
							
						 
						
							8 years ago  
				
					
						
							
							
								 
						
							
							
								f367a9b059 
								
							
								 
							
						 
						
							
							
								
								Move `private` method below `public` ones  
							
							
							
						 
						
							8 years ago  
				
					
						
							
							
								 
						
							
							
								d7b21ef5dc 
								
							
								 
							
						 
						
							
							
								
								Render attachments grouped by date  
							
							
							
						 
						
							8 years ago  
				
					
						
							
							
								 
						
							
							
								ae419764bf 
								
							
								 
							
						 
						
							
							
								
								Use arrow function over `.bind`  
							
							
							
						 
						
							8 years ago  
				
					
						
							
							
								 
						
							
							
								272c49c5bf 
								
							
								 
							
						 
						
							
							
								
								Use existing `ReactWrapper`  
							
							
							
						 
						
							8 years ago  
				
					
						
							
							
								 
						
							
							
								32a3ef518b 
								
							
								 
							
						 
						
							
							
								
								Render media gallery placeholder panel  
							
							
							
						 
						
							8 years ago  
				
					
						
							
							
								 
						
							
							
								5f220a7b2c 
								
							
								 
							
						 
						
							
							
								
								Add migration for media gallery indices  
							
							
							
						 
						
							8 years ago  
				
					
						
							
							
								 
						
							
							
								273248d3fd 
								
							
								 
							
						 
						
							
							
								
								Wire up ‘View All Media’ menu item  
							
							
							
						 
						
							8 years ago  
				
					
						
							
							
								 
						
							
							
								d14761087a 
								
							
								 
							
						 
						
							
							
								
								Add schema version 4: Attachment metadata  
							
							
							
						 
						
							8 years ago  
				
					
						
							
							
								 
						
							
							
								df2e6e7864 
								
							
								 
							
						 
						
							
							
								
								Port `MIME` module to TypeScript  
							
							
							
						 
						
							8 years ago  
				
					
						
							
							
								 
						
							
							
								6a63e427c8 
								
							
								 
							
						 
						
							
							
								
								Use `is` instead of Lodash `is*`  
							
							
							
						 
						
							8 years ago  
				
					
						
							
							
								 
						
							
							
								9619e5b66d 
								
									
								
							
								 
							
						 
						
							
							
								
								Fix quote thumbnail flickering issue  
							
							... 
							
							
							
							Turns out that we reload thumbnails for every message when any new
message is added to the conversation. This fix prevents that by actually
checking for the proper sentinel on the message model 
							
						 
						
							8 years ago  
				
					
						
							
							
								 
						
							
							
								b0b1dc6be8 
								
									
								
							
								 
							
						 
						
							
							
								
								Apply iOS theme after link  
							
							
							
						 
						
							8 years ago  
				
					
						
							
							
								 
						
							
							
								c614c3968b 
								
									
								
							
								 
							
						 
						
							
							
								
								Enable the sending of quoted replies  
							
							
							
						 
						
							8 years ago  
				
					
						
							
							
								 
						
							
							
								ef1d568a80 
								
									
								
							
								 
							
						 
						
							
							
								
								Restore rendering of group update and end session messages  
							
							... 
							
							
							
							The previous work to refactor bubbles broke rendering for these message
types. :0/ 
							
						 
						
							8 years ago  
				
					
						
							
							
								 
						
							
							
								bf81c3db63 
								
									
								
							
								 
							
						 
						
							
							
								
								Document Message v4, remove data-free thumbnails  
							
							
							
						 
						
							8 years ago  
				
					
						
							
							
								 
						
							
							
								c02860af5c 
								
									
								
							
								 
							
						 
						
							
							
								
								Responding to pull request review feedback  
							
							... 
							
							
							
							- messages.getQuoteObjectUrl: early return
- backup.js: explaining variables for long if statement
- types/messages.js: Log if thumbnail has neither data nor path
- sendmessage.js:
  - remove extraneous logging
  - fix indentation
  - upload attachments and thumbnails in parallel
- preload: don't load fs for tests, just fse
- _conversation.scss: split two selectors into two lines, 0px -> 0
- backup_test.js: use fse.existsSync and comment twoSlashes regex
- network_tests_view_test.js: Comment duplicate assignment to window.getSocketStatus 
							
						 
						
							8 years ago  
				
					
						
							
							
								 
						
							
							
								ba4b033db9 
								
									
								
							
								 
							
						 
						
							
							
								
								Disable sending of quoted replies for now  
							
							
							
						 
						
							8 years ago  
				
					
						
							
							
								 
						
							
							
								21713cbce7 
								
									
								
							
								 
							
						 
						
							
							
								
								Update quotes to render emoji just like normal messages  
							
							
							
						 
						
							8 years ago  
				
					
						
							
							
								 
						
							
							
								a7d44d3344 
								
									
								
							
								 
							
						 
						
							
							
								
								Backup and end-to-end test!  
							
							
							
						 
						
							8 years ago  
				
					
						
							
							
								 
						
							
							
								d0bcf506b4 
								
									
								
							
								 
							
						 
						
							
							
								
								Put focus in the message composition field on reply  
							
							
							
						 
						
							8 years ago  
				
					
						
							
							
								 
						
							
							
								978ff0e2bb 
								
									
								
							
								 
							
						 
						
							
							
								
								Refactor: Use correct name for sanitized filename in backup.js  
							
							
							
						 
						
							8 years ago  
				
					
						
							
							
								 
						
							
							
								26dd01c4fd 
								
									
								
							
								 
							
						 
						
							
							
								
								Make sent quote clickable - process after adding to conversation  
							
							
							
						 
						
							8 years ago  
				
					
						
							
							
								 
						
							
							
								73edabfb17 
								
									
								
							
								 
							
						 
						
							
							
								
								Full pipeline to send quotes, including thumbnail upload  
							
							
							
						 
						
							8 years ago  
				
					
						
							
							
								 
						
							
							
								13ce056830 
								
									
								
							
								 
							
						 
						
							
							
								
								Make thumbnails on quote load and on quote preview creation  
							
							
							
						 
						
							8 years ago  
				
					
						
							
							
								 
						
							
							
								12257e1560 
								
									
								
							
								 
							
						 
						
							
							
								
								MessageView: Show menu w/ 'reply to message' on triple-dot click  
							
							
							
						 
						
							8 years ago  
				
					
						
							
							
								 
						
							
							
								f4d9ab8ba0 
								
									
								
							
								 
							
						 
						
							
							
								
								Put quote preview in text box for Android, above it in iOS  
							
							
							
						 
						
							8 years ago  
				
					
						
							
							
								 
						
							
							
								d4220e278d 
								
									
								
							
								 
							
						 
						
							
							
								
								MessageView: Remove logging  
							
							
							
						 
						
							8 years ago  
				
					
						
							
							
								 
						
							
							
								afad1a8d77 
								
									
								
							
								 
							
						 
						
							
							
								
								conversation_view: Remove logging in quote handling  
							
							
							
						 
						
							8 years ago  
				
					
						
							
							
								 
						
							
							
								c71dcf0139 
								
									
								
							
								 
							
						 
						
							
							
								
								Show current quoted message above composition field  
							
							... 
							
							
							
							Note that substantial changes will be required for the updated Android
mockups, putting the quotation into the text box next to the attachment
preview. 
							
						 
						
							8 years ago  
				
					
						
							
							
								 
						
							
							
								e66f9faf33 
								
									
								
							
								 
							
						 
						
							
							
								
								MessageView refactor: reply -> quote  
							
							
							
						 
						
							8 years ago  
				
					
						
							
							
								 
						
							
							
								b4ff223d18 
								
									
								
							
								 
							
						 
						
							
							
								
								Refactor: Push selector logic for quote props into Message model  
							
							
							
						 
						
							8 years ago  
				
					
						
							
							
								 
						
							
							
								d0b11c59f5 
								
									
								
							
								 
							
						 
						
							
							
								
								Eslintify conversation_view.js  
							
							
							
						 
						
							8 years ago  
				
					
						
							
							
								 
						
							
							
								26e4e97592 
								
									
								
							
								 
							
						 
						
							
							
								
								Tighten up CSS  
							
							... 
							
							
							
							- Remove extra padding at top of Android bubbles, via sibling selector
- Don't include .attachments, .quote-wrapper, .content in bubble unless
  we actually need them. This allows for sibling selectors.
- This is a different technique for adding the ReactWrapperView for
  quotes - it is now appended to the DOM instead of attaching to
  something already in the DOM. This allows us to use .remove(), so it's
  a bit cleaner.
- Users of ReactWrapperView can now specify tagName and className 
							
						 
						
							8 years ago  
				
					
						
							
							
								 
						
							
							
								30957341e4 
								
									
								
							
								 
							
						 
						
							
							
								
								Show three dot icon next to message on hover  
							
							... 
							
							
							
							But only if it doesn't have an error.
Also: reformatted message template in legacy_templates.js to match what
is in background.html for easier diffing. 
							
						 
						
							8 years ago  
				
					
						
							
							
								 
						
							
							
								a563dc8b37 
								
									
								
							
								 
							
						 
						
							
							
								
								Style Guide: Additional message examples, a few fixes to enable  
							
							
							
						 
						
							8 years ago  
				
					
						
							
							
								 
						
							
							
								000dc3a159 
								
									
								
							
								 
							
						 
						
							
							
								
								Handle attachment load failure for quoted message  
							
							
							
						 
						
							8 years ago  
				
					
						
							
							
								 
						
							
							
								f1ff040842 
								
									
								
							
								 
							
						 
						
							
							
								
								Finish type definition for _mapQuotedAttachments  
							
							
							
						 
						
							8 years ago  
				
					
						
							
							
								 
						
							
							
								4e9abdf348 
								
									
								
							
								 
							
						 
						
							
							
								
								MessageView: Call the proper render method on change event  
							
							
							
						 
						
							8 years ago  
				
					
						
							
							
								 
						
							
							
								04d186c05a 
								
									
								
							
								 
							
						 
						
							
							
								
								Conversation.loadQuoteThumbnail: Be resilient to no attachments  
							
							
							
						 
						
							8 years ago  
				
					
						
							
							
								 
						
							
							
								a6467d4fda 
								
									
								
							
								 
							
						 
						
							
							
								
								Constrain 'start recording' event listener to capture-audio only  
							
							... 
							
							
							
							(it was firing when clicking on a microphone icon in quotation!) 
							
						 
						
							8 years ago  
				
					
						
							
							
								 
						
							
							
								3bbb9f535a 
								
									
								
							
								 
							
						 
						
							
							
								
								Load thumbnail even if we have the full message in hand  
							
							... 
							
							
							
							This is important for now, when we aren't generating our own thumbnails 
							
						 
						
							8 years ago  
				
					
						
							
							
								 
						
							
							
								c283ba1a12 
								
									
								
							
								 
							
						 
						
							
							
								
								Remove pointer cursor when clicking on quote won't do anything  
							
							
							
						 
						
							8 years ago  
				
					
						
							
							
								 
						
							
							
								9ad55c803f 
								
									
								
							
								 
							
						 
						
							
							
								
								Fix handling attachment thumbnails using thumbnail key  
							
							
							
						 
						
							8 years ago  
				
					
						
							
							
								 
						
							
							
								fce9bb7342 
								
									
								
							
								 
							
						 
						
							
							
								
								Move to central MIME functions, remove some console.log  
							
							... 
							
							
							
							And generally address PR feedback. 
							
						 
						
							8 years ago  
				
					
						
							
							
								 
						
							
							
								32925ed026 
								
									
								
							
								 
							
						 
						
							
							
								
								Load attachment data for quotedMessages, processMessage on add  
							
							... 
							
							
							
							Not ideal that it loads it twice, but AttachmentView is so selfish with
its blob and objectUrl! 
							
						 
						
							8 years ago  
				
					
						
							
							
								 
						
							
							
								0100e279f5 
								
									
								
							
								 
							
						 
						
							
							
								
								MessageView: Make Quotes resilient to re-renders  
							
							
							
						 
						
							8 years ago  
				
					
						
							
							
								 
						
							
							
								087dd0f758 
								
									
								
							
								 
							
						 
						
							
							
								
								Support for iOS theme  
							
							
							
						 
						
							8 years ago  
				
					
						
							
							
								 
						
							
							
								fc330ef854 
								
									
								
							
								 
							
						 
						
							
							
								
								Quote loading: Check for in-memory message until we get one  
							
							
							
						 
						
							8 years ago  
				
					
						
							
							
								 
						
							
							
								0f8dd7e2db 
								
									
								
							
								 
							
						 
						
							
							
								
								Fix a number of lint failures  
							
							
							
						 
						
							8 years ago  
				
					
						
							
							
								 
						
							
							
								1cc0633786 
								
									
								
							
								 
							
						 
						
							
							
								
								Full support for quotations in Android theme  
							
							
							
						 
						
							8 years ago  
				
					
						
							
							
								 
						
							
							
								5602241a0c 
								
									
								
							
								 
							
						 
						
							
							
								
								Eliminate eslint-generated triple-parents  
							
							
							
						 
						
							8 years ago  
				
					
						
							
							
								 
						
							
							
								5c2936bdd6 
								
									
								
							
								 
							
						 
						
							
							
								
								Turns out that we call validateNumber() on group conversations!  
							
							
							
						 
						
							8 years ago  
				
					
						
							
							
								 
						
							
							
								e99192dca7 
								
									
								
							
								 
							
						 
						
							
							
								
								Unleash eslint on models/messages.js  
							
							... 
							
							
							
							Fun fact: eslint was not running on this file, despite the eslint
directives previously in the file! 
							
						 
						
							8 years ago  
				
					
						
							
							
								 
						
							
							
								33ef967dd7 
								
									
								
							
								 
							
						 
						
							
							
								
								Unleash eslint on models/conversations.js  
							
							
							
						 
						
							8 years ago