Commit graph

74 commits

Author SHA1 Message Date
Daniel Espino García
4c8594d330
Add linter rules for import order and type member delimiters (#5514)
* 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
2021-07-23 11:06:04 +02:00
Manoj Malik
14d377e713
MM-36917 Custom status expiry (#5434)
* Started with the custom status feature
Added custom status actions and API integration
Added custom status selectors and types
Added custom status emoji component
Added EnableCustomStatuses flag in config
Added Set a status option in the settings sidebar

* Fixed emoji and added clear button
Fixed the default emoji in the set a status in the settings sidebar
Made a custom status label component to match the styling of rest of the drawer items
Fixed the bug in the selectors
Added localization id in en.json

* Added icon for clear button
Fixed the custom status label issue
Added styling and icon for the clear button
Fixed order of the localization ids

* Made custom status modal with suggestions
Fixed the long custom status overflowing in the sidebar with ellipses
Added the functionality to open custom status modal from sidebar
Made the constants for custom status
Made the custom status suggestion functional component
Made the custom status modal functional component
Made the selector for the recent custom statuses
Added some localization ids

* Changed the custom status modal to class component
Added recent custom statuses in the modal
Fixed the styling of titles
Fixed lint errors except one

* Fix types and use i18n translations

* Update types

* Refactored some code and made clear button component
Refactored the code of the custom status label to a different file and used it everywhere
Made a separate component for clear button and added it in recents and sidebar
Fixed the styling of the custom status text according to the new figma designs

* Added emojipicker in custom status modal
Fixed the Done button in custom status modal
Added the functionality to clear status from inside the modal

* Added custom status in user profile and post header and review fixes
Added custom status in user profile page
Added custom status emoji in post header
Added functionality to preventDoubleTap everywhere
Added localization ids
Review fixes

* Fixed several issues
Increased touch area of clear button everywhere
Fixed the event propagation issue in clearing suggestions
Fixed the center alignment issue of title in custom status modal
Added clear button in user profile page
Review fixes

* Fix types for custom status modal

* Fix tsc

* Fixed types and separated functions for Recent and suggestions in custom status modal

* Update app/components/sidebars/settings/settings_sidebar_base.js

* Updated localization id in settings sidebar

* Changed the method in removeRecentCustomStatus API call
Changed names of some variables

* Fixed the input height issue in ios and modalContext issue in ios

* Fixed various issues
Fixed clear button border radius issue in ios
Changed the method to post in removeRecentCustomStatus API call
Made the custom status modal input single line and fixed the height
Changed the height of iconContainer in custom status suggestion

* Fixed the event propagation issue without use of PanResponder

* Unit tests

Added unit tests for custom status emoji component
Added unit tests for custom status text component
Added unit tests for clear button component
Added unit tests for custom status suggestion component
Added unit tests for custom status modal component
Added tests and updated snapshtots in user profile screen

* Added custom status in several new locations
Added custom status emoji in LHS channel list
Added custom status emoji in channel header
Added custom status in channel info header
Modified the styles of some components

* Fixed width issue in LHS channel list and channel title (#8)

Added one check in channel info header

* E2E tests for custom status (#6)

* Completed MM-T3890, MM-T3891, MM-T3892, MM-T3893 e2e tests

Added EnableCustomUserStatuses in default config of detox
Added several testIDs in custom status modal and clear button components
Modified settings_sidebar ui component in detox support
Made custom status screen ui screen in detox support
Added testIDs in custom status suggestion and clear buttons
Modified custom status ui screen component in detox support
Added appropriate comments in the tests
Modified custom status emoji component to accept styling and added testID
Modified the custom status emoji styling in post header, user profile, LHS channel list, channel info header, channel title
Made user profile screen in detox support
Added testID prop in custom status emoji component
Added testIDs in channel info header and user profile and user profile row components

* Added unit tests for new components and updated tests for custom status emoji

Updated snapshots for existing components
Added new tests for channel title and LHS channel item
Added new tests for channel info and channel info header
Updated snapshots

* Fixed styles and emoji opacity in custom status input in modal

* Fixed the color of text and emoji in custom status suggestions
* Fixed the color of emoji and font size in the custom status input in modal

* Updated snapshots

* Fix the MM-T3893 E2E test case

* Update detox/e2e/test/smoke_test/custom_status.e2e.js

* Apply suggestions from code review

Co-authored-by: Joseph Baylon <joseph.baylon@mattermost.com>

* Updated snapshots and moved the custom status e2e test to different location

* Fix styles

* Fix ios styles

* Update snapshots

* Updated styles and localization ids

* Changed the API call for the remove recent custom status action (#12)

* Fix styles for ios

* Fixed styles in Android
Fixed the styling of clear button everywhere
Fixed the separator not showing issue in custom status suggestion
Fixed the emoji positioning issue in custom status suggestion

* Fixed tests and updated snapshots

* Fix stylessss for ios

* Updated snapshots

* Added close button and title in emojipicker screen opened from custom status modal

* Fixed the delay issue in clearing and setting the custom status in settings sidebar (#13)

* Fixed the delay issue in clearing the custom status in settings sidebar
Modified the unsetCustomStatus action to use request statuses
Modified the settings sidebar to use the request status to show or hide custom status
Made proper types and reducers for the unset custom status request

* Added the Retry message for setting and clearing the custom status
Made set custom status request action types and reducers
Modified the setCustomStatus action to dispatch request status actions
Made the retryMessage component
Added the logic for when to show the retry message

* Modified set custom status action to dispatch Update me action with the new custom status

* Modified the settings sidebar to use componentDidUpdate for the delay issue in custom status clearing and setting

* Modified componentDidUpdate and made a new function for handling request status change

* Modified handleRequestStatusChange function to two separate functions

* Code refactoring

* Updated tests

* Fixed the issue for custom status not updating in settings sidebar when changed from another client

* Fixed the issue for custom status not updating in settings sidebar when changed from another client
* Fixed the IOS UI issues
    - Fixed the font-weight of the channel header custom status
    - Fixed the extra space added on typing in input issue
* Fix custom status e2e tests

* Fixed the custom status input click area issue

* Fix custom status input touchable area

* added expiry time to custom status

* removed spaces from en.json

* Updated snapshots

* Updated snapshots

* added some ui changes to expiry stuff in custom status

* Apply suggestions from code review

Co-authored-by: Michel Engelen <32863416+michelengelen@users.noreply.github.com>

* Review fixes (#15)

* Review fixes
Sorted the import order in all files
Modified removeRecentCustomStatus action not to use bindClientFunction
Added types for custom status client functions
Added containerSize prop in clear button component
Removed the check for custom status enabled from custom status emoji and added it in post_header, channel_title, channel_item
Modified getCustomStatusSelector to return undefined if custom status does not exist
Modified settings_sidebar, channel_info, channel_info_header, custom_status_modal, user_profile to handle undefined custom status
Removed the text wrapper from the custom status emoji in channel_info_header
Added check for identifying the navigation button pressed in custom status modal

* Added server version check in isCustomStatusEnabled selector

* Refactored some code and added types in style in custom status modal
Added type in custom status suggestion functions in custom status modal
Refactored some code

* Fixed failing tests and updated snapshots

* Expiry Time functionality added

* Updated snapshot for clear button component

* ran npm run fix

* Added timezone functionality to custom status expiry

* Merged custom status into test-1230

* Review fixes

Removed logic for tracking requests for setting and unsetting custom status
Added logic for clearing status without delay in settings sidebar
Added event for set custom status failure and attached listener in settings sidebar
Added feature in custom status text component to accept string or FormattedText as prop and ellipsizeMode and numberOfLines as well
Removed labelSibling and failureText props from drawer item
Passed clearButton and retryMessage in labelComponent from settings sidebar to drawer item
Replaced Text with CustomStatusText in channel info header
Added localization in the custom status suggestions
Added exception handling in the getRecentCustomStatuses selector

* Fixed drawer item unit tests and updated snapshots

* Fixed UI issues for IOS in settings sidebar and main sidebar

* Updated snapshots

* Refactored duration code in custom status suggestion

* Review fixes
Removed check for user null or undefined from setCustomStatus action
Refactored some code in custom status emoji and post header
Memoized handleClear in custom status suggestion
Made stylesheet in settings_sidebar and added all styles there
Consolidated openCustomStatusModal function inside goToCustomStatusScreen

* Refactored some code
Refactored some code in set custom status action
Updated name of a unit test in drawer item and updated snapshot

* added ui fixes to date time picker component and displayExpiryTime
component

* Removed server version check for testing

* bug fix with timezone and statusSame

* Review UI fixes (#18)

Changed the padding for custom status both in settings sidebar and custom status suggestions
Changed the position of clear button in the settings sidebar

* UI fix in user profile screen
Fixed the call to apiGetChannelByName in custom status e2e test

* Added server version check for custom status feature

* Updated snapshots

* modified testIDs, output rendering logic

* Review fixes
Converted mapStateToProps to makeMapStateToProps and moved makeGetCustomStatus call inside them in several components

* Removed the server version check and fixed showing custom status in user profile bug

* Updated datetime picker version and fixed timezone issue
Fixed the memoization issue in getCurrentUserTimezone selector
Refactored the getCurrentDateTimeForTimezone to getCurrentMomentForTimezone
Added the timezoneOffsetInMinutes prop to the datetime picker

* Fixed ios UI issues
Fixed the positioning of Clear after in custom status modal in ios
Fixed the positioning of spinner date time picker in ios

* expiry time now showing in custom status,clear after modals

* Fixed the custom status not showing in user profile of other users if own status is not set

* Changed the emoji size in the channel title

* Updated snapshots

* Added custom status emoji in post header
Fixed the lint errors and type check errors

* Updated snapshots
Fixed the prop type isMilitaryTime for user_profile screen

* UI fixes and code refactoring (#19)

* added date time picker, fixed spacing in some components

* UI fixes, added isCustomStatusExpired selector

* removed extra spaces from package-lock.json

* Review Fixes, upgraded datetimepicker version

* Refactored some code

* Refactored some code

* Added server version check for the custom status feature

* Merge master into custom-status-expiry

* Review fixes and corrected import order

* Resolved tsc errors, corrected intl usage

* Code refactoring and minor bug fixes
Fixed the default value of isCustomStatusExpired in mapStateToProps from false to true in all components
Changed the ids of various expiry dropdown texts
Fixed the order of ids in en.json

* Changed date time format in front of Custom option in Clear after modal (#20)

* Corrected 'check' usage in front of 'Custom' in clear-after-modal

* Renamed clear_after_suggestions to clear_after_menu_item. removed unused
code

* Added unit tests and e2e tests

* Review fixes
Removed custom status clear after modal as a connected component

* Updated failing snapshot

* Review UI fixes
Changed the size of expiry time in channel header and fixed the width of custom status text along with the position of the emoji
Fixed the divider between custom status input and Clear after in the custom status modal
Changed the size of expiry time in custom status suggestions
Fixed the position of the tick in the clear after modal

* Updated snapshots

* Review fixes: Code refactoring

* Updated snapshots

* Code refactoring and fixed several issues
Updated and added unit tests for custom_status_expiry component
Refactored some code in custom_status_modal and clear_after_modal
Increased the size of the back icon in the Clear after modal
Added the logic for showing Clear after option only when the status is set
Added 30 minute intervals in the timepicker

* Custom status expiry review fixes (#24)

* Added server version check for custom status expiry and review fixes
Made an isCustomStatusExpirySupported selector for checking server version
Modified custom status modal not to show clear after row if expiry not supported
Fixed the bug of status not setting if expiry not supported
Added the logic for hiding the duratiion from suggestions if expiry not supported
Changed the transitioning of opening Clear After modal to open in the same stack level
Added the expiry supported check in settings sidebar and channel info screen and fixed the UI issues
Code refactoring

* Fixed the Back icon in the Clear after modal

* Fixed the Clear after flow and e2e tests
Fixed the Set status modal closing issue on closing Clear after modal
Added the feature to show Today in the custom status expiry component
Refactored and fixed the e2e tests for custom status expiry
Refactored some code in the Clear After modal

* Fixed unit tests and updated snapshots

* Fixed the bug showing invalid date in the Clear after field in the Set status modal

* Updated package-lock.json

* Code refactoring

* UI fixes in the user profile page
Added isExpirySupported check in the user profile page

* Fixed unit test and updated snapshot

* Updated snapshot for user_profile

* Review fixes: Code refactoring

* Fixed failing snapshots

* Fixed the MM-T4092 e2e test for ios (#25)

* Review fixes: Code refactoring
Deleted app/screens/custom_status_clear_after/index.ts file and changed import paths

* Code refactoring in e2e tests and updated eslint no shadow rule

* Disallowed the selection of past time in custom status date time picker

Co-authored-by: Chetanya Kandhari <chetanya.kandhari@brightscout.com>
Co-authored-by: Manoj <77336594+manojosh@users.noreply.github.com>
Co-authored-by: Joseph Baylon <joseph.baylon@mattermost.com>
Co-authored-by: Chetanya Kandhari <availchet@gmail.com>
Co-authored-by: Michel Engelen <32863416+michelengelen@users.noreply.github.com>
2021-07-23 04:02:19 +08:00
Joseph Baylon
ecf76bbdf5
MM-37128 Detox/E2E Maintenance: Fix failing tests - iOS (#5544)
* MM-37128 Detox/E2E Maintenance: Fix failing tests - iOS

* Update function format
2021-07-15 19:05:14 -07:00
Chetanya Kandhari
e442275c6f
MM-34586 Custom status feature (#5220) 2021-06-04 08:54:31 -04:00
Elias Nahum
9f238d5ef4
Post List & post components refactored (#5409)
* 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>
2021-06-03 11:12:15 -07:00
Anurag Shivarathri
6e23fbe7a7
MM-32921 shared channels (#5241)
* Unable to open previews from search, pinned and mentions

* Updated Compass Icons

* Added Icon to LHS and Channel Info

* Added Icons to Manage/View Members list

* Added Icon to shared users in posts

* Added icon to channel header, fixed header style

* Added Icons in autocomplete

* WIP: Add shared shannels to browse

* Adding Shared Channels string to i18n

* Added remote organization to remote user profile

* Updated snapshot for channel header

* Added browsing shared channels

* Removed the exmpty line

* Added snapshot when user is remote

* Reverted compass icons and added icons only needed for shared channels

* Fixed i18n swapped

* Copied compass-icons from webapp

* Fixed showing shared channels as deleted after browsing them

* Added new compass ttf to android & fixed icon style for browse channel listing

* Fixed search for shared channels

* user profile snapshot updated with testId

* User list row snapshot updated with testID

* Moved shared user check to util function

* Fixed required props warning for ChannelIcon component

* Update app/screens/user_profile/index.js

Co-authored-by: Miguel Alatzar <migbot@users.noreply.github.com>

* Removed Request related redux

* Reverted client4

* Added rest calls

* Updated snapshot

* Reverted files

* Adding back shared channels stuff to channel icon & showing shared channels only when enabled in browse channels

* Fixed misc issues

* moved empty array outside the function to avoid re-render

* Removed renaming fields

Co-authored-by: Miguel Alatzar <migbot@users.noreply.github.com>
Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
2021-05-24 16:07:47 +05:30
Joseph Baylon
f22d63644f
MM-35071 Detox/E2E: Add e2e for MM-T287, MM-T290, MM-T300, MM-T2350, MM-T3151, MM-T3472 (#5347)
* MM-35071 Detox/E2E: Add e2e for MM-T287, MM-T290, MM-T2350, MM-T3151, MM-T3472

* Revert to original generic android

Co-authored-by: Mattermod <mattermod@users.noreply.github.com>
2021-04-27 16:46:50 -07:00
Joseph Baylon
09593f7184
MM-30431 Detox/E2E: Added e2e for MM-T3196, MM-T3210, MM-T3211, MM-T3262, MM-T3264 (#5313)
* MM-30431 Detox/E2E: Added e2e for MM-T3196, MM-T3210, MM-T3211, MM-T3262, MM-T3264

* Fix snap test
2021-04-13 09:28:39 -07:00
Joseph Baylon
141b5199ba
MM-30424 Detox/E2E: Add e2e for MM-T3237, MM-T3238, MM-T3251, MM-T3257, MM-T3258 (#5188) 2021-03-03 08:23:32 -08:00
Miguel Alatzar
7702c050bf
Revert "[MM-29225] Define LSApplicationQueriesSchemes so Linking.canO… (#5067)
* Revert "[MM-29225] Define LSApplicationQueriesSchemes so Linking.canOpenURL can work (#5007)"

This reverts commit f3baaa6aa3.

* Create and use tryOpenURL

* Add missing onError functions

* Update app/components/markdown/markdown_link/markdown_link.js

Co-authored-by: Elias Nahum <nahumhbl@gmail.com>

Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
2021-01-06 09:11:27 -07:00
Elias Nahum
dcaaaee44c
MM-30164 fix safe area insets (#4979)
* MM-30164 fix safe area insets

* Fix unit test setup mock for react-native-device-info

* Add insets for edit profile screen

* Fix about screen

* Fix theme screen

* Lock phone screen to portrait

* fix unit tests

* Fix autocomplete layout
2020-11-23 20:10:09 -03:00
Miguel Alatzar
57d60649f8
[MM-22959] Use Compass icons (#4847)
* Use Compass icons

* Update ChannelInfo and AdvancedSettings

* Fix search modifiers

* Fix Autocomplete item

* Remove VectorIcon component

* Unlink react-native-vector-icons

* Revert ProgressiveImage changes

* Update Mark as Unread icon

* Apply review suggestion

* Replace extension icons

* Update video control button style

* Replace (un)flag with (un)save

* Replace (un)flag with (un)save - take 2

* Use bookmark-outline icon

Co-authored-by: Miguel Alatzar <miguel@Miguels-MacBook-Pro.local>
2020-10-15 15:34:24 -07:00
Miguel Alatzar
1324bfd0bf
[MM-27294] Allow returning to Channel screen without resetting the navigation root (#4619)
* Add popDismissToChannel

* Use popToRoot + dismissAllModals

* Just dismissAllModals and popToRoot

* Revert unnecessary changes

* Close permalink on popToRoot

* Emit after dismissAllModals and popToRoot
2020-07-30 12:50:37 -07:00
shred86
c2be31c644
MM-26827 Add ShowFullName property (#4106)
* Add ShowFullName property

* Add ShowFullName property to first and last name
2020-07-14 10:04:21 -04:00
Andre Vasconcelos
aa9e074a4c
MM-25956 Use new mobile modal style on Other User Profile (#4507)
* Changing other user profiles to be shown as modals

- Removed unnecessary props
- Updated user_profile unit tests
- Removed useless Platform.select call on channel_base

* Changed at_mention, channel_intro, and reaction_row profiles to modal
2020-07-09 08:34:42 +09:00
Elias Nahum
d3a6e166ad
MM-15758 Update dependencies including Fastlane (#4272)
* Update dependencies including Fastlane and disable Flipper on iOS

* Remove EventEmitter for previous doc-viewer

* Fix android crash when setting more channels buttons

* Downgrade fuse.js

* Upgrade deps to latest

* Update Podfile.lock

* Downgrade RNN to 6.4.0

* QA Review #2

* Upgrade fuse.js to 6.0.0
2020-05-18 11:24:47 -07:00
Elias Nahum
36e55c95a2
MM-23570 Migrate from Segment to Rudder (#4293)
* Replace Segment with Rudder (ios not working)

* Update @assets reference and fix tests
2020-05-13 16:54:07 -04:00
shred86
c07e8fb8d3
[MM-23584][MM-23675] Add first and last name to user profile view & language support (#4092)
* Add name to profile view

* Add first and last name fields

* Styling update

* Update snapshot

* Add language support and change ordering
2020-04-09 06:05:01 -04:00
Miguel Alatzar
ee4b85edcf
[MM-23520] Port mattermost-redux (#4088)
* Remove mattermost-redux

* Move mm-redux files into app/redux

* Add @redux path to tsconfig.json

* Fix imports

* Install missing dependencies

* Fix tsc errors

* Fix i18n_utils test

* Fix more imports

* Remove redux websocket

* Fix tests

* Rename @redux

* Apply changes from mattermost-redux PR 1103

* Remove mattermost-redux mention in template

* Add missing imports

* Rename app/redux/ to app/mm-redux/

* Remove test file

* Fix fetching Sidebar GM profiles

Co-authored-by: Elias Nahum <nahumhbl@gmail.com>
2020-03-31 11:09:26 -07:00
Elias Nahum
10d433cfab
Port WebSocket from mm-redux and batch actions (#4060)
* 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
2020-03-26 21:23:50 -03:00
Elias Nahum
8fbc988c90
Upgrade Dependencies (#4034)
* Upgrade Navigation library

* Fix background color on Select Server

* Upgrade Navigation library

* Apply patch to nav lib

* Upgrade RNN to 6.1.1

* Update Dependencies

* Feedback review

* Call clearNavigationComponents when reset to channel
2020-03-18 19:05:49 -03:00
Elias Nahum
c685690d1e
MM-23179 Avoid unnecessary Overdraws (#4025)
* Set navigation based on theme only once

* Remove unnecessary overdraws

* Feedback review
2020-03-13 11:22:43 -07:00
Elias Nahum
7c09334dc4
Deps update (#3806)
* Dependecy updates

* Update dependencies
2020-01-20 13:20:03 -03:00
Saturnino Abril
f8698d0293 MM-21342 Fix leading zero on post by using react-intl by default and fallback to moment-timezone for unsupported locale (#3797)
* used react-intl for post time as default and moment-timezone as fallback

* add @testing-library/react-native to better test component rendering
2020-01-13 20:12:51 -03:00
Miguel Alatzar
1efb01deda
[MM-16593] Upgrade to RN 0.61.2 (#3455)
* [MM-16593] [MM-17175] [MM-17164] [MM-17189] [MM-17181] Android - Upgrade to RN 0.60 (#3145)

* Upgrade to react-native 0.60

* Use @sentry/react-native

* Manually link @sentry/react-native

* Address review comments

* Jetify after install

* Call jetify from node_modules

* [MM-17785] iOS - Upgrade to RN 0.60 (#3153)

* Upgrade to react-native 0.60

* Use @sentry/react-native

* Manually link @sentry/react-native

* Address review comments

* Jetify after install

* Call jetify from node_modules

* Get app building for iOS

* Revert react-native-image-picker upgrade

* Minor version upgrade of react-native-image-picker

* [MM-17142] Convert all string refs to callbacks (#3217)

* Replace string refs

* Fix tests

* Don't use inline functions

* Fix mattermost-redux reversion from master merge

* [MM-18336] Upload Sentry debug symbols only when SENTRY_ENABLED is true (#3227)

* Upgrade @sentry/react-native

* Run Sentry gradle tasks only when enabled

* Upgrade @sentry/react-native and remove extra Sentry build phase

* [MM-17144] Use Hermes (#3226)

* Replace string refs

* Fix tests

* Don't use inline functions

* Fix mattermost-redux reversion from master merge

* Use Hermes

* bundleCommand ram-bundle no longer needed

* Require harmony-reflect only for Android

* Fix failing test

* Path react-native's splitLayoutProps (#3337)

* [MM-18867] [MM-17186] [MM-18866] [MM-19447] [MM-18967] Upgrade to RN 0.61.2 (#3423)

* Upgrade to RN 0.61.2

* Update rn-fetch-blob commit hash

* Update react-native-keyboard-tracking-view commit hash

* Use react-native-youtube with AVPlayer fix

* Fix jest mocks

* Use updated document picker API

* Remove unnecessary linking

* Revert "MM-17759 Add code highlighting (#3072)"

This reverts commit 26b999e885.

* Fix share extension

* Revert "Revert "MM-17759 Add code highlighting (#3072)""

This reverts commit 52aca776b12dee3abe8646d0c90480f8528e86c1.

* Address PR reviews

* Rename patch to match version

* Update react-native-youtube patch

* Update dependencies

* Fix RNDocViewer reference

* Update tests and revert to redux-persist 4.10.2

* Revert "Revert "Revert "MM-17759 Add code highlighting (#3072)"""

This reverts commit 5ef383be2619b1be6167c23f128ecb4b4ad25df9.

* Android fixes after dep upgrades

* Use fresco 2.0.0

* Use mattermost forks

* Use React-Core in Mattermost.scheme instead of react

* Remove packager (#3452)

* Remove Pods from source control

* Fix unit tests

* Add new line before entering the keystore in gradle.properties

* set ios as working directory for cocoapods

* Cache cocoapods on circleCI builds

* set ios as working dir

* fix cocoapods cache key

* Unify fastlane and npm dependencies command

* Use package-lock.json checksum for npm cache

* Fix package.json and use the checksum as the cache key

* Fix package.json and use the checksum as the cache key

* changes to circleci.yaml fastlane and removing pods from git

* Fix Mattermost.xcodeproj

* Update coocoapods to 1.7.5 and fix xcode header search paths

* Update package-lock.json

* Remove unused tooltip component

* Fix incorrect ref

* Disable Hermes (#3460)

* Revert "Remove packager (#3452)"

This reverts commit b2a79e184b3242124dfdb91ae095f6ce3f4eb986.

* Disable Hermes :'(

* Update preloaded modules

* Fix packages moduleNames and modulePaths, update snapshots and update mm-redux (ts version)

* remove document picker from modulePaths

* Fix package-lock.json

* Add eslint disable rules
2019-10-28 15:04:24 -07:00
Elias Nahum
3b3a696a55 MM-18603 Fix post header to prevent overlaps (#3332)
* MM-18603 Fix post header to prevent overlaps

* Export BotTag and GuestTag
2019-09-27 17:16:36 -04:00
Harrison Healey
3e0189430b
MM-18762 Remove some usage of deprecated lifecycle methods (#3299)
* MM-18762 Remove some usage of deprecated lifecycle methods

* Only load ProgressiveImage when a URI changes
2019-09-27 09:16:21 -04:00
Miguel Alatzar
459801d10b
[MM-17560] Await dismissAllModals and popToRoot prior to calling showSearchModal (#3298)
* Patch react-native-navigation

* Make navigation actions regular functions

* Fix unhandled promise rejection warning

* Missing semicolons

* Mock navigation actions

* Add unit tests for navigation actions

* Place all patches in patches directory

* Fix channel_info snapshot test
2019-09-25 15:23:45 -07:00
Elias Nahum
9975a19b91
MM-18236 Prevent the post menu from triggering when using the back gesture (#3319)
* MM-18236 Prevent the post menu from triggering when using the back gesture in the thread screen

* Update snapshots

* Update app/components/touchable_with_feedback/touchable_with_feedback.ios.js

Co-Authored-By: Miguel Alatzar <migbot@users.noreply.github.com>

* Update app/components/touchable_with_feedback/touchable_with_feedback.ios.js

Co-Authored-By: Miguel Alatzar <migbot@users.noreply.github.com>

* Update app/components/post/post.js

Co-Authored-By: Miguel Alatzar <migbot@users.noreply.github.com>

* Update app/components/touchable_with_feedback/touchable_with_feedback.ios.js

* Fix eslint
2019-09-26 00:19:49 +03:00
Elias Nahum
9a16e05c54 Fix Regression right buttons color on Android navbar when enable (#3138) 2019-08-17 09:03:15 -07:00
Elias Nahum
06e333dc52
MM-10193 Apply SafeAreaView to Landscape views (#3003) (#3081)
* 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
2019-08-09 11:14:38 -04:00
Miguel Alatzar
228b483153
User popToRoot over resetToChannel (#3016) 2019-07-22 17:04:29 -07:00
Jesús Espino
ee93e4fa59
Adding guest accounts feature (#2990)
* MM-15059: Restict the permissions for guests (#2791)

* MM-15057: Adding guest badge to identify guest users (#2774)

* MM-15057: Adding guest badge to identify guest users

* Adding Guest tags in the channel title

* Adding i18n translations

* Adding DM and GM guest warnings

* Fixing check-style

* Adding and fixing tests

* Adding i18n text

* Only showing the subtitle when there is enough space

* Addressing new design changes

* Fixing eslint

* Addressing PR comments

* Moving getChannelStats to the handleSelectChannel action

* Adding the guest info in android landscape channel headers

* simplified the guest warning text generation

* Fixing i18n

* Fixing leaving channel behavior for guests (#2989)

* Fixing leaving channel behavior for guests

* Fixing tests and adding a new one

* fixing typo

* Addressing PR comments

* Addressing PR comments

* Fixing tests
2019-07-22 22:14:39 +02:00
Miguel Alatzar
5eee2b7652
[MM-16139] [MM-16140] [MM-16141] Update the remaining screens/components (#2920)
* Update screens

* Update login tests

* Remove done

* Fix failing tests

* Update screens and components

* Check styles fix

* Update tests

* Prevent setState call after component unmounts

* Add empty setButtons func to dummy navigator

* Remove platform check

* Remove Platform import

* Update react-native-navigation version

* Add separate showModalOverCurrentContext function

* check-style fixes

* Remove overriding of AppDelegate's window

* Fix modal over current context animation

* Add showSearchModal navigation action

* Check-style fix

* Address review comments

* Update SettingsSidebar and children

* Update EditProfile screen

* Update SettingsSidebar

* Keep track of latest componentId to appear

* Track componentId in state to use in navigation actions

* Update FlaggedPosts and children

* Update RecentMentions

* Update Settings

* Store componentIds in ephemeral store

* Update AttachmentButton

* Remove unnecessary dismissModal

* Fix typo

* Upate NotificationSettings

* Update NotificationSettingsAutoResponder

* Update NotificationSettingsMentions

* Update NotificationSettingsMobile

* Update CreateChannel and children

* Update MoreChannels

* Update ChannelPeek and children

* Update ChannelNavBar and children

* Update ChannelPostList and children

* Update ChannelInfo and children

* Update ChannelAddMembers

* Update ChannelMembers

* Update EditChannel

* Fix setting of top bar buttons

* Update Channel screen and children

* Update PinnedPosts

* Update LongPost

* Update PostOptions

* Update PostTextboxBase

* Update EditPost

* Check-styles fix

* Update DisplaySettings

* Update Timezone

* Update SelectTimezone

* Update IntlWrapper and Notification

* Update InteractiveDialog and children

* Update ExpandedAnnouncementBanner

* Update ClientUpgradeListener

* Update MoreDirectMessages

* Update SelectorScreen

* Update UserProfile

* Update Thread

* Update About

* Update ImagePreview

* Update TextPreview

* Update AddReaction

* Update ReactionList and children

* Update Code

* Update TermsOfService

* Update Permalink

* Update Permalink

* Update ErrorTeamsList

* Update Search

* Remove navigator prop

* Fix setButtons calls

* Remove navigationComponentId

* Fix test

* Handle in-app notifs in global event handler

* Fix in-app notification handling

* Fix typo

* Fix tests

* Auto dismiss in-app notif after 5 seconds

* Fix typo

* Update overlay dismissal

* Animate in-app notif dismissal and allow gesture dismissal
2019-07-08 10:03:31 -07:00
Miguel Alatzar
0f948f650d Merge branch 'master' into rnn-v2 2019-06-18 09:58:35 -07:00
Elias Nahum
6546dfdfd2
Set post list data and timestamp based on the user timezone if available (#2888) 2019-06-17 15:24:28 -04:00
Miguel Alatzar
7d67f1214e
[MM-16008] Update setNavigatorStyles and replace setOnNavigatorEvent (#2877)
* Update setNavigatorStyles

* Replace navigator.setOnNavigatorEvent and callbacks

* Update unit tests

* Save user notify props on componentWillUnmount

* Add TODOs about removing componentDidAppear/setNavigatorStyles

* check-styles fix

* Fix eslint errors
2019-06-14 08:14:26 -07:00
Woolim Cho
b81cd49fb4 [MM-13879] Add Edit profile button to RHS menu and own profile pop-over (#2832)
* Add Edit Profile button to right panel menu

* Make user info of right panel menu opens the users own profile

* Add an Edit button of the users own profile

* handle transitions

* Add commandType to propTypes

* Update test codes

* add unit tests for user_profile

* Assign commandType manually

* Remove async, set delay to 0
2019-06-05 16:11:42 +08:00
Elias Nahum
f36ee37402
Upgrade to RN 0.59.6 and dependencies (#2777)
* Upgrade to RN 0.59.6 and dependencies

* Remove channel loader unused style

* Update to the latest netInfo that fixes a crash

* Do not set default timezone with moment

* Use RN 0.59.8
2019-05-13 13:33:18 -04:00
Christopher Speller
ec9e46fb62
MM-13618 Adding bot tags. (#2669)
* Adding bot tags.

* Snapshot update.

* Moving bot tag to own component.

* Snapshots.

* Adding missing bot tags, fixing bot profile, allowing tap of bot username to open profile.

* Snapshots and tests.
2019-03-26 16:59:45 -07:00
Elias Nahum
68a3825d95
Update dependencies (#2316) 2018-11-18 17:54:06 -03:00
Chetanya Kandhari
68eff30eda [#MM-12410] Custom Terms of Service (#2234)
* [#MM-12410] Custom Terms of Service Modal.

- Create a new screen for terms of service
- Register it in app navigation
- Open it as a modal when login succeeds or app is opened when already logged in.
- Get terms of service and render it as markdown

* Refactor service terms to terms of service

* Show terms modal when launching channel instead of componentDidMount

* Remove footer text

* Close modal before logging out

* Use dismissAllModals instead od this.close

* Update header styles

* Update the back icon

* Add left icon conditinally based on os

* Update en.json

* - Integrate Accept/Reject API
- Refactor show navigator to util
- Remove title
- Code refactoring

* Handle Accept/Reject API errors

* Update package-lock

* - Show Alert to handle API error
- Handle API error for GetTerms error, Accept/Reject error and Reject success
- Changes in en.json
- Remove error banner
- Open terms modal in sso and experimental certificate

* Enable navigator buttons after getting terms

* Rename Ok to OK in Alert

* Add retry for API error

* Fix check-style

* Fix FailedNetworkAction Error Message

* - Use Close button instead of back button
- Update en.json

* Remove unused import

* Disable hashtags and atmentions in terms modal

* Enable close button when terms text fails to load

* Minor changes

* Fix show terms on sso login

* Handle restartApp event

* Add test cases

* Revert change to app/components/formatted_markdown_text.js

* Show the terms modal on the channel page

* Remove remaining references to showTermsOfService

* Disable Hashtags, AtMentions and ChannelLinks

* Update the props to markdown component

* Pass the text as literal to renderText

* Return the generated renderTexts

* Fix lint

* Render ~, #, @ with Channel link, Hashtags and At Mentions

* Fix failing tests
Revert unwanted changes

* Hide the channel page content before the terms are accepted

* Fix lint and failing tests

* Revert changes to hide channel while terms are not accepted

* Open modal in componentDidMount instead of constructor
Code refactoring
Disable back button on android

* Remove unused import

* No need to await for showModal

* No need to await for accept and reject

* Update flag for updateTermsOfServiceStatus to updateMyTermsOfServiceStatus
- as phase 2 redux PR was mered.

* Fix check-style

* Change opacity in terms of service text

- Fix tests

* Revert package-lock.json changes
2018-11-14 11:36:45 -03:00
Saturnino Abril
3c99672af5
Update unit test: use default theme, snapshot on wrapped elements and removal of unnecessary adapter (#2171)
* use default theme when unit testing the component

* update snapshots by getting wrapped elements only

* fix merge conflicts
2018-10-01 15:11:00 +08:00
Jesús Espino
8884293b18 Add t() translation mark to i18nable strings and update translations (#2026)
* Add t() translation mark to i18nable strings and update translations

* Small fixes

* Adding  to the packager

* Rebase fixes

* Added missed texts
2018-09-21 11:25:38 -03:00
Saturnino Abril
63196936d0
MM-12258 Update snapshots to only compare against the elements and not the bloated objects (#2140)
* update snapshots to only compare against the elements and not the bloated objects

* resolve conflicts to master
2018-09-21 16:07:37 +08:00
Elias Nahum
637ca9244a
Update RN to version 0.57.0 (#2131) 2018-09-20 19:05:41 -03:00
Elias Nahum
07f88071c6
Update dependencies (#2040)
* Update dependencies

* Update snapshots
2018-09-17 10:22:38 -03:00
Sudheer
5aac68e785 Change rn-fetch-blob to mock globally in jest (#2124) 2018-09-14 12:14:37 -03:00
Sudheer
92218659d5
MM-11614 Add Nickname to user profile (#2123) 2018-09-14 19:54:44 +05:30
Stan Chan
583d6b74ee Timezone feature (#1456)
* Add automatic and manual timezone support

Update users timezone and scrollTo selected timezone in SelectTimezone coponent

Clean styles for SelectTimezone screen

Add auto-timezone update when login or enter app

Hide timezone feature behind config

Fix requested changes

Parse SupportedTimezone from config

Add localTime and localized post stamps

Add trailing commas

Include all timezone util methods from redux

Remove EnableTimezoneSelection flag

WIP get timezones from server

Pull supportedTimezones from api

Minor fixes

Remove wrapWithPreventDoubleTap

Revert back to react-intl formatDate

Include timeZone prop in FormattedTime

Refactor Timezone row into component

Minor cosmetic changes

Add minimum server support for the timezone feature

Move getSupportedTimezones to componentWillMount

Move autoUpdateTimezone function to handleSuccessfulLogin

Specify user timezone in profile_header

Remove format props from FormattedTime

Add ExperimentalTimezone flag

Replace Client().getServerVersion() with entities.general.serverVersion

Add isTimezoneEnabled helper function

Move isMinimumServerVersion to utils/timezone.js

* Fix style errors

* Remove date-time-format-timezone polyfill

* Feedback changes

* Use timezone selector from redux

* Explicitly pass hour12 props to intl.formatDate

* Update package-lock

* Revert iOS project file changes

* Fix license header

* Include timezone related paths in modulePaths

* Fix license header

* Fix minor issue with rebasing

* Fix issue with getconfig in GeneralSettings

* Update package-lock
2018-06-27 06:55:03 -04:00