Sample podcast player crashes on google on unknown input

google-assistant

#1

We are experimenting with the podcast player sample app (https://github.com/jovotech/jovo-sample-podcast-player).
We set up a new agent in dialogflow and deployed the sample app. To test it we configured the jovo webhook and talk to the app using the Google Actions simulator. It works fine to start the app, play an episode, etc. but whenever we give unknown input to the app, it crashes.

e.g.

error response is:

{
  "responseMetadata": {
    "status": {
      "code": 10,
      "message": "Failed to parse Dialogflow response into AppResponse because of invalid platform response: Could not find a RichResponse or SystemIntent in the platform response for agentId: c9d0fada-879e-490c-b0ad-043603fc8f34 and intentId: 29972e25-77aa-4e26-a377-5657ffd201aa. WebhookStatus: message: \"Webhook execution successful\"\n."
    }
  }
} 

Is a more user friendly response to unknown input simply not implemented in the sample app or is it a bug?
What would be the best way to handle that sort of input?

Thank you!
Simon


#2

Hi @SimonSRF, welcome to the Jovo community :wave:

The unknown input is triggering the Default Fallback Intent, I’m assuming? If not, could you please send over the request as it appears in the console logs?

You can make it work by adding the Default Fallback Intent to your handler. You can also use the Unhandled one instead, which serves as a catch-all for all intents in the handler. Learn more here: https://www.jovo.tech/docs/routing/intents#unhandled


#3

Hi @jan

Thanks a lot for your quick replay!

The podcast demo app does neither handle the Default Fallback Intent, nor implement an unhandled handler and I wasn’t aware of the unhandled-handler.

I opened a pull-request: https://github.com/jovotech/jovo-sample-podcast-player/pull/2 maybe that could help others that play around with the sample app.


#4

Thanks! Will take a look :slight_smile:


#5

@jan Did you guys find anything on this? Even i am experiencing same issue.
Request -

{
  "user": {
    "locale": "en-US",
    "userVerificationStatus": "VERIFIED"
  },
  "conversation": {
    "conversationId": "ABwppHGE8ARkR_ENuoZrRk_eZue88bqgz3e6EMsjIdrXPJpchTmXjXNwo8MZfM2ydwVh-n5jGpiaPguVrmrK7A",
    "type": "NEW"
  },
  "inputs": [
    {
      "intent": "actions.intent.MAIN",
      "rawInputs": [
        {
          "inputType": "VOICE",
          "query": "Talk to my test app"
        }
      ]
    }
  ],
  "surface": {
    "capabilities": [
      {
        "name": "actions.capability.MEDIA_RESPONSE_AUDIO"
      },
      {
        "name": "actions.capability.AUDIO_OUTPUT"
      },
      {
        "name": "actions.capability.ACCOUNT_LINKING"
      }
    ]
  },
  "isInSandbox": true,
  "availableSurfaces": [
    {
      "capabilities": [
        {
          "name": "actions.capability.AUDIO_OUTPUT"
        },
        {
          "name": "actions.capability.SCREEN_OUTPUT"
        },
        {
          "name": "actions.capability.WEB_BROWSER"
        }
      ]
    }
  ],
  "requestType": "SIMULATOR"
}

Response -


#6

What’s the response in your console/terminal, not the simulator?


#7

Console terminal also had success message, and somehow it started working after sometime. Not sure what was wrong.