aws-amplify / amplify-js

A declarative JavaScript library for application development using cloud services.
https://docs.amplify.aws/lib/q/platform/js
Apache License 2.0
9.42k stars 2.12k forks source link

AWSPinpointProvider - updateEndpoint failed [Error: No value provided for input HTTP label: EndpointId.] #8390

Closed priyankagaikwad closed 3 years ago

priyankagaikwad commented 3 years ago

Before opening, please confirm:

JavaScript Framework

React Native

Amplify APIs

Analytics

Amplify Categories

auth, analytics, notifications

Environment information

``` # Put output below this line System: OS: macOS 11.2.3 CPU: (12) x64 Intel(R) Core(TM) i7-9750H CPU @ 2.60GHz Memory: 24.14 MB / 16.00 GB Shell: 3.2.57 - /bin/bash Binaries: Node: 14.16.1 - ~/.nvm/versions/node/v14.16.1/bin/node Yarn: 1.22.10 - /usr/local/bin/yarn npm: 6.14.12 - ~/.nvm/versions/node/v14.16.1/bin/npm Watchman: 4.9.0 - /usr/local/bin/watchman Browsers: Chrome: 91.0.4472.77 Safari: 14.0.3 npmPackages: @apollo/client: 3.3.14 => 3.3.14 (3.3.19) @apollo/client/cache: undefined () @apollo/client/core: undefined () @apollo/client/errors: undefined () @apollo/client/link/batch: undefined () @apollo/client/link/batch-http: undefined () @apollo/client/link/context: undefined () @apollo/client/link/core: undefined () @apollo/client/link/error: undefined () @apollo/client/link/http: undefined () @apollo/client/link/persisted-queries: undefined () @apollo/client/link/retry: undefined () @apollo/client/link/schema: undefined () @apollo/client/link/utils: undefined () @apollo/client/link/ws: undefined () @apollo/client/react: undefined () @apollo/client/react/components: undefined () @apollo/client/react/context: undefined () @apollo/client/react/data: undefined () @apollo/client/react/hoc: undefined () @apollo/client/react/hooks: undefined () @apollo/client/react/parser: undefined () @apollo/client/react/ssr: undefined () @apollo/client/testing: undefined () @apollo/client/utilities: undefined () @apollo/react-hooks: 4.0.0 => 4.0.0 @aws-amplify/pushnotification: 4.0.3 => 4.0.3 @babel/core: ^7.12.9 => 7.14.3 (7.9.0) @babel/runtime: ^7.12.5 => 7.14.0 @react-native-async-storage/async-storage: ^1.15.5 => 1.15.5 @react-native-community/async-storage: 1.12.1 => 1.12.1 @react-native-community/clipboard: 1.5.1 => 1.5.1 @react-native-community/datetimepicker: 3.5.0 => 3.5.0 @react-native-community/eslint-config: ^2.0.0 => 2.0.0 @react-native-community/masked-view: 0.1.10 => 0.1.10 @react-native-community/netinfo: ^6.0.0 => 6.0.0 @react-native-community/push-notification-ios: 1.8.0 => 1.8.0 (1.0.3) @react-native-firebase/app: 11.2.0 => 11.2.0 @react-native-firebase/crashlytics: 11.2.0 => 11.2.0 @react-native-firebase/dynamic-links: 11.2.0 => 11.2.0 @react-native-firebase/remote-config: 11.2.0 => 11.2.0 @react-native-picker/picker: ^1.8.3 => 1.16.1 @react-navigation/bottom-tabs: 5.11.9 => 5.11.9 @react-navigation/material-top-tabs: 5.3.15 => 5.3.15 @react-navigation/native: 5.9.4 => 5.9.4 @react-navigation/stack: 5.14.4 => 5.14.4 @twotalltotems/react-native-otp-input: 1.3.11 => 1.3.11 HelloWorld: 0.0.1 amazon-cognito-identity-js: ^5.0.2 => 5.0.2 amplify-s3-chunk-upload: 2.0.1 => 2.0.1 apollo-link: 1.2.14 => 1.2.14 apollo-link-error: 1.1.13 => 1.1.13 apollo-link-timeout: 4.0.0 => 4.0.0 apollo-link-ws: 1.0.20 => 1.0.20 aws-amplify: ^4.0.3 => 4.0.3 aws-amplify-react-native: 5.0.1 => 5.0.1 axios: 0.21.1 => 0.21.1 babel-jest: ^26.6.3 => 26.6.3 babel-preset-react-native-stage-0: 1.0.1 => 1.0.1 buffer: 6.0.3 => 6.0.3 (5.7.1, 4.9.2) date-fns: 2.20.3 => 2.20.3 enzyme: ^3.11.0 => 3.11.0 enzyme-adapter-react-16: ^1.15.2 => 1.15.6 eslint: 7.14.0 => 7.14.0 expo-av: 9.0.0 => 9.0.0 expo-localization: 10.0.0 => 10.0.0 graphql: 15.5.0 => 15.5.0 (14.0.0) graphql-request: 3.4.0 => 3.4.0 graphql-tag: 2.11.0 => 2.11.0 (2.12.4) hermes-inspector-msggen: 1.0.0 i18n-js: 3.8.0 => 3.8.0 jest: ^26.6.3 => 26.6.3 lodash: 4.17.21 => 4.17.21 md5: 2.3.0 => 2.3.0 metro-react-native-babel-preset: ^0.64.0 => 0.64.0 mixpanel-react-native: 1.1.1 => 1.1.1 moment: 2.29.1 => 2.29.1 native-base: 2.15.2 => 2.15.2 native-base-autocomplete: 1.3.2 => 1.3.2 prop-types: 15.7.2 => 15.7.2 react: 17.0.1 => 17.0.1 react-dom: ^16.13.1 => 16.14.0 react-native: 0.64.0 => 0.64.0 react-native-actionsheet: 2.4.2 => 2.4.2 react-native-app-intro-slider: 4.0.4 => 4.0.4 react-native-branch: 5.0.1 => 5.0.1 react-native-cache: vegidio-js/react-native-cache => 2.0.3 react-native-check-box: 2.1.7 => 2.1.7 react-native-circular-progress: 1.3.7 => 1.3.7 react-native-code-push: 7.0.1 => 7.0.1 react-native-create-thumbnail: 1.4.1 => 1.4.1 react-native-device-info: 8.1.0 => 8.1.0 react-native-dialogs: 1.1.1 => 1.1.1 react-native-fast-image: 8.3.4 => 8.3.4 react-native-fix-image: 2.1.0 => 2.1.0 react-native-floating-action: 1.21.0 => 1.21.0 react-native-fs: 2.17.0 => 2.17.0 react-native-gesture-handler: 1.10.3 => 1.10.3 react-native-image-crop-picker: 0.36.0 => 0.36.0 react-native-image-picker: 3.8.1 => 3.8.1 react-native-keyboard-aware-scroll-view: 0.9.3 => 0.9.3 react-native-linear-gradient: 2.5.6 => 2.5.6 react-native-loading-spinner-overlay: 2.0.0 => 2.0.0 react-native-localize: 2.0.3 => 2.0.3 react-native-media-controls: 2.0.3 => 2.0.3 react-native-modal: 11.10.0 => 11.10.0 react-native-modal-datetime-picker: 9.2.0 => 9.2.0 react-native-pager-view: 5.1.10 => 5.1.10 react-native-permissions: 3.0.4 => 3.0.4 react-native-picker-select: 8.0.4 => 8.0.4 react-native-safe-area-context: 3.2.0 => 3.2.0 react-native-screens: 3.1.1 => 3.1.1 react-native-share: 5.2.2 => 5.2.2 react-native-simple-radio-button: 2.7.4 => 2.7.4 react-native-skeleton-placeholder: 3.0.4 => 3.0.4 react-native-slider: 0.11.0 => 0.11.0 react-native-splash-screen: 3.2.0 => 3.2.0 react-native-sticky-parallax-header: 0.4.0 => 0.4.0 react-native-svg: 12.1.1-0 => 12.1.1-0 react-native-svg-charts: 5.4.0 => 5.4.0 react-native-switch: 2.0.0 => 2.0.0 react-native-tab-view: 3.0.1 => 3.0.1 react-native-toast-message: 1.4.9 => 1.4.9 react-native-unimodules: 0.13.3 => 0.13.3 react-native-vector-icons: 8.1.0 => 8.1.0 (7.1.0) react-native-version-number: 0.3.6 => 0.3.6 react-native-video: 5.1.1 => 5.1.1 react-native-video-player: 0.10.1 => 0.10.1 react-native-video-processing: 2.0.0 => 2.0.0 react-redux: 7.2.3 => 7.2.3 react-test-renderer: 17.0.1 => 17.0.1 (16.14.0) redux: 4.1.0 => 4.1.0 redux-devtools-extension: 2.13.9 => 2.13.9 redux-logger: 3.0.6 => 3.0.6 redux-thunk: 2.3.0 => 2.3.0 remote-redux-devtools: ^0.5.16 => 0.5.16 src: undefined () subscriptions-transport-ws: 0.9.18 => 0.9.18 npmGlobalPackages: npm: 6.14.12 ```

Describe the bug

Analytics.updateEndpoint(attrs) .then() .catch(err => { console.log({ err }); });

getting on latest version 4.0.3 error for updateEndpoint() ERROR [ERROR] 10:23.916 AWSPinpointProvider - updateEndpoint failed [Error: No value provided for input HTTP label: EndpointId.]

Working fine on version "aws-amplify": "^3.3.2",

Expected behavior

updateEndPoint() should work without any error on latest version of aws-amplify

Reproduction steps

  1. Install latest version of aws-amplify. I have installed "aws-amplify": "^4.0.3",
  2. Configure amplify
  3. Call Analytics.updateEndpoint() with attributes.

Code Snippet

// Put your code below this line.

Log output

``` // Put your logs below this line ```

aws-exports.js

const awsmobile = { aws_project_region: 'xxxxxx', aws_cognito_identity_pool_id: 'xxxxxx', aws_cognito_region: 'xxxxxx, aws_user_pools_id: 'xxxxxx', aws_user_pools_web_client_id: 'xxxxx', oauth: { domain:'xxxxxxxxx', scope: [ 'phone', 'email', 'openid', 'profile', 'aws.cognito.signin.user.admin', ], redirectSignIn: 'xxxxx', redirectSignOut: 'lxxxxxx', responseType: 'code', }, federationTarget: 'xxxxx', aws_user_files_s3_bucket:'xxxxx-xx', aws_user_files_s3_bucket_region: 'xxxxxxxx', aws_mobile_analytics_app_id: 'xxxxxx', aws_mobile_analytics_app_region: 'xxxxxxx', aws_cloud_logic_custom: [ { name: 'xxxxxx', endpoint:'xxxxxxx', region: 'xxxxxx', }, ], };

export default awsmobile;

Manual configuration

No response

Additional configuration

No response

Mobile Device

No response

Mobile Operating System

iOS, Android

Mobile Browser

No response

Mobile Browser Version

No response

Additional information and screenshots

No response

iartemiev commented 3 years ago

Hey @priyankagaikwad, I haven't been able to reproduce this using the latest version of aws-amplify. I see in the environment info you shared that you have @aws-amplify/pushnotification installed as well as aws-amplify. This may be causing conflicts. Could you please try the following steps:

  1. npm uninstall @aws-amplify/pushnotification
  2. rm -rf node_modules package-lock.json
  3. npm i
  4. npx pod-install
priyankagaikwad commented 3 years ago

@iartemiev Tried still and still same error. Am I missing something while configuring Amplify? How to analyse this error then?

Simulator Screen Shot - iPhone 11 - 2021-06-04 at 19 13 29

iartemiev commented 3 years ago

One more thing I'm seeing is that you have 2 different AsyncStorage dependencies installed. Could you try deleting @react-native-community/async-storage followed by running npx pod-install, then re-build/re-start your app?

iartemiev commented 3 years ago

One more thing. Try commenting out

//aws_cloud_logic_custom: [
//  {
//    name: 'xxxxxx',
//    endpoint:'xxxxxxx',
//    region: 'xxxxxx',
//  },
//],

Then update the endpoint. Are you still seeing the error then?

priyankagaikwad commented 3 years ago

One more thing. Try commenting out

//aws_cloud_logic_custom: [
//  {
//    name: 'xxxxxx',
//    endpoint:'xxxxxxx',
//    region: 'xxxxxx',
//  },
//],

Then update the endpoint. Are you still seeing the error then?

Yes Tried this also but no luck :(

iartemiev commented 3 years ago

Would be able to share your app with us or a minimal working example app exhibiting this error so that we could debug it locally?

priyankagaikwad commented 3 years ago

Would be able to share your app with us or a minimal working example app exhibiting this error so that we could debug it locally?

yes I will try to create small working example with same issue.

iartemiev commented 3 years ago

Thank you!

stale[bot] commented 3 years ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

stale[bot] commented 3 years ago

This issue has been automatically closed because of inactivity. Please open a new issue if are still encountering problems.

brayoh commented 2 years ago

Any updates on this? experiencing the same error

dylan-westbury commented 1 year ago

I was getting the error when calling updateEndpoint after user signs in Error: No value provided for input HTTP label: EndpointId.

It seems like Analytics wasn't initialised and initialising as I called updateEndpoint.

Analytics.configure({
  autoSessionRecord: true,
  AWSPinpoint: {
    appId: awsmobile.aws_mobile_analytics_app_id,
    region: awsmobile.aws_mobile_analytics_app_region,
  },
});

Has seemed to fix it for me now