* Fix keep mention for channel A when opening a push notification on channel B
* properly fix race condition
* Load channels and channel members when opening the app from a push notification
* fixes MM-37294 MM-37296 MM-37297
* Added conditions to check for post & thread existence
* Update app/mm-redux/selectors/entities/threads.ts
Co-authored-by: Kyriakos Z. <3829551+koox00@users.noreply.github.com>
* type fix
* Never disabling Mark All as unread
* Added follow/unfollow message for not yet thread posts
* Test case fix for mark all as unread enabled all the time
* Removed hardcoded condition
* Fixed MM-37509
* Updated snapshot for sidebar
Co-authored-by: Kyriakos Z. <3829551+koox00@users.noreply.github.com>
Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
* Add linter rules for import order and type member delimiters
* Remove unneeded group
* Group all app/* imports before the internal imports
* Move app/ imports before parent imports
* Separate @node_modules imports into a different group
* Substitute app paths by aliases
* Fix @node_modules import order and add test related modules
* Add aliases for types and test, and group import types
* [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>
* Unable to open previews from search, pinned and mentions
* Granular data retention initialised
* Added server version check, logic to remove posts & test cases
* Restructured reducer & runs the job only one time a day
* Updated minimum server version with 5.36
* Reverting client.ts changes
* Added client rest calls & removed config check for data retention enabled or not & fixed test case
* Added check for license
* Update app/actions/views/login.js
Co-authored-by: Miguel Alatzar <migbot@users.noreply.github.com>
* Update app/store/middlewares/helpers.js
Co-authored-by: Miguel Alatzar <migbot@users.noreply.github.com>
* Update app/store/middlewares/helpers.js
Co-authored-by: Miguel Alatzar <migbot@users.noreply.github.com>
* Fixed lint error
* Update app/client/rest/general.ts
Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
* Update app/client/rest/general.ts
Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
* Added redux migration
* Updated server version to 5.37
Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
Co-authored-by: Miguel Alatzar <migbot@users.noreply.github.com>
Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
* MM-36908 display unicode emoji in text field after selecting from autocomple
* MM-36935 Fix android crash when ammending search in Sidebar Jump to
* MM-36929 & MM-36928 fix notification badge resetting on new notification
* MM-36920 Fix android push notification issues
* MM-36922 Edit profile image
* Fix crash when opening Android test notification
* Downgrade RNN to avoid bug that cuts off permalink view on iOS
* Bring back permalink view on search/recent mentions/pinned and saved posts
* fix test snapshot
Fixed MM-36571 and MM-36601 issues by dispatching RECEIVED_ME action on websocket reconnecting
Added memoization in makeGetCustomStatus in custom status emoji component
Fixed e2e test case failing due to post header custom status emoji
* 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>
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>
* Added join prompt when sys admin clicks on private channel perma links
* Moved isChannelMember to utils
* Update app/actions/views/permalink.ts
Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
* Added error messages
* Added error messages
* Moved checks to screen components
* Removed unused Alert import
* Removed unused translations and showing channel 'display' name
* fixed eslint error
* Moved private channel check logic from component to handleSelectChannelByName to avoid issues while pressing on url from different team
* Detox test WIP
* Test link fixes
* Added e2e test
* Hiding <Loading component on RN Alert as detox is unable to press on the Join button
* Updated message
* Added team membership check and auto-joining teams before viewing posts
* Fixed testcases
* Leaves newly joined team on any error while joining the channel
* Leaves the team if newly joined if cancelled the prompt
* Moved code to tapping_channel_url_link_joins_channel and refactored code
* Removed unwanted optional chaining operator
Co-authored-by: anurag shivarathri <anuragindianbraves@gmail.com>
Co-authored-by: Elias Nahum <nahumhbl@gmail.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
* 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-23391] Sort sidebar teams order by user preference
* Update imports
Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
* Small changes to selector from review
* Select first ordered team in user preference on login
* Check teams length instead
Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
* Return early if teamsOrder is empty
* Return sorted copy of teams instead of mutating original array
Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
* [MM-29037]: Unit and e2e tests for MM-28100
* e2e test
* review fixes
* move test to correct folder
* update to latest master
* remove console log
* skip query when not required
* re-add console.log
* [MM-28100] Reload state for newly fetched channels before checking reachability
* join selected channel if not already a member
* fix destructuring
* Revert joining channels in handleSelectChannel
* refactor channel joining
* use different server endpoint to work around requiring a server update
* 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>
* Add popDismissToChannel
* Use popToRoot + dismissAllModals
* Just dismissAllModals and popToRoot
* Revert unnecessary changes
* Close permalink on popToRoot
* Emit after dismissAllModals and popToRoot