* Update transform to make Android's post list scroll smooth
* set start since metric when appStarted is false
* Refactor Formatted components
* Downgrade RNN to 7.13.0 & patch XCDYouTube to allow video playback
* Refactor Post list and all related components
* review suggestion rename hour12 to isMilitaryTime
* feedback review use aliases
* feedback review deconstruct actions in markdown_link
* feedback review simplify if/else statement in combined_used_activity
* Simplify if statement for consecutive posts
* Specify npm version to build iOS on CI
* Refactor network_indicator
* render Icon in file gallery with transparent background
* Increase timeout to scroll to bottom when posting a new message
* fix: scroll when tapping on the new messages bar
* fix: dismiss all modals
* fix navigation tests
* Handle dismissAllModals for iOS to prevent blank screens
* Prevent modal from dismissing when showing the thread screen in the stack
* Update app/components/image_viewport.tsx
Co-authored-by: Miguel Alatzar <migbot@users.noreply.github.com>
* Update app/utils/post.ts
Co-authored-by: Miguel Alatzar <migbot@users.noreply.github.com>
* Apply suggestions from code review
Co-authored-by: Miguel Alatzar <migbot@users.noreply.github.com>
* fix: rename selector and prop
* Fix XCDYouTube patch
* Fix posting from a thread in the right channel
* do not render reply bar on the thread screen
* close previous permalink before showing a new one
* move XCDYouTube patch to ios/patches folder
* closePermalink directly instead of using an onClose prop
Co-authored-by: Miguel Alatzar <migbot@users.noreply.github.com>
Co-authored-by: Miguel Alatzar <this.migbot@gmail.com>
* Migrate attachment_image
* Migrate action_menu
* Migrate action_button
* migrate message_attachments
* Remove unintended commited file
* Fix tsc
* Fix tsc
* Fix lint
* Update references
* Make emoji functional component and fix imports
* Use ReactNode instead of JSXElement
* Convert action menu to FC
* Remove unneeded fragments
* Remove unneded undefined check
* Use undefined instead of nil in calculateDimensions
* Make sure height is always defined
* Use is valid URL
* Add missing types
* Lint fixes and remove lodash
* Revert package.json changes
* Put back fragments since they are actually needed
* Fix test
* Fix lint
* Address feedback
* Update dependencies
* Fix lint, use npm@6
* Fix unit tests
* Dowgrade Fastlane
* Fix Fastlane script
* use android:api-29-node ci image
* Infer gradle json file from apk output folder
* Fastlane to Parse new version of gradle output-metadata.json
* Apps bindings support (#5012)
* Add redux related information
* Add binding loading on channel refresh
* Add channel header and post option bindings
* Fix test
* Minor fixes
* Fix snapshots
* Handle errors and show bindings only on main channel
* Update Expand Levels keys and values to match latest changes
* Add NAVIGATE call response handling.
* Add more isolation to apps related code
* Add defaults to send ephemeral
* Update variable naming
* Rename shouldProcessApps by a more meaningful appsEnabled
* Embedded forms (#5169)
* Add redux related information
* Add binding loading on channel refresh
* Add channel header and post option bindings
* Fix test
* Minor fixes
* Fix snapshots
* Handle errors and show bindings only on main channel
* Update Expand Levels keys and values to match latest changes
* Add NAVIGATE call response handling.
* Add more isolation to apps related code
* Add Embedded Forms
* Fix snapshots
* Add Embedded Forms
* Improve naming, change the root element to be a binding and improve binding handling
* Get post down on the buttons, remove unneeded variables and minor fixes from the review
* Allow undefined bindings to fillBindingsInformation and add logging for error.
* Address review feedback
* Add App Forms (#5177)
* Add App Forms
* Address feedback and self review
* Add dynamic select
* Fixes and improvements
* Add the ability to refresh on submit.
* Use AppFormValue instead of redoing the type
* Address feedback
* [MM-31508] Rename URL to Path in Call (#5186)
* Add user agent to call context (#5193)
* Remove unneeded state reference (#5196)
* Change user agent query on fetch bindings (#5201)
* Add refresh websocket event to refetch bindings (#5194)
* Add refresh websocket event to refetch bindings
* Add missing changes
* Declare socket event constant and separate the handler to a different function
* Add binding validation on binding fetch (#5200)
* Apps commands (#5107)
* Add redux related information
* Add binding loading on channel refresh
* Add channel header and post option bindings
* Fix test
* Minor fixes
* Fix snapshots
* apps modals draft
* Handle errors and show bindings only on main channel
* Update Expand Levels keys and values to match latest changes
* Add NAVIGATE call response handling.
* Add more isolation to apps related code
* reuse command parser throughout slash_suggestion component's lifecycle
* fix prop and lint
* using alert to show error message. need another way
* duplicate import
* types
* types
* types
* rename file
* copy webapp parser and test
* dependencies moved. tests pass
* move app command parser into its own folder
* converted to typescript, all tests are passing
* automated and manual tests work
* lint
* lint
* remove fall throughs with blocks
* types
* doAppCall type
* extract displayError to deps file
* test types
* lint
* fix tests
* unused import
* PR feedback
* fix imports and show errors
* types
* remove execute suggestion for mobile
* watch feature flag
* fix tests
* change form text arugment behavior to show user input and not hint
* return call response error in doAppCall
* update tests to remove hint from text field suggestions
* lint
* use new base command structure
* fix tests
* wrap appsEnabled
* typescript actions/command.ts
* update app constants
* PR feedback
* fix error handling from doAppCall action
* Use App CallRequest structure (#5212)
* error handling
* move test files
* remove unused import
Co-authored-by: Daniel Espino García <larkox@gmail.com>
* Add feature flag (#5207)
* Add feature flag
* Simplify return
* Add localization, call validation and use call type on subpath (#5221)
* Add localization, call validation and use call type on subpath
* Add more localization to the parser and bring fixes from webapp
* Fix ephemerals and channel header / post options crashes
* fix app command parser deps and alert messages
* Improve suggestion handling
* Fix test
* Fix lint
* Return errors as error
* Address PR feedback
* return error property
* fix error string wordings
Co-authored-by: Michael Kochell <6913320+mickmister@users.noreply.github.com>
* migrate app selector to AutocompleteSelector
* add if statement to avoid missing prop
* add tests for dynamic values
* clean up
* remove old files
Co-authored-by: Daniel Espino García <larkox@gmail.com>
Co-authored-by: Ben Schumacher <ben.schumacher@mattermost.com>
Co-authored-by: Daniel Espino García <larkox@gmail.com>
Co-authored-by: Michael Kochell <6913320+mickmister@users.noreply.github.com>
Co-authored-by: Ben Schumacher <ben.schumacher@mattermost.com>
* First draft to handle go to location on mobile
* Fix lint
* Fix test
* Remove unnecessary change
* Add not handled cases
* Add i18n missing string
* Fix typo
* Extract handleGotoLocation into an action
* Fix minor issues and extract showPermalinkView to an action
* Fix minor issues and extract showPermalinkView to an action
* Add missing change
* Fix this reference
* Remove unneeded event handlers, sort imports, early handle errors, make group channel visible, remove duplications and move functions to the right place
* Fix tests
* Handle error when opening permalink
* Do not subtract offset from accessories container
* Missing space
* Adjust autcomplete offsetY
* Adjust placement of autocomplete
* Space fix
* Unused onLayout
* add emojis available in the post to recent emojis
* made add recent reactions more performant
* lint fix
* added support for namedicons, update only if send post is success
* updated emojiUnicode function
* limit the number of recent emojis
* added e2e tests for MM-T3495
* filter out aliases
* Typo fix
* return data:true when success false when fails
Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
* Open/Close Gallery transitions
* Include postId in file info & disable opening the gallery in some cases
* Add progress bar component
* Transition to gallery based on platform
* Improve getting the filename for non attachments
* Patch RNFetchBlob TS definition
* Add gallery types
* fix unit tests for message and post attachment
* add getLocalPath method
* Add react-native-share dependency
* Re-style gallery footer
* Refactor Gallery screen
* Double tap zoom in/out and translate
* Make android activity "transparent"
* Do not animate to height on dismissing gallery
* Open gallery for file uploads
* Fix borderRadius for gallery action button
* Use progress bar for file uploads
* Replace progress bar for file attachment document
* Upgrade RNN to 7.1.0 to fix share elements transitions
* Fix Gallery unit tests
* translate down when popping screen on iOS
* Swipe, Pan & Tap fixes
* fix gallery footer avatar eslint
* Fix gallery snapshot tests
* Use CompassIcon in Gallery
* Feedback from UX review
* Fix gallery UI for other file types
* Set other file type gallery button to 48pt
* 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
* [MM-22366] Make user autocomplete also match on spaces
* Move template string to fullName variable
* Add Detox E2E tests for user autocomplete
* Add TM4J IDs
Co-authored-by: Joseph Baylon <joseph.baylon@mattermost.com>
* Add test for keyword not associated with user
Co-authored-by: Joseph Baylon <joseph.baylon@mattermost.com>
* 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
* 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
* Add popDismissToChannel
* Use popToRoot + dismissAllModals
* Just dismissAllModals and popToRoot
* Revert unnecessary changes
* Close permalink on popToRoot
* Emit after dismissAllModals and popToRoot
* 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>
* 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>
* 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
* 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
* 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
* 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>
* Upgrade Navigation library
* Feedback review on Navigation Library
* Fix select server background color
* Fix iPhone 11 and 11 Pro Max navbar height
* Fix background color on Select Server
* Upgrade nav lib to 6.1.0
* Apply patch to nav lib
* Upgrade RNN to 6.1.1
* 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
* 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