* MM-10273 Add hashtag support
* Put hashtag search in a proper modal
* Change hashtag search style to match regular search
* Move Hashtag component and explicitly pass props
* Add unit tests for Hashtag component
* Fix merge conflict
* Remove PixelRatio from emoji
* Fix removeSubclippedViews in emoji picker
* Add system emojis to the store handler
* Pass element to whyDidYouUpdate util
* Fix post avoidable re-renders
* Fix emoji on Android
* Feedback review
* Fix style issues with consecutive posts
* Remove commented on message for immediate comment by
same user.
* Change replyBar to be on post and not on postHeader
* Fix padding on messages
* Fix date_header spacing
* Fix snapshots
* Change renderReplyBar variable name
* MM-11198: avoid duplicate keys in date lines
Ensure each dateline rendered as part of search, recent mentions, or flagged post list has a unique key, even if the same date itself appears multiple times.
* update post_list.test.js to actually test date boundaries, relying on TZ=utc export in package.json
* unit test makePreparePostIdsForSearchPosts
* fix eslint issues
* try TZ=GMT
* encode date lines using timestamps instead
This requires a few extra changes to the post list proper, but largely
simplifies things anyway.
* Moved ChannelPostList footer out of PostList
* Fixed typo in constant
* Added debounce to loadMorePosts
* Fixed post list footer not being rerendered properly
* Wait for animation frame before initial rendering of post list
Improves startup experience.
(you can see yourself how big a difference is between booting to an empty channel and to a 'busy' channel, and since rendering post list is a heavy task, this change makes the initial UI appear sooner. In my testing it is about 0.7 seconds)
* eslint
* actually render empty screen when loading posts
* delay channel drawer actions after drawer is fully closed
* lazy render FlatList
* eslint
* eslint
* update eslint's `comma-dangle` rule to `always-multiline`
* add check and fix scripts to package.json
* Invoke `yarn fix` to adopt the updated eslint rules. No other changes are included.
* Improve scrolling to new messages
* Experimental scrollTo with measurement
* Add search support
* Review feedback
* Added comment for moreNewMessages index`
* Scroll to search result in preview
* Fix uni test
* Feedback review
* Remove listeners for mattermostManaged
* Remove specific event listeners for mattermostManaged
* Moved PostList to take a list of postIds instead of posts
* Removed usage of selectors that return posts from ChannelPostList and Thread
* Fixed search and switched to use getPostIdsAroundPost selector
* Removed use of selectors that returned posts from emoji reactions
* Updated makePreparePostIdsForPostList to be better memoized
* Fixed filter of join/leave messages
* Added unit tests for makePrepaprePostIdsForPostList
* Check if post edit/delete should be enabled more often
* Updated mattermost-redux version in yarn.lock
* Update mattermost-redux
* Tap on Deleted post to remove it
* Improvements when rendering post additional content
* Avoid unnecessary re-renders on the post list component
* Avoid unnecessary re-renders on the channel post list component
* Avoid unnecessary re-renders on the channel screen
* Feedback review
* RN-345 Only show refreshing indicator when channel is actually refreshing
* Added getCurrentLocale selector
* Added SwitchTeams component to channel drawer to reduce rerenders
* Reduced number of props passed from ChannelsList into children
* Removed unused prop from FilteredList
* Moved visible post calculation out of render function
* Don't set the channel to loading when not switching channels
* Added most of channel view state to blacklist
* Upgrade to RN 0.48.1
* Update deps to be exact
* Fix tests
* Remove unneeded code from setup and add socketcluster dep
* Fix drawer pan issue
* Fix bridge issues on iOS
* Upgrade to RN 0.48.3
* Search to use RN SectionList