* Added CommonMark-based post rendering
* Fixed text wrapping in most block elements
* Fixed paragraphs not being rendered as children of lists
* Replaced markdown images with a placeholder
* Fixed font colour in code spans
* 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
* PLT-5604 Add/Remove members from pubic channels doesn't match the webapp functionality
* Review feedback
* Fix spelling of ChannelMembersTitle
* Use selector to consolidate auth logic for channel member mgmt
* Fix placement of new messages separator
* Ignore your own posts when determining start of new messages
* Cache lastViewedAt in ChannelPostList until switching channels
* Increase padding around DateHeader & NewMessagesDivider
* Improve styling of new messages divider line
* Use async await for ChannelDrawerList.onSelectChannel
* Convert DateHeader to functional component
* Indicate start of new messages in posts list
* Use flag prop to indicate start of new messages in posts list
* Declare style props with View.propTypes.style
* 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
* Channel Add Members
Add ability to select rows
Change member list to accept datasource instead of manage it’s own
Add navbar button
Add alert for empty member selection
Add batched method to send to server
* Feedback changes