* Add set status feature
Small code refactoring
Add Do Not Disturb option
* Add Account Settings screen
Add username, nicname, and position fields
Add email field
get deviceHeight from redux
Clean up onPress handler in Settings
Refactor each account settings item to it's own component
Clean up email field and updateUser action method
Use mobile localization format in en.json
Update profile image
Clean up ProfilePicture for editing
Add loading and error components in AccountSettings
Refactor updateRequest state into a function
Follow design specs
Remove unnecessary this.state.emailUpdated
Polish AccountSettings and secondary components
Refactor AttachmentButton into it's own componentg
Add Account Settings icon in General Settings
Add TODO comments
* Update user status
* Edit Profile screen refactored
* Fix edit profile item text color
* Enforce max file count and wait until all images finish loading
Replaced Text with FormattedText
Remove unnecessary Text import
Clean up post_textbox and file_upload_preview
* Fix localization string for mobile
* change MAX_IMAGE_COUNT to MAX_FILE_COUNT
* RN-469 Added the ability to cancel a ping when on the select server screen
* RN-369 Added i18n strings for new button
* Made sure config and license are downloaded before moving to login screen
* Have SelectServer screen still show connecting while waiting for config
* Don't show SelectServer screen as connected if an error occurs
* Add Channel Info Edit options to ChannelInfo screen
Refactor CreateChannel to CreateChannel and ChannelInfo
Add EditChannel screen
add updateChannelRequest
display header option only if channel is DM or GM
Add editing prop to ChannelInfo
Add saving state to ChannelInfo
Clean up EditChannel and change saving to updating
Add channel name (url) field in EditChannel
Clean up enableRightButton logic for EditChannel
Add error handling for EditChannel fields
Remove leftButton declaration from EditChannel
Add wrapWithPreventDoubleTap to click handlers in ChannelInfo
Move channel info to parent component (CreateChannel)
Add editing support for channel info in parent component
Remove ownProps from connected components
Remove passing parent props using the spread operator
* Strip out channel url field from EditChannel
* Comment out channelUrl textInput ref
Make eslint happy
* Remove injectIntl in favor of intl context props
* Add mobile prefix to json string
* Remove unnecessary actions declaration in ChannelInfo
* Refactor creating | editing to saving
* Safe check refs when blurring in ChannelInfo
* pass channelType for displayingHeaderOnly in EditChannelInfo
* Refactor ChannelInfo component to EditChannelInfo
* pass 1to1 props instead of object
* Add required to certain props in EditChannelInfo
* Use Stylesheet for container styles
* Add InvalidPermission method when updating channel
* Clean up onDisplayNameChangeText and safe check scrollToEnd
* Add {deviceWidth, deviceHeight} from redux
* Remove style.navTitle
* Add wrapper methods for delete and leave channel
* remove alertErrorIfInvalidPermissions
* Fix mobile localization strings to use prefix mobile.-
* Add TODO for channel URL
* RN-173 Added support for Markdown images
* RN-173 Added proper alt text when image fails to load
* Changed (edited) indicator not add itself as a child of an image
* RN-173 Removed space between an image and the following text
* Made sure MarkdownImage is mounted when setState is called
* Fixed images in links having their location overwritten
* Made images work in links
* Fixed uppercase links not working on Android
* Added vertical margin around images
* RN-173 Added styling for markdown image error text
* RN-173 Added error when image exceeds max dimensions on Android
* Add recently used section and section icons
* Improve section scrolling indication
* Modify Makefile and use onMomentumScrollEnd
* Make sure top section maintains highlight when scrolled to top
* Sort emojis by startsWith then includes when filtering
* Config to enable when clicking on username to fill input with @mention
* Rename to experimental and move tenary from componet to variable
* Use getCurrentChannelId in insertToPostDraft action
* Change to work with rebase
* Refactor thread reducer and blacklist currentThreadId
* Review feedback
* Review feedback 2
* White label about modal. Move strings to config.
* Refactor styling and add powered by Mattermost
* Review feedback
* Use full bundle ids for about modal check
* RN-73 Fixed code block text colour being incorrect (#868)
* RN-220 Add "in:" and "from:" search modifiers (#869)
* Fix search and search preview
* Add "in:" and "from:" search modifiers
* Version Bump to 49 (#875)
* Version Bump to 49 (#876)
* Update minimum server version (#878)
* translations PR 20170905 (#882)
* Added JS code for Sentry
* Removed leftover initializeSentry call
* Added SentryOptions config setting
* Added native components for react-native-exception-handler
* Removed default props from ErrorText
* Moved where Sentry is initialized
* Added ios/sentry.properties to .gitignore
* Added linking react-native-sentry to Fastlane
* Fixed fastlane to include newlines in sentry.properties
* Moved to manually link react-native-sentry
* Captured redux errors with Sentry
* Redid how Sentry is optionally compiled to be simpler
* Added Sentry middleware to create redux breadcrumbs
* Added Sentry tags for server version
* Initialize Sentry when testing
* Fixed string replacement for SentryEnabled in fastlane
* Added react-native-sentry to NOTICE.txt
* RN-152 Added ability to open group messages from MoreDirectMessages
* Refactored row components for CustomList
* Added CustomSectionList component to mirror CustomList
* Added control to display all selected users in More DMs list
* Updated title of More DMs modal
* Updated yarn.lock
* Fixed channel name not being set when creating GM channel
* Fixed error on Android
* Fix offline indicator UI
* Add search screen with recent mentions functionality
* Fix make start
* Add autocomplete to the search box
* Fix search bar in other screens
* Get search results and scroll the list
* Add reply arrow to search result posts
* Search result preview and jump to channel
* Feedback review
* RN-166 follow user prefs for join/leave messages
* RN-158 Fix Android input textbox offscreen issue
* RN-181 Use device locale as default locale
* Upgrade mattermost-redux
* Fix TouchableHighlight in the channel drawer items
* Update channel title when switching channels
* Fix channel name title when switching teams
* Fix unit test
* Fix bad merge for navigation modal
* Fix modal props for options and image preview
* PLT-5721 Show Group Messages and correct channel info
* Set fixed commit on mattermost-redux
* address feedback
* WIP Global error handler
Adding components
Adding actions
* Add general errors where errors are caught
* Filter out non displayable errors
* Initial setup to email errors
* Add current user/team to error email
* Fix a few lints
* Ensure errors are cleared when reporting a problem
* Add clear all and internationalization
* Fix trailing comma issue
* fix lints
* Use Formatted Text component
* Move error list out of channel
* Add mobile prefix to i18n id for connection error
* Set shouldRender to true in RightMenuDrawerItem.defaultProps
* Update component name for RightMenuDrawerItem
* Clean up propTypes in RightMenuDrawerItem
* Clean up styles in RightMenuDrawerItem
* Use selector to filter displayable errors
* Clarify code for constructing wrapper style in ErrorList
* Avoid indenting email body for error report
* Remove extraneous params from errors actions
* Rename action type for logging errors
* Rename action for logging errors
* Set shouldRender to true in RightMenuDrawerItem.defaultProps
* Make logged errors displayable by default
* Don't log error when websocket connection is closed
* Hide button to dismiss all errors if ShowErrorsList isn't enabled
* Display only last error in alert bar when ShowErrorsList is disabled
* Add error logging where missing in actions
* Always show button to report problem
* Only include errors in report problem email if any have been logged
* Clarify subject of report problem email
* Set ShowErrorsList to false in default config.json
* Remove unused component + translation for connection errors
* Capture entire error object not just message
* Display fallback if error.message is blank
* Log errors in login actions
* Fix construction of errors email body
* Group addDatesToPostList options into object
* Clean up imports in PostList
* Dry up code for adding dates to posts in PostList
* Allow user to load more posts in channel post list
* Load more posts upon scrolling to end instead of with button
* Wait for initial posts to be loaded before loading more
* Return data in getPosts actions
* Check how many posts were fetched to determine if there are more
* Insert load-more-posts into list in PostList not post_utils.js
* Rename component for LoadMorePosts
* Use LoadMorePosts to indicate if more posts are loading
* Only try to load more posts if initial posts have been loaded
* Don’t show LoadMorePosts if posts list is empty
* Don’t try to load more posts if first post has been loaded
* Don’t show LoadMorePosts if first post has been loaded
* Set hasFirstPost in willReceiveProps of PostList
* Use constant for load-more-posts token string
* Only show LoadMorePosts if pagination is enabled on PostList
* Fix logic for determining if posts loaded in PostList
* Ensure PostList ListView rerenders
* Move load more posts logic into ChannelPostList
* Remove unused getTheme from ChannelPostList container
* Avoid clever variable assignment in LoadMorePosts
* Add icons for file types
* Compress image files for file type icons
* Add constants for file types
* Add utils for file metadata
* Add actions & reducers for fetching file attachments
* Render file attachments in posts
* Add reducers for handling files requests
* Refactor getFileType in file utils
* Refactor getFileIconPath in file utils
* Refactor getFormattedFileSize in file utils
* Trim trailing whitespace in getTruncatedFilename
* Style file attachment metadata
* Remove entity store reducer for files fetch failure
* Change filesForPost to fileIdsForPost in files store
* Use a selector for getFilesForPost
* Memoize getFilesForPost selector
* Dispatch postId with getFilesForPost
* Add test for getFilesForPost
* Upload seed file in getFilesForPost test
* Display correct icon for image attachments
* Fix reducers for receiving files for post
Expect response data to be array not object
* Style attachment post
* Merge headers (defaults + opts) in Client.doFetch
* Upload file as FormData
* Use form-data lib instead of built-in polyfill
* Associate file with post in getFilesForPost test
* Improve assertions in getFilesForPost test
* Check for createPost failure in getFilesForPost test
* Use correct post id in getFilesForPost test
* Use client not action to create post in getFilesForPost test
* Fix file upload in getFilesForPost test
* Add assertion for name of uploaded file
* Update attachment post style
* Fix spelling of loadFilesForPostIfNecessary
* Remove eslint-disable no-magic-numbers from file_utils.js
* Remove unused index prop from FileAttachment
* Clarify code for merging headers in Client.getOptions
* Dynamically truncate file attachment names
* Extract component for FileAttachmentIcon
* Use white bg for FileAttachmentIcon to match webapp styles
* Match webapp styles for file attachment borders
* Move file icon path lookup to FileAttachmentIcon
* Use more logical ordering for file type lookup
* Initial setup to delete channels
* Combine leave and delete
* Working delete when removing the current channel id delete
* Initial working delete with handling web sockets
* Move go back out of component
* Refactor alert function and handle after leave navigation
* Remove promise then
* Allow channel membership to default to empty object
* Ensure that channel is present to avoid method on undefined
* Remove view channel delete action
* Remove unused type
* Setup for leaving a channel (does not include navigating once successfully leaving)
* Initial setup to navigate from leaving a channel
* Conditionally render leave channel row based on default channel
* Use setInitial from inside the action
* Refactor navigating after leave
* Ensure that channel is not DM
* Rename to shouldRender
* Updated post rendering in center channel to include dates, display names, themeing, profile pictures, and threads
* Added status to ProfilePicture component
* Changed MemberListRow to use a ProfilePicture
* Removed unused prop
* Fixed incorrect copyright year on new file
* Removed unnecessary ref
* modal options and channel long press
* PureComponent optimization (#183)
* Bug fix when leaving the current channel
* Rebased with new navigation
* Add disabled drawer to unit test
* re-organize modal up in the stack and controlled by redux
* renaming modalOptions to optionsModal