* MM-21923 Enforce channel mentions permission by hiding it from autocomplete and disabling @mention confirmation modal
Add tests for post_textbox channel mentions
* MM-21923 Set use channel mentions to true if server version is not minimum required
* MM-21923 Point to specific redux hash and update permission check to be easier to read
* MM-21923 Fix currentChannel.id
* undelete
* fix build
* change let to const
* ran make i18n
* small refactor
* using canUndelete var
* added render message
* fix bug
* sync
* remove duplicate
* fix test
* add unit test for unarchive channel button render
* fix unit test for unarchive channel
* delete space
* change logic in undelete
* add server minimum for feature
* fix renderunarchive test with adding props variables
* snpashot wasnt matching. fixed by adding to base prop
* return early if false
* change position and color for unarchive button
* refactor handle delete undelete leave
* move serverversion call up
* undelete to unarchive
* remove unnecessary seperator
* hash
* Update app/screens/channel_info/index.js
Co-Authored-By: Elias Nahum <nahumhbl@gmail.com>
* delete canuseunarchive feature
* add test to render sys message
* remote 'w' in package.json
* add trailing comma
* update redux hash
* whitespace in test
Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
* Add fix to prevent emdash autocorrect in a Code Block on ios
* Add fix to prevent emdash autocorrect in a Code Block on ios
* code clean up
* separate to new switchKeyboardForCodeBlocks function
* added emdash prevention to edit_post and also code cleanup
* moved keyboardType logic to its own utils function and added unit tests
* clean up - align event argument names
* removed unnecessary event check
* 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>
* Tighten up post draft UI
* Revert "MM-15307 Updated to use InteractionManager (#3666)"
This reverts commit e08155c81b.
* Address PR review comments
* Update snapshot test
* Don't return null if no files
* Fix progress text and padding issues
* Fixes per Matt's review
* Make linter happy
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)
* Reacting to shift-enter events on iOS
* moving keyEvent logic to handleHardwareEnterPress
* configured android to work with keyEvents
* using dispatchKeyEvent instead of onKeyUp
* using react-native-hw-keyboard-event
* cleanup
* updated package name
* update package name
* using react-native-hw-keyboard-event v0.0.2
* reverted cocoapods version change
* Documentation
* fix detection of Shift-Enter on android
* simplify dispatchKeyEvent()
* fix for stacked hardware keyboard events
* Update android/app/src/main/java/com/mattermost/rnbeta/MainActivity.java
Co-Authored-By: Miguel Alatzar <migbot@users.noreply.github.com>
* simplify dispatchKeyEvent
* removed yarn.lock
* using react-native-hw-keyboard-event v0.0.4
* Using ACTION_UP instead of ACTION_DOWN
Co-authored-by: Miguel Alatzar <migbot@users.noreply.github.com>
* Sort emojis in EmojiPicker
* Pass search term to compareEmojis
* Sort emojis that include search term first
* Fix sorting
* Handle compareEmojis without search term
* Return doDefaultComparison
* Check includes only if needed
* Make linter happy
* Use doDefaultComparison
* Polishing post draft to comply with design specs
* changed maxHeight in landscape mode, fixed icon sizes
- Refactored code so that post draft icon sizes are taken from same constant value
- Set maxHeight value in landscape mode to be smaller (tests pending)
- Removed repeated styles for button wrappers (passing them down as props to child components)
- Increased size of image attachment remote icon, and increased tappable area
* Removing repeated logic for file upload
* Fixing failed snapshot tests / style checks
* Fixing file upload remove icon to have 64% opacity
* post draft UX/UI improvements
* Fix input box extra spacing
* input box line height and attachment border
* Animate to original state even if error is showing
* Fix permissions
* Improve attachment error animation
* Fix iOS post input height
* Update snapshots
* Adding base button functionality
Moving file upload previews to be under textbox
* Ensuring textbox is scrollable when in landscape mode
* Updated image picker to use mixed camera option
* Added unit tests, fixed other tests affected by dependency update
* Updated patch for react-native-image-picker to 1.1.0
* Fixing incorrect import of DocumentPicker
* MM-20989: Ensuring keyboard doesn't dismiss while submitting post (#3758)
* Ensuring keyboard doesn't dismiss while submitting post
* Update snapshot
* Preventing the @ icon from being repeatedly tappable (#3777)
* Fix snapshot from merge
* MM-21736 Select/Take images and videos for Android
* MM-21737 Fix attachment error message position on iOS
* Remove FileUploadPreview from the iOS Thread screen
* Fix android camera permissions
* Fix post input box sizing and disable scrollview
* Fix iOS photo gallery videos
Co-authored-by: Andre Vasconcelos <andre.onogoro@gmail.com>
Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
Previously, deep links would only work when the app was already open/previously launched.
Now, invoking a deep link launches the app if not already open, and opens the deep link destination.
* MM-18767 Remove deprecated lifecycle methods from post textbox
* fix current issues
* change deep equal compare to just compare, fix test
* remove redundant state initialization
* restore state
* move state from constructor
* Include current user in search
* Removed unused parameters
* Include new text in i18n
* Update autocomplete tests to include current user
* Use FormattedText
* Update app/selectors/autocomplete.test.js
Co-Authored-By: Miguel Alatzar <migbot@users.noreply.github.com>
Co-authored-by: Miguel Alatzar <migbot@users.noreply.github.com>
* MM-15307 Updated to use InteractionManager
Replaced the setTimeout with InteractionManager to resolve the delay set.
* Updated to apply animation to the input height
* Updated to apply animation to the input height
* Fixed eslint issue
* Updates per review
* Updates from feedback
* MM-17044 Load posts until no more are needed
* Improving post list tests for componentDidUpdate
Co-authored-by: mattermod <mattermod@users.noreply.github.com>
* Use post id when retrieving opengraph data from mattermost-redux
* Updated package.json with the appropriate PR for mattermost-redux
* Switch mattermost-redux back to master
* MM-18054 Fix Comment Line showing
Restructured the check for the previous post to make sure comment line does not appear for posts on same thread, but from different users.
* MM-18054 Updated after review
Updated the logic to be more bulletproof
* initial working code
* minimum changes for main sidebar working
* add settings sidebar back in
* fix visual bug with sidebar showing underneath
* fix bug for android
* cleanups
* minor cleanups and update snapshot
* add basic test
* fix style errors
* review changes
* MM-19837 Remove Opacity from AtMention Markdown
Removed the opacity that was set on the base text style for the markdown on AtMention for system messages.
* MM-19837 Updated opacity for AtMention
The baseTextStyle being used to set the opacity is used across the entire text format, so for this change where an AtMention is used, I added a new opacity to overwrite the on applied by the baseTextStyle.
* Making markdown tables more responsive
* Changing implementation of isTablet and isLandscape
* Fixing variable names & added more table styles
* Adding header backgrounds & iOS fixes
* Changing cell padding to 8
* Fixing positioning of expand table buttons
* Fixed android issues and flex render conditions
- Centered icon in expand button instead of using fixed paddings (icon was slightly off center)
- Fixed expand button rendering on android
- Separated full table view into ios / android to allow for separate styling
* Merging table back to single file
* Resolving conflicts & improving full table view
- Made the full table view scrollable through any part of the screen, as opposed to only the table area (only works on iOS)
- Resolved conflicts with PR that limits tables to 5 columns visible on channel view
- Made changes to keep behavior of tables consistent on table view
- Added logic to render "moreRight" element if table was cut in channel view
- Updated snapshot
* MM-19708 Adjusted display name width to 80% for landscape
Adjusted landscape maxWidth for both the base display of the name and the adjusted width with bot/reply buttons.
* Making less complex
* MM-19708 Reduced complexity of style code
Reduced complexity of style code
* MM-19708 Updated snapshots
* MM-19708 Updated for eslint
* MM-19834 Fixed direct mentions highlight color
Updated the AtMention to check if it will be highlighted before applying it's color. The highlight function was applying it's color before the AtMention color, so it was being overwritten.
* MM-19834 Start Unit Test
* MM-19834 Added Unit Tests
Added unit tests for the rendering of highlighted/non-highlighted displayname.
* Preview markdown table as 5x5 max
* Make linter happy
* Determine max columns from device width
* Add snapshot test
* Use Dimensions and update unit tests
* Remove async
* MM-17838 Wrap reactions when they exceed screen size
* Hide add reaction button after 40 reactions
* Hide add reaction button after 40 reactions
* Fix tests
* Fix crash when post has no reactions and convert to factory
* Create constant and use a separate prop for allowing more reactions
* Archived channels dropdown in more channels modal
* Rename redux actions for archived channels
* Fixed tests and updated snapshots
* Unit test for search in more_channels
* Use translation for dropdown label
* Minimum server requirement for dropdown
* Use BottomSheet instead of Picker component
* loadPublicAndArchivedChannels action instead of separate channel get actions
* Add styles to StyleSheet
* Update mattermost-redux hash
* Update mattermost-redux hash
* Default case for switching channels dropdown
* Improve imports in more_channels.js component
* Fix typo in import
* Add padding to dropdown if landscape
* Update snapshot
* Page counter for public and archive channels
* Updated mattermost-redux commit hash
* Bottom sheet title for ios
* i18n-extract for new showArchived and showPublic strings
* Update mattermost-redux commit hash to latest master
* MM-19037 Updated Progressive Image Loader
Set the return for the listener to return a null for hte loader images, stopping the component from thinking it had a loaded image on a failure.
Also enabled the thumbnail to make an additional attempt to load when it receives the null response.
* MM-19037 Updated Eslint
Eslint issue resolved
* MM-19037 Add Unit Tests
Added Unit tests
* empty commit
* [MM-16593] [MM-17175] [MM-17164] [MM-17189] [MM-17181] Android - Upgrade to RN 0.60 (#3145)
* Upgrade to react-native 0.60
* Use @sentry/react-native
* Manually link @sentry/react-native
* Address review comments
* Jetify after install
* Call jetify from node_modules
* Run npm install react-native-fast-image --save
* Link react-native-fast-image for Android
* Link react-native-fast-image to iOS Pod
* Replace Image with FastImage in emoji.js and remove redundant caching
* Remove duplicate sentry gradle
* Feedback review
* Remove FastImage and Sentry from the Podfile
* MM-18054 Checked for prev post comment line
Added check for prev post to stop the "Commented on" line when in same thread.
* MM-18054 Added Unit Tests
Added Unit Tests
* MM-18054 Update props
Updated the prop for isFirstReply
* [MM-10813] Design update for Post attachments
Fixes https://github.com/mattermost/mattermost-server/issues/12841
* Updated visual treatment for Post attachments (images, documents, videos)
* Grouped image attachments, expanding to fit Post width dimension
* Itemized listing of non-image attachments
* Special handling of "small" image attachments (<48 point width/height)
* Set attachment post width to max width of portrait orientation
Accounts for post display offset and extra spacing used for rendering post replies.
* Use available Post real estate: flex: 1 instead of width 100%
* Image spacing responsibility: AttachmentList -> AttachmentImage
* Fit download progress circle correctly over new attachment icons
* Layers progress circle over the icon, rather than under.
* Uses offset constant as far as possible, rather than fixed point spaces.
* Refactor props and 'more' counting for image file attachment(s)
* Implement conditional gutter between image attachments
Flex's `justifyContent: space-between` won't work in this case because of the use of `absoluteFill` and `paddingBottom: 100%` in the box placeholder for an image attachment to auto-fill *all* available flex space.
* Additional snapshots for Post file attachment scenarios
* Use new 'text' icon for text files (.txt, .rtf)
Depends on https://github.com/mattermost/mattermost-redux/pull/979
Even without the change to mattermost-redux above, text files will default to pre-existing "code" icon.
* Set file attachment icon background to theme
Default to transparent. Override if explicitly specified.
* Treat animated GIFs as images when auto-adjusting attachment width
* Fix images layout, progressive image margins, and gallery for images and videos
* fix on iPad (splitview, permanent sidebar) card types and image sizes
* Add all files back to the gallery
* MM-18934 Fix padding on image attachment border
Removed padding from image padding as it was pushing the images outside of the box.
* MM-18934 Add spacing between border and image
Added a margin to progressive image to allow for a spacing with the absolutefill
* MM-18934 Fixed eslint
Fixed eslint issues
* MM-19733 fix posts getting behing post text box in thread screen
* Update app/components/safe_area_view/safe_area_view.ios.js
Co-Authored-By: Miguel Alatzar <migbot@users.noreply.github.com>
* Update app/components/safe_area_view/safe_area_view.ios.js
Co-Authored-By: Miguel Alatzar <migbot@users.noreply.github.com>
* Small refactor
* Fix snapshot test after merge
* MM-19308 Fixed date wrapping
Updated the displayName to check for the reply button and bot tag. If seen the displayName container is set from 60% to 55% to allow for the extra space.
* MM-19308 Updated logic and added tests
Updated logic based on feedback.
Added Jest/Snapshots
* MM-19308 Apply change to other sections
Applied the change to autoresponder/webhook section.
* Fix iOS crash when pasting large images and included other file types
* Rename pasteImages to pasteFiles and fix copying heic images
* remove comment
* Feedback review
* MM-18054:
Added a check for previousPost to use in validating new messages in thread to check if we should display Commented On message.
* MM-18054 Updated
Updated the check for Commented line to validate the previous thread was one that the post user commente on.
* MM-18054 Fixed Eslint Issues
Fixed Eslint Issues
* MM-18054 Fixed Eslint Issues
Missed a space...
* MM-18054 Cleanup
Cleaned up some code from suggestions