* New messages line in threads & Pull to refresh for global threads
* Updated snapshot
* Using postlist's RefreshControl component
* Updated threadlist snapshot
* Reverting snapshot
* Updated Snapshots
* Snapshots updated
* Added 'thread last viewed at' to handle new messages line correctly
* Lint fix
* Updated snapshots
* Reverted comparision check
* Remove unused code
* Batching actions
* Do not add new message line for self messages
Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
* Made threads item as static
* Updated snapshot
* Moved from Text to FormattedText
* Updated snapshot .. AGAIN
* Removed 8px margin bottom from threads sidebar item
* [MM-31133]: participants screen component (#5116)
* Fixed imports
* Misc fixes
* Added i18n string
* Moved '(you)' after the name
* [MM-30386][MM-30387] Client and redux changes for collapsed reply threads (#5175)
* [MM-30386][MM-30387] Client and redux changes for collapsed reply threads
* fix tests
* add and use flat shim
* use test helper function
* use test helper function
* revert crt changes to unused client and action functions
* use toEqual
* incorporate code review feedback
* don't assume server success
* batch actions
* clearer code
* WIP in changes, websockets and more redux changes
* Added mark thread as read and mark all as read in a team
* Added isCollapsedThreadEnabled entity
* Fixed loading global screens on load if it's the last visited screen
* Added root count and websocker and redux events related to threads
* Fixed Message, Mention count root count on init and decrement actions
* Moved old client to new client/rest
* Misc fix
* Misc fix
* Misc.
* Old redux test cases fix
* Added polyfill back for array flat
* Fixes mark as unread and pariticipants error in thread
* Fixed initial load when CRT not enabled
* Handling CRT preference change
* Get threads fallsback to search in posts in case of unfollowed or unloaded threads
* Gets threads on reconnect
* DM, Channel counter fix
* Added threads redux tests
* Fixed channel dot issue when child post is arrived channel not active
* Cleaning up threads on load, not letting posts included in threads getting deleted which can trigger many posts to be loaded at once
* Fixed crash on team switch, partly fixed enable/disable from webapp
* Fix when viewing a post from notification, to prevent from navigating back to global threads
* Fixed when preferences are changed before app is launched
* Fixed issue of NO THREADS appearing on reconnect
* Excludes CRT handling for newly logged in users
* Fixed unread dot showing even when all messages are read
* Update app/mm-redux/selectors/entities/threads.ts
Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
* Not viewing threads action is pushed only when suer is in Global Threads
* Fixed cleanup to exclude current team when cleanup starts on app going to background
* Dispatch is not passed as param, misc code fixes
* Preferences check and handling code refactored
* added redux-mock-store
* Preference change fix
* Removed user login dispatch when handling crt change
* Fixed fallback thread support
* Return getThread
* Added threads to sidebar, moved teamId logic to action
* [MM-29106, MM-34847, MM-34843, MM-34846] Collapsed reply threads, Global Threads & In Channel experience UI implementation (#5376)
* feat: global threads screen
* Refactored global thread menu and misc design fixes
* Added empty states for threads, unread. Removing markdown from thread messages.
* Added friendly date, fixed long usernames & channel names in threads view.
* Mark thread as read
* Added intl, refactored code, seperated thread footer from thread item
* Added intl to global threads, added global threads to android
* Added Follow button to thread view
* Added thread badges
* In Channel experience .. WIP
* Clean posts in channel incase CRT is enabled.
* Added follow button, deleted messages doesnot have footer and design is now according to figma
* Removed old post and post header
* Added for follow/unfollow thread and fixed old one
* MISC design & code fixes
* Added options-follow/unfollow to the post's long press menu
* Shows ORIGINAL MESSAGE DELETED in thread when root post gets deleted
* Post list ts fix
* Old testcases fix
* Eslint fix
* Added custom status emoji in at mention autocomplete
* Fixed the width of the displayname and username
* Changed the max width for the full name and username in the autocomplete item
* Review fixes
Changed the behaviour of ellipses for long names
* Removed safearea bottom
* Fixes Mark and unread and thread header theme
* Fixes mark as unread and pariticipants error in thread
* Unfollowing post fix and misc
* Merge with master fix
* Added fallback to get thread from posts in case of not following/unloaded threads
* Refactored code and added tests for screens
* Loads threads from global threads screen, marks thread as marked on new thread posts
* Fixed tabs render on no threads, threads footer items styling and tests
* Loads threads based on tab and items according to constant
* Added infinite loading, unreads based on redux and not active thread list
* Fixed the username cutting off after truncating display name issue
* Changed avatars to touchableOpacity and added prop for parent component to style
* Fixed infinite loading, tab switching scroll to top, misc styles, team switching, scroll indicator insets
* Added follow button to DMs, moved follow button further right only on ios
* Snapshot updated
* Moved from useSelector to connect HOC
* Scrolls to top on team change, changed thread constant from mm-redux
* Fix merge issue
* Test case fix
* Fixed participants list
* Update app/components/global_threads/global_threads.tsx
Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
* Update app/components/global_threads/thread_footer/thread_footer.tsx
Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
* Update app/components/sidebars/main/channels_list/channel_item/index.js
Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
* Update app/screens/thread/index.js
Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
* Moved date numbers to constants
* Fixed global threads component issues
* Thread item display logic moved to redux
* Misc fixes
* Reverted to TouchableWithFeedback with opacity
* Removed obselete snapshots
* Removing currentTeamId as we aregetting it in action
* Moved to connect component from useSelect for sidebar
* Thread read issue fix
* Removed react-native-navigation mock
Co-authored-by: Anurag Shivarathri <anurag6713@gmail.com>
Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
Co-authored-by: Manoj <manoj@brightscout.com>
Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
Co-authored-by: Anurag Shivarathri <anurag6713@gmail.com>
Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
Co-authored-by: Manoj <manoj@brightscout.com>
Co-authored-by: Ashish Bhate <bhate.ashish@gmail.com>
Co-authored-by: Ashish Bhate <ashish.bhate@mattermost.com>
Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
Co-authored-by: Manoj <manoj@brightscout.com>
* 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>
* 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>
* 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>
* 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
* 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
* 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>
* 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
* 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
During the landscape changes from the previous release, I had added 8px of padding to the iOS landscape, which caused this issue to occur. This change reverts the added padding so that the height matches across the screens for the navigation bar.
To note, react-native-navigation is used for the info/thread headers and there is no way to adjust the height of this without replacing the header entirley.
* MM-10193 for landscape Feature
Commit for MM-10193 to the landscape feature with latest pull.
This is the initial commit with SafeAreaView in place, but should not be merged into master as this is step one and not suitable for production.
Another commit will be following with adjustments to allow SafeAreaView to display correctly for users.
* MM-10193 for landscape Feature
Commit for MM-10193 to the landscape feature with latest pull.
This is the initial commit with SafeAreaView in place, but should not be merged into master as this is step one and not suitable for production.
Another commit will be following with adjustments to allow SafeAreaView to display correctly for users.
* MM-10193 Extend design elements for iPhoneX SafeAreaViews
This is the second portion of the MM-10193 changes for the landscape feature. This item was to extend the design elements for the application into the SafeAreaView so the application looks uniform on the iPhoneX.
* MM-10193 Patch for Snapshot tests and eslint
* MM-10193 Re-Patch
These chanbes mistakenly got reverted from last Patch
* MM-10193 Updates for PR
Fixed the 4 screens from the text box that were missed.
Updated the padding to run from a method.
* Revert "MM-10193 Updates for PR"
This reverts commit fe8d650ce3ca2828d8c94e4af470649aa2582ec1.
* MM-10193 Updates for PR
This reverts commit 4966d83d5401720d26ca22a55cf8f92f1657b7e2.
Applied Updated Snapshots
* MM-10193 Updated Modifier for iphone_x_spacing
Updated Modifier for iphone_x_spacing
* MM-10193 Updates for Review
Review changes for Post Textbox and a few states that were unavailable.
* MM-10193 Fix Longpress padding
Fixed longpress padding for Channel Info and Edit Post views.
* MM-10193 Update isLandscape
Updated isLandscape to pull directly from dimensions.
Updated padding for Recent Mentions and Flagged Posts.
* MM-10193 Updates for review longpost
Updated for longpost padding.
Fixed issue with notifications not padding right correctly.
* MM-10193 Update with Cleanup
Reverted Cocoapods back to 1.5.3.
Cleaned up spacing in two files.
* MM-10193 Merge Conflict Updates
Updates to resolve merge conflicts
* [MM-16389] Enable emojis for profile icons from webhooks
Removes borders from profile icons when it is from a custom URL.
* feat: reapply border for all profile pictures and shrink emojis
* feat: remove border from emoji profile pictures
* feat: decide if post has emoji icon through props instead of url
* refactor: better checking of potentially undefined property
Co-Authored-By: Elias Nahum <nahumhbl@gmail.com>
* Update mattermost-redux to use latest WS changes
* Properly mark channel as read, keep the new message indicator, and fix push notification flow
* unneeded parameter in setCurrentUserStatusOffline
Co-Authored-By: enahum <nahumhbl@gmail.com>
* Feedback review
* Update mm-redux ref
* Load more posts of a channel by determining the amount of posts shown regardless of how many are in the store
* Feedback review
* do not combine posts when fetching them
* Switch to SingleDex and remove all locales
* WIP Mattermost Start Component for lazy loading modules
* Add files changed for native modules
* Add Entry component and app global object
* dispatch setStatusBarHeight for iOS
* Update screen imports
* Include Entry screen
* Refactor app to mattermost.android.js
* Override unnecessary java files
* Fix minor issues in changes
* Display empty state based on user credentials
Also, add proper background theme for empty loading screen
* Add native module constant cache support
* Fix startup theme regression
* Add Keychain support for credentials
* Fix Orientation regression
* Fix SharedExtension regression
* Emit NATIVE_APP_LAUNCHED across bridge only once during cold start
* Add iOS Support
* Revert to previous implementation of i18n
* Fix styling issues
* Include listener for SERVER_VERSION_CHANGED
* Add SafeAreaView in Entry screen
* Register deviceToken early, in order to get iOS PN Support
* Include StartTimeModule
* Add ReplyFromPush support and remove NATIVE_APP_LAUNCHED listener
* Package native constants in StartTimeModule and avoid bridge calls
* Fix check-style errors
* Code cleanup
* Rename StartTimeModule to InitializationModule
* Remove NavigationApplication
* Documentation and minor changes
* Account for app opening after SharedExtension
* Refactor getIntl to getTranslations
* Move native module constants into it's own forked repos
* Include FetchBlob and DeviceInfo forked repos