Visual changes:
- New colors and message bubbles
- Unified theme
- Video playback updates
- Disappearing messages can now be enabled without first turning them on with a '1 day' duration
- The status of the last conversation message (if outgoing) is now shown in the left pane
- One-click access for replying to message
Media Gallery:
- Fixed: Wrong attachment would be saved from lightbox after left/right navigation
- Better handling of videos - thumbnail of video is now used
- Dark theme honored in all UI elements
- Icons shown for all if no thumbnail is available
Begin SQLCipher migration. First stage: all messages and temporary message cache.
Fixed: When returning from idle, a conversation would sometimes be missing a set of messages
Fixed: When marking safety number as verified/not verified, that state would not sync to mobile device
Fixed: Deleting conversations with a large history would sometimes fail
Fixed: Sometimes triple-dot menu for replying to message would show up off-screen
Fixed: In some cases, messages would show up out of order. This should now be far less common.
Update localization strings
Dev:
- New version 8 schema for messages: thumbnails and dimensions from image and video attachments, as well as a full-size video screenshot for use in conversation view
- Much of the application has been moved to React
- Dark theme rewritten from scratch
- New CSS is now using Block Element Modifier syntax (BEM) for info: http://getbem.com/
- JSHint removed from project; ESLint now scans entire project
- _locales/en/messages.json is now included in jsprettier runs
- All backbone-related functionality removed from Style Guide
- Ensure set of Linux dev dependencies is complete in Contributing.md
- Introduce mandatory migration on startup, to minimum version 7
- Preserve migration state when deleting config due to failed login
- Conversation: store lastMessage/lastMessageStatus in memory only
- Moved to using window.log only for all browser-context logging, with new eslint rule to prevent direct use of console.log
- Full eslintification of files in libtextsecure to take advantage of new console.log rule
- Removed unnecessary and too-verbose console logging
- When making thumbnail for video attachment to be sent, we generate a 100x100 preview instead of taking a full screenshot of the video