* Handle call_end event
* exit call screen on call end; /call end for mobile
* handle permissions before sending cmd to server; handle error
Co-authored-by: Christopher Poile <cpoile@gmail.com>
* use call config when checking for Enable/Disable and StartCall permissions
* store config, refresh after 20 minutes
* load config on startup
* batch load calls and load config on startup/reconnect
* removed CallsMobile feature flag; added server version check
* added on-demand check and Alert for Calls enabled
* merge with master
* fix deps, typo, test snapshots
* implement raise hand
* added tests; updated tests
* spread syntax for combined styles -> array syntax
* add useCallbacks, update test snapshots
* fix dep array
* fix dep array
* sort participants based on muted and raisedHand
* sort participants by name, then by state
* fix screen sharing message
* fix test snapshots
* add monitor indicator; tweak ui
* linting
* Port https://github.com/mattermost/mattermost-webapp/pull/9263 to mobile
* Fix forms props from commands and missing error->text change
* lint
* various fixes
* fix lookups for command parser
* update app command parser
* fixes
* fixes with embedded forms
* lint and types
* remove bindings.expanded fix for cleaning bindings on render
* lint
* re-expand bindings on post update
Co-authored-by: Michael Kochell <6913320+mickmister@users.noreply.github.com>
* Thread permalink fix
* Reverted and implemented solution by updating the props
* fix TS on selectors/entities/posts.ts
Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
* update dependencies
* eslint fixes
* Upgrade to RN 67
* update other deps
* Update to RN 0.67.2
* fix Android build (mmkv)
* Fix crash when root message is deleted from the thread screen
* Fix gif emoji playing at high speed on iOS ProMotion capable devices
* Some extra work on voice channels interface
* Fixing some TODOs
* Improving styling of call in channel
* Improve calls monitoring
* Replacing some of the fontawesome icons with the compass ones
* Improving the layout
* Migrating to webrtc2 for unified plan
* Add screen on and off behavior
* Adding incall manager plugin
* Moving everything into the products/calls folder
* Make products modules routes relatives
* Make products modules routes @mmproducts
* Removing initiator parameter
* Removing trickle parameter
* Simplifying code
* Removing underscore from private variables
* Removing underscore from private things
* More simplifications
* More simplifications
* More simplifications
* Changing sha sum for mmjstool
* Fixing typo
* Migrating simple-peer to typescript
* Migrating simple-peer to typescript
* Improving the size of the screen share
* Adding feature flag to disable the calls feature in mobile
* Fixing some tests
* Removing obsolte tests
* Added call ended support for the post messages
* Fixing some warnings in the tests
* Adding JoinCall tests
* Adding CallMessage tests
* Adding CurrentCall unit tests
* Adding CallAvatar unit tests
* Adding FloatingCallContainer unit tests
* Adding StartCall unit tests
* Adding EnableDisableCalls unit tests
* Adding CallDuration tests
* Improving CallDuration tests
* Adding CallScreen unit tests
* Adding CallOtherActions screen tests
* Fixing some dark theme styles
* Fixing tests
* More robustness around connecting/disconnecting
* Adding FormattedRelativeTime tests
* Adding tests for ChannelItem
* Adding tests for ChannelInfo
* Adding selectors tests
* Adding reducers unit tests
* Adding actions tests
* Removing most of the TODOs
* Removing another TODO
* Updating tests snapshots
* Removing the last TODO
* Fixed a small problem on pressing while a call is ongoing
* Remove all the inlined functions
* Replacing usage of isLandscape selector with useWindowDimensions
* Removed unnecesary makeStyleSheetFromTheme
* Removing unneded properties from call_duration
* Fixing possible null channels return from getChannel selector
* Moving other inlined functions to its own constant
* Simplifiying enable/disable calls component
* Improving the behavior when you are in the call of the current channel
* Adding missing translation strings
* Simplified a bit the EnableDisableCalls component
* Moving other inlined functions to its own constant
* Updating snapshots
* Improving usage of makeStyleSheetFromTheme
* Moving data reformating from the rest client to the redux action
* Adding calls to the blocklist to the redux-persist
* Fixing tests
* Updating snapshots
* Update file icon name to the last compass icons version
* Fix loading state
* Only show the call connected if the websocket gets connected
* Taking into consideration the indicator bar to position the calls new bars
* Making the MoreMessagesButton component aware of calls components
* Updating snapshots
* Fixing tests
* Updating snapshot
* Fixing different use cases for start call channel menu
* Fixing tests
* Ask for confirmation to start a call when you are already in another call
* Update app/products/calls/components/floating_call_container.tsx
Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
* Memoizing userIds in join call
* Applying suggestion around combine the blocklist for calls with the one for typing
* Adding explicit types to the rest client
* Removing unneeded permission
* Making updateIntervalInSeconds prop optional in FormattedRelativeTime
* Making updateIntervalInSeconds prop optional in CallDuration
Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
* 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>
* Ensure post options always have the bindings for its channel
* Mimic webapp model
* Address feedback
* Add return to validate bindings
* Address feedback
* Use empty bindings constant to avoid rerenderings
Co-authored-by: Michael Kochell <6913320+mickmister@users.noreply.github.com>
* Further cleanup and fixes
Tests clean-up
Tests fixed?
Plays nicely with threads
Tests fixed
Fixes ESR and show experimental flags
Failing test fixed
DM Fix
WIP: Bottom bar UX
Fixes for unreads
Failing test
Always show current channel
Create a channel in a category!
* Unreads on top
* Various fixes
* Improves category collapsing
* Passes correct ID through
* Tests cleanup
* Redo unreads and unread-button
* Reverts to just using ids
* More unreads back to using ids
* Uses appropriate selectors for pref updates
* Unreads sorted by recency
* Fixes test for recency
* Fixes re-rendering bug
* Code review updates, websocket event debounced
* MM-37781: Only check deprecated config settings if server is older than v6.
* Feedback review
* Add isMinimumServerVersion helper for iOS Native
* MM-37781: Adds missing parameters.
Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
* new themes and theme type updates
* update theme processing
port newer functionality from webapp
* update theme UI
including new svg-based thumbnail
* lint fixes
* update snapshots and tests
* update theme tile border approach
* remove unused path component
* remove old variable typo
* remove old variable type from theme type
* lint and snapshot updates
* update snapshots
* MM-36980: Opens the thread on push notification
This commit enables tapping on a push notification for a reply to open
the thread.
This is done only if the user has CRT set to 'on'.
* Refactor, and handle in app notifications
* Minor change
* Fixes erroneous check
* Fixes on dismiss in app notification
* Fixes in app push notification for CRT
* Adds CRT notification settings for android
Adds support for CRT (*_threads) notification settings (notify_props).
Adds android comoponents to toggle those settings for push notifications
and email notifications.
* Adds CRT notification settings for iOS
Adds iOS components to toggle those CRT notifications settings
for push notifications and email notifications.
* Fixes bad JSON and intl ids
* Fixes i18n ids
* Fixes tests
* Adds email_threads to the default notify_props
* Fixes push_threads notify_prop default value
* Fixes style, and channel missing on thread open
* Fixes test
* Fixes click notification to open thread
Previous handling of opening the thread on notification clicked fell
into an infinite loop when the app was closed.
This commit fixes that by adding the post to selectedPostId reducer and
then emitting an event to open the thread on channel_base, and only if
the app was started by the notification.
When the app is in the background emitting the event from
handleNotification works just fine.
When the app is in the foreground the notification clicked gets handled
elsewhere and this commit does not change that.
* Removes reply settings when CRT is ON
"Mentions and Replies" section becomes just "Mentions" when the user has
the Collapsed Reply Threads set to "ON".
* Fixes prop types
Co-authored-by: Kyriakos Ziakoulis <koox00@Kyriakoss-MacBook-Pro.local>
* Handle user and channel provider from the app parser
* Do not process mapStateToProps on appsTakeOver
* Fix tsc
* Address feedback
* Fix broken reference
* Address feedback and fix tests
* Fix i18n
* Use instantiated teamID on parser context
* Address feedback
* Fix test
* Address feedback
Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
* 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>