* 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>
Co-authored-by: Elias Nahum <nahumhbl@gmail.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
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.
Co-authored-by: Amit Uttam <changingrainbows@gmail.com>
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)
* Check agains Permissions.RESULTS.GRANTED
* Fix file and image upload as well
* Fix permissions
* Make linter happy
* Use toHaveBeenCalledWith
Co-authored-by: Miguel Alatzar <migbot@users.noreply.github.com>
* Handle iOS reply action on native side
* Make linter happy
* Revert rn vector changes to .pbxproj
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
Co-authored-by: Miguel Alatzar <migbot@users.noreply.github.com>
* Fix iOS photo/camera denied permissions
* Add unit test and rename files
* Request for permission if returns denied
Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
Default to current server or site URL.
Example case: `<jump to convo>` links generated from autolink plugin have their server/site URL stripped, and it is assumed that generated links are relative to the current server.
Conversation: https://community.mattermost.com/core/pl/78j4a7ozupbci8qxwx1sczc1ua
* 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
* Dispatch loadConfigAndLicense on successful login
* Emit server version changed event
* Make linter happy
Co-authored-by: Miguel Alatzar <migbot@users.noreply.github.com>
* MM-21632: fix toggling interactive dialog boolean
My fix for MM-17519 broke the /rendering/ of the boolean toggle, but not
the underlying interactive dialog state (and the thrust of the original
issue).
* MM-21683: fix handling of boolean defaults
* unit tests
Co-authored-by: Jesse Hallam <jesse.hallam@gmail.com>
* 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.
Default deep link URL prefix: `mattermost-beta`
To set to `mattermost-mobile` (or anything else, for that matter) in production releases, set fastlane ENV var `DEEPLINK_PREFIX` to `mattermost-mobile`
* 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>