* 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
* 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
* Moved ChannelDrawer into its own scene
* Moved RightSideMenu to a separate route
* Moved title back above scenes
* Moved right side menu into a separate scene
* Reorganized navigation so that it centers around ChannelView when logged in
* Stopped using NavigationExperimental to manage drawers
* Fixed copyright date
* Added unit tests for navigation drawers
* Renamed RightSideMenu to RightMenuDrawer
* Removed unnecessary ChannelDrawer style
* Channel list drawer
* Get channels by category
* Fix and connect websocket
* Fix Select first team using the team members
* create loadMe and fix login actions to loads the teams
* Add android back button handler for the channel drawer
* Channel drawer styling and functionality
* Mark channel as viewed and fixed reset unread counts
* Unread above/below indicators
* Improve performance replacing ScrollView with ListView
* Fix unread indicators
* Addressing review feedback
* Added selectChannel action
* Fixed selected team not being cleared on logout
* Fixed posts and postsByChannel not being initialized correctly
* Added basic post rendering
* Renamed selectors files to be plural
* Removed empty file
* Fixed unit tests after merge
* Removing unnecessary code
* Removed react-native-router-flux and replaced it with custom navigation
* Split Logout component to have a container
* Replaced RootContainer with RootLayout
* Removed lodash from package.json
* Removed unnecessary state from Logout component
* Added placeholder for RHS search
* Renamed routes to scenes and moved some logic to there
* Added Root route to handle any initialization on app load
* Added unit tests for navigation reducer
* Fixed eslint errors
* Removed commented out code from Router
* Renamed Channel route to ChannelView to avoid confusion
* Used a separate index.js for component containers
* Simplified mapStateToProps for RootLayoutContainer
* Removed file accidentally added in merge conflict
* Moved SelectServer view state into store
* Moved view state for Login to stores
* Renamed RequestStatus values
* Merged duplicated view state for login
* initial redux store
* Fix eslint
* user store and force logout when necessary
* channel store
* address feedback
* Revert naming the property of data
* Removed mocking from client tests
* Updated Client tests to remove Client.setTeamId
* Fixed actions/general.test.js
* Updated test/reducer/channel.test.js for the updated store structure
* Commented out general reducer tests until the store structure is more finalized
* Properly used the team ID when creating a channel
* WIP
* Remove session token after logout.
* Add logout reducer test
* Pop stack to login
* Use newProps and doFetchWithResponse
* Setup the reducers to clear the store
* Made sanity tests run without an internet connection
* Removed onRequest parameter from Client methods
* Switched client.js to fully use Promises
* Fix mock response for login
* Fixed test_helper.js to actually use the configured url
* WIP-working-routes
* Fix imports
* WIP
* Remove unused proptypes & imports from SelectTeam
* Appease eslint
* Disable non-applicable eslint rules in routes & styles
* Change endpoint for fetching teams
* Handle failure to fetch teams
* Fix proptypes in ErrorText
* Add action for selecting team
* Allow user to select a channel
* Save exact versions of npm packages
* Add lodash
* Fetch teams for user to select from
* Don't require onProceed prop on SelectServer
* Abstract out the api logic from actions
* Handle fetch implementation discrepancy when parsing headers
* Remove example components
* Appease eslint
* Fix disabling of fetch-mock
* Remove response headers parsing hack
* Set mock fetch flag in config.json