* Upgrade to RN 0.63
* Bump to RN 0.63.1
* Fix RN patch
* Use JSC Intl version
* Update android/app/build.gradle
Co-authored-by: Miguel Alatzar <migbot@users.noreply.github.com>
* Fix Android external storage permission
* Fix emoji imageUrl when no server url is present
* Patch react-native-image-picker
* Allow to post attachment only messages
Co-authored-by: Miguel Alatzar <migbot@users.noreply.github.com>
* Initial Commit for Group Highlights
* Fix some stuff
* Get my groups
* update channel.js
* Address PR comments
* Address PR comments
* Update app/actions/views/channel.js
Co-authored-by: Miguel Alatzar <migbot@users.noreply.github.com>
* update selector stuff
Co-authored-by: Miguel Alatzar <migbot@users.noreply.github.com>
* Show Confirmation Dialogue WIP First Commit
Show Confirmation Dialogue WIP Second Commit
refactoring according to comments
refactor code according to comments
Fix linting problems
add i18n strings
Update regex pattern
add test and make fixes
fix message not submitting
Fix linting
fix index.js
fix conflicts
address PR comments
address PR comments
single dispatch
Address PR comments
add test
* Show Confirmation Dialogue WIP First Commit
Show Confirmation Dialogue WIP Second Commit
refactoring according to comments
refactor code according to comments
Fix linting problems
add i18n strings
Update regex pattern
add test and make fixes
fix message not submitting
Fix linting
fix index.js
fix conflicts
address PR comments
address PR comments
single dispatch
Address PR comments
add test
* make some changes
* fix test failures
* Address PR comments
* Update app/mm-redux/types/channels.ts
Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
* Update app/mm-redux/selectors/entities/channels.ts
Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
* Update app/mm-redux/selectors/entities/channels.test.js
Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
* Update app/constants/autocomplete.js
Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
* Address PR comments
* make group mention mapping its own function
* Address PR comments
* Update app/components/post_draft/post_draft.js
Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
* Merge branch 'master' of https://github.com/mattermost/mattermost-mobile into MM-23785-ShowConfirmationDialogue-2
* Merge branch 'master' into MM-23785-ShowConfirmationDialogue-2
* Address MM-26987
* Retrieve group information on mount RN: Group Mention confirmation prompt not shown on default channel load
* Update Regex to fix MM-26976
Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
* MM-22029 clear the text input as soon as possible
* Apply suggestions from code review
Co-authored-by: Miguel Alatzar <migbot@users.noreply.github.com>
Co-authored-by: Miguel Alatzar <migbot@users.noreply.github.com>
* 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.
* Remove redux-offline and configure redux-persist
* Fix typo
* Fix configure store
* Upgrade to redux-persist 6.0.0
* Add migration from redux-persist v4 to v6
* Replace AsyncStorage with MMKVStorage to boost storage speed
* Mock RNFastStorage
* Fix reactions test
* Fix clearing the store on logout
* Remove the need for LOGOUT_SUCCESS
* No need to pass persistConfig to middlewares()
* Remove unused imports
* Export connection
Accidentally removed this export.
* Add batch action name
Co-Authored-By: Elias Nahum <nahumhbl@gmail.com>
* Add batch action name
Co-Authored-By: Elias Nahum <nahumhbl@gmail.com>
* Add batch action name
Co-Authored-By: Elias Nahum <nahumhbl@gmail.com>
* Add batch action name
Co-Authored-By: Elias Nahum <nahumhbl@gmail.com>
* Fix delete post
* Fix leave channel
Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
* Add nickname search functionality
* Add username property to test
* Fix parentheses out of place
* Add nickname property to additional tests
* Added ability to truncate long names
* Minor clean up
* More minor clean up
* WIP: Implementing quick reaction functionality
* Making closing animations smoother
- Added haptic feedback + timeouts for a smooth flow
* Fixing clipping of post options on android
* updating snapshots
* Refactoring code & fixing styles
- Fixed paddings element sizes to comply with design specs
- Replaced reaction image to one with a higher resolution
- Made sizes of emojis to be conditional on deviceWidth
* Apply suggestions from code review
* Adding component to avoid extra re-renders
* Refactoring function call in reaction_button
Am ashamed i didn't catch this before pushing the rest
Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
* Port WebSocket from mm-redux and batch actions
* Update mm-redux and fix tests
* Change action name
* Naming batch actions
* Fix unit tests
* Dispatch connection change only if its different
* Remove comment
* Add Lint to TypeScript and fix linting errors
* Add WebSocket Unit Tests
* Revert from unwanted RN 0.62
* Initiated basic migration to react-native-elements
- Search bar receives all right props without custom animations being necessary
- Need to test on different layouts and cases
- May be possible to unify android and iOS components. Attempt later
* Removing separated android/ios files
- Adding implementation of android searchbar
- updating test snapshots
* WIP: Integrating leftComponent and adding focus animations
* Adding animations to left component on focus and blur events
* Removing repeated styles and useless props
* Updating snapshots
* Ensuring clearIcon renders when tapping search suggestions
- Also makes sure it prioritizes custom color attributes over default values for the search input
* Refactoring styles, removing clear icon animations
- Also removed useless ternary operations since the library itself already checks whether the search input is empty
* Replacing icon components with props whenever possible
- Removing useless styles
* memoizing styles, adding default props/values
* Memoize searchBarStyle with params
* Fixing backgroundColor
* Removing minWidth for cancel button
* Fixing styling issues on both iOS and android
* Updating snapshots post merge
* Making sure showCancel can be controlled by props
* Updating snapshots
* Fix clipped edges on iOS & cancel icon on Android
* Fixed radius, memoized styles
* Fixing styling issues found on Android
Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
Unify usage to one set of defined dispatch actions in codebase, instead of a mix of (almost) identical actions defined in `mattermost-mobile` and `mattermost-redux` .
* Upgrade Navigation library
* Fix background color on Select Server
* Upgrade Navigation library
* Apply patch to nav lib
* Upgrade RNN to 6.1.1
* Update Dependencies
* Feedback review
* Call clearNavigationComponents when reset to channel
* PostList optimizations on FlatList
* Stop scroll to index if there is an interaction
* Fix unit tests
* MM-23176 Fix crash due to scrollToIndex out of range
* Batch mark channel as read action
* Fine tune post list
* Batch actions for getting posts
* Update app/utils/push_notifications.js
Co-Authored-By: Miguel Alatzar <migbot@users.noreply.github.com>
* Update app/actions/views/channel.js
Co-Authored-By: Miguel Alatzar <migbot@users.noreply.github.com>
* Pass state as arg to markAsViewedAndReadBatch
Co-authored-by: Miguel Alatzar <migbot@users.noreply.github.com>
* MM-22622 Check mentionHighlightsDisabled in markdown
* MM-22622 Use array of mentions instead of long conditional
* MM-22622 Disable Channel mention highlight for channel header change messages
* MM-22622 Update tests to ensure mention highlight disabled on system message