* Add more messages button
* Update existing tests
* Various fixes:
* Use viewAreaCoveragePercentThreshold over itemVisiblePercentThreshold
* Remove currentUserId check when adding New Message line to postIds and
instead update the channel last viewed time when an own post is received
* Update snapshots
* Add showMoreMessagesButton prop and default to false
* Android fixes
* Add tests
* Localize more messages text
* Use FormattedText
* i18 extract
* Style fixes
* Account for network indicator
* Fix for failing tests
* Various fixes:
* Set the unreadMessageCount when POST_UNREAD_SUCCESS is dispatched
with a positive deltaMsgs
* Hide the more messages button when the unread count decreases or
when the new message line is removed shortly after loading the
channel
* No need for POST_UNREAD_SUCCESS if we manually call onViewableItemsChanged
* Reset unread count if current channel on channel mount
* Animate text opacity
* Compare indeces to determine when scrolling has ended
* Fix opacity animation trigger
* try with scrolling to the last rendered item
* Add onScrollEndIndex
* Improve animations
* Don't track moreCount in state
* Use moreText over prevNewMessageLineIndex to determine firstPage
* Update intl message format and call cancel in componentDidUpdate when needed
* Fix intl format
* Remove opacity animation and countText
* Fix pressed not being reset
* No need to separate intl func
* Return after resetting
* Fix accidental removal of setState call
* Reset pressed when newLineMessageIndex changes
* Use default windowSize and lower POST_CHUNK_SIZE and delays
* Queue a cancel timer that gets cleared only when the newMessageLineIndex changes
* Define uncancel func
* Increase cancelTimer delay
* Subtract read posts from unread count and account for retry indicator
* Add retry bar indicator tests
* Use props.unreadCount
* Fix handling of newMessageLineIndex change
* Fix handling of newMessageLineIndex change take 2
* Fix handling of newMessageLineIndex change take 3
* Use 'native' TouchableWithFeedback with dark overlay
* Fix handling of manually unread
* Update chunk and window sizes
* Fix hsl
* Update text only when newMessageLineIndex/endIndex is reached
* Don't delay cancel if when no more unreads
* Fixes for when opening the app
* No need to process viewableItems when unreadCount is 0
* Remove line
* Don't show if unreadCount is 0
Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
* Changing other user profiles to be shown as modals
- Removed unnecessary props
- Updated user_profile unit tests
- Removed useless Platform.select call on channel_base
* Changed at_mention, channel_intro, and reaction_row profiles to modal
* [MM-18766] removed deprecated lifecycle methods from post components
* [MM-18766] update snapshot, seems like there was a bug
* [MM-18766] refactor getBestImageUrl -> getBestImageUrlAndDimensions
- refactor getBestImageUrl to take a single argument: props
- refactor getViewPostWidth to take a single argument: props
* [MM-18766] getDerivedStateFromProps was previously returning only first prop change
- fix issue if multiple props were modified at once.
* [MM-18766] removed FastImage.preload that was supposed to be removed in the last merge.
* [MM-18766] removed getDerivedStateFromProps
* [MM-18766] fix tests based on actual component being completely re-rendered rather than prop change.
* [MM-18766] cleaning up initial changes due to no longer using getDerivedStateFromProps method
- move back getBestImageUrl and getViewPostWidth from outside of components
- keep the renaming of getBestImageUrl
- remove the use of spread operator as it is also no longer needed
* [MM-18766] one of caller to getViewPostWidth is still passing this.props
- this is no longer needed
* Opening screens as 'pageSheet' for iOS
* Added pagesheet on more screens
- Search
- Edit Profile
- Recent Mentions
- FlaggedPosts
* Close sidebar when tapping new channel `+` icon
* Update search modal test to expect `pageSheet`
* Fixing search screen
* Making sure padding fix only applies to iOS
* Adjusting padding & height values for searchbar
* Adjusting padding & height values for searchbar (2)
* Changed default iOS modal to be pageSheet
* Fix test that failed due to changes in modal behavior
* Removing useless params from openModal function
* MM-21368 Notify user when editing message that's too long
* Disable 'Save' button to prevent edits from being posted
* Display error message specific to the message size and allows max, instead of the current, default "Invalid Message" error.
* Split message length error into text (left justified) and counts (right justified)
UX guidance from PR review
* UX Review: Wrap for longer error text + spacing adjustment
* UX Review: Align split messages to top + add spacing in-between
* UX Review: Align error message box padding with content
Currently, at-mention and search autocomplete do not render if there is a server request or network problem/outage, because the only data used to populate autocomplete results is a server request.
Now, these autocompletes will render initially with user data currently in store, and then re-rendered in place, once the server response completes.
Picking a new date string (tapping a date on the autocomplete calendar) to replace an already populated date string in the search bar, leaves the search text garbled. This was because of incorrect handling of the tap cursor position in the search box.
* Fix infinite skeleton in different use cases
* Apply suggestions from code review
Co-authored-by: Miguel Alatzar <migbot@users.noreply.github.com>
* Update app/utils/teams.js
Co-authored-by: Miguel Alatzar <migbot@users.noreply.github.com>
* MM-24891 Allow permissions to have defaults set in case where roles not in state
* MM-24891 Add tests for haveIPermission
* MM-24891 Apply the defaults to more channel permission checks
Fixes crash on Android when attempting to redirect back to a read-only channel (default channel) after using the `/leave` command.
Also, enables official support of `leave` slash command. Added as auto-complete suggestion.
* Enable ESLint no-unused-vars
* Use FastImage instead of Image
* Update fast-image patch to support multiple cookies
* Fix ESLint errors
* Have jest run timers for post_textbox tests
* Feedback review
* Update snapshots
* Fix infinite loop retrieving post files
Right now if all the attachments of a post are removed the component
update code enters into an infinite loop because the comparison between
arrays always return false.