* MM-28688 Close sidebar when current channel is selected
* Update snapshot
* Apply suggestions from code review
Co-authored-by: Joseph Baylon <joseph.baylon@mattermost.com>
* Fix iOS select_channel e2e and feedback review
Co-authored-by: Joseph Baylon <joseph.baylon@mattermost.com>
* MM-28336 Align hamburger menu badges
* Fix Fastlane and CI artifacts for PR's
* Fastlane to post to QA build channel
* Fix plist.erb template
* Fix variable type
* Use AppGroupId from Info.plists instead of hardcoded constant
* Update script, ci & Makefile
* Update Cocoapods to 1.9.3
* Split android builds using ABI filters
* Update Fastlane deps & build scripts
* Update CI to use latests scripts
* Display app version & build number in select server screen
* Make generate scripts compatible with node < 12
* Build scripts
* add build script to package.json
* Update to use bundler 2.1.4 and CI with Xcode 12
* Fix script name for build:ios-unsigned
* Fix RN iOS scripts
* Update CI pods-dependencies step
* Add pipefail to android executor
* Update Fastlane
* Fix type in postinstall script
* update android executor and set TERM
* Fix S3 bucket name variable
* Apply suggestions from code review
Co-authored-by: Miguel Alatzar <migbot@users.noreply.github.com>
* Fix master unit tests
* use requireActual in jest setup
* Jest setup to use react instead of React
Co-authored-by: Miguel Alatzar <migbot@users.noreply.github.com>
* Automate MM-T3187
* Update the snapshots. Applied channel_item_display_name suggestion. Add verification for channels_list (to prove the testID works).
* Update testID. Move test to a new file under smoke test.
* Revert message_posting.e2e.js
* Applied suggestion from code review.
* Update detox/e2e/test/smoke_test/channels.e2e.js
Apply Saturnino's suggestion
Co-authored-by: Saturnino Abril <saturnino.abril@gmail.com>
Co-authored-by: Saturnino Abril <saturnino.abril@gmail.com>
* WIP: slash suggestion autocomplete
* WIP: patched styles a bit
* WIP: Adding styles
* Adding active state to autocomplete items
* Fixing style for channel mention item
* Fixing bugs + styling issues for Android
* Updating snapshot
* Fixing autocomplete to render on top of post draft
- Misc style fixes
* Renaming props, patching slash suggestion icon
* Fixing tests and lint errors
* Resolving post-merge issue with slash commands
* Fixing android positioning for autocomplete
* Fixing autocomplete not scrolling in edit_channel_info
* WIP: Fixing things according to UX Review
* UX Fixes to autocomplete
* Updating snapshots
* Updating snapshots, replacing slash-command icons
* Fixing android scrolling and positioning issues
* Fixing issues with date_suggestion not rendering
* Making use of the "ShowFullName" config in at_mention_item
* Removing top border on first autocomplete section
* Allowing autocomplete to be smaller than its maxWidth
* Fixing slash_suggestion padding
* removing "componentWillReceiveProps" from date_suggestion
* Changing edit_channel_info autocomplete offset
* Replacing toUpperCase() with textTransform: uppercase
* Fixing odd border issues + prop validation warning
* Restore section header background & add paddingBottom
* Patching up padding on channel mentions
- Reverting previous incorrect padding adjustments
* Removing inline 'completeSuggestion' function
* Removing brackets from style prop
* Add accessibility to channel header - search & more options buttons
* Add unit tests for channel_nav_bar accessibility
* Update snapshot for settings_drawer_button.js
* initial Detox setup for mobile UI automation
* fix iOS allow permission on opening the app, add npm script to root folder, fix test when using longer site URL and add detox dependency to root for android build dependency
* remove detox proguardFile
* update packages and emulator
* change folder build on local and CI
* add test to post a message, ability to have test in isolation, server API commands, server config, dependency updates and update folder structure
* update snapshot
* update detox and do clean up
* update dependencies
* updates to bage UI
* fixed spacing
* updated tests with npm test command
* fixed badge theme colors
* updated badge width to deal with larger mention counts
* updated tests
* fixed sizing issue
* fixed sizing issue & moved maxWidth to Badge layout
* added constants for badge maxWidth & adjusted badge position
* adjusted top position for badge on burger menu
* fixed last issue for max mentions positioning on burger menu badge
* GH-13222: Shows an alert when you are removed from the channel that you are currently viewing
* GH-13222: Removed channel alert improved text
Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
* Refactor post draft component
Re-styled ReadOnly channels
Remove filename from upload error
* Update canSubmit based on file attachment changes
* Fix error message for max file size
* Fix select autocomplete values on iOS
* Style readonly and refactor accessory view for iOS
* Make PostDraft scrollViewNativeID prop not required
* Update ReadOnly to have a background with 0.40 opacity
* Update max file size error message
* Fix shift+enter with HW keyboard
* 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>
* MM-26749 Fix race condition when open from PN
* setStartFromNotification earlier
* Fix Android race condition when closing the app with the back button
* 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-24328: Show Press again to exit toast when back button on Channel screeen is pressed.
* Fix feedbacks.
* Handle back press only for the Channel screen.
* MM-24328: Add a back press handler to share activity.
* Update the toast message as Press back again to exit.
* 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
* 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>
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.
* MM-24061 Bring back channel sidebar hamburger icon for tablets
* Remove channel sidebar icon for iPads
iPads run with a "persistent" sidebar already.
* Better conditional logic from PR review + tests
* Test tidying from PR review
* MM-22089 set default prevent double tap to 1s
* Increase tap debounce delay for ChannelInfo modal action
Co-authored-by: Amit Uttam <changingrainbows@gmail.com>
* 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>
* No need to resetToChannel on clearing data
* Don't use componentWillReceiveProps
* Dismiss all modals on iOS too
* Use centerChannelBg when channel as root
* Fix resetToChannel test
* Fix removal of loadChannels call when rebasing with master
* Add new line
* Address PR review comments
* Improve sidebar performance on first load
* Initial work for switch channel
* Revert android changes
* Split Sidebar per Platform
* Fix waitForHydration executing the callback more than once
* Fix custom emoji not showing on Android
* Finalize Channel Switch
* Enable Android Ram Bundles
* Select the right team for lastChannelForTeam
* Channel loading post indicator
* Fix main sidebar base intl provider
* Update mm-redux
* No need to request configAndLicense on launch
* Load channel member roles
* Rename closeChannelDrawer to closeMainSidebar
* do not throw errors when console is called while running tests
* constant for LOADING_POSTS_HEIGHT
* Remove show more if a long post is edited and no longer long
* Update mm-redux#batch-actions branch
* Code review
* Clear notifications if channel was switched
* Import Platform
Co-authored-by: Miguel Alatzar <migbot@users.noreply.github.com>
Re-renders were occuring because of prop and state updates that created new object references, despite being of identical value. A key culprit was `postListHeight` in `PostList` which goes through a few calls to `handleContentSizeChange` when loading posts.
Also, "New Messages" divider line is a pure component now (via `memo`) to reduce unnecessary re-renders here too.
Introduced large number of unnecessary re-renders when opening channels, and ideally should not be a part of the channel switching/opening code path. Although this was discovered while trying to investigate an [Android-specific issue](https://mattermost.atlassian.net/browse/MM-22253), this extra code path made it difficult to see what Android is potentially doing differently than iOS.
Functionality originally introduced in #1203.
Conversation for removal is [here](https://community.mattermost.com/core/pl/hfcogf6pr7rw8k3ryq14c69c7e)