Hello!
I’m currently running Jovo v3 hosted in AWS responding to requests from both Alexa and Google. In the last few months, I’ve been seeing some odd behavior from the Google Actions Builder side regarding the jovo session parameters that are sent with the request. Specifically, when a subsequent request comes in during an active session, Google is not preserving the session variable and jovo session parameters when the request comes in so, Jovo has no idea of the current active state.
Here is an example of the request coming in
{
“handler”: {
“name”: “MoreOptionsIntent”
},
“intent”: {
“name”: “MoreOptionsIntent”,
“params”: {},
“query”: “more options”
},
“scene”: {
“name”: “actions.scene.START_CONVERSATION”,
“slotFillingStatus”: “UNSPECIFIED”,
“slots”: {}
},
“session”: {
“id”: “ABwppHEbMrNO-eaKedaGr26YkdIr7pSLG-ADjQE4TSEFkmGUsERewfTJ9Zo2OVtUBXJ1JJe3SoBSfnra8_UK9fpsE4Az–jF5sg”,
“params”: {},
“typeOverrides”: [],
“languageCode”: “”
},
“user”: {
“locale”: “en-US”,
“params”: {
“userId”: “661a258e-c402-49ba-b84f-a4e23bc69592”
},
“accountLinkingStatus”: “ACCOUNT_LINKING_STATUS_UNSPECIFIED”,
“verificationStatus”: “VERIFIED”,
“packageEntitlements”: [],
“gaiamint”: “”,
“permissions”: [],
“lastSeenTime”: “2022-06-03T16:11:13Z”
},
“home”: {
“params”: {}
},
“device”: {
“capabilities”: [
“SPEECH”,
“RICH_RESPONSE”,
“WEB_LINK”,
“LONG_FORM_AUDIO”
],
“timeZone”: {
“id”: “America/Chicago”,
“version”: “”
}
}
}
The ‘session’ variable has ‘params’ and that params is empty {}. The odd part is that if I go to the assistant page listing and hit the ‘reset’ link on the bottom, the session storage appears to be returned with the subsequent request for the newly generated userId. This also appears to be random and not affect all users.
Here is a sample response sent back to Google
{
“prompt”: {
“firstSimple”: {
“speech”: “<audio src=“static_responses/unhandled_unhandled.mp3”/>”
},
“suggestions”: [
{
“title”: “Find a podcast”
},
{
“title”: “Recommend Something”
}
],
“content”: {
“card”: {
“text”: "Unfortunately, I can’t help you with that. "
}
}
},
“user”: {
“params”: {
“userId”: “37e8351b-9850-4cc4-9fa5-a49c57269ec6”
}
},
“session”: {
“id”: “ABwppHFrs0sPiuXgtPQMvJeEj7gtvF_Ju_IkYHUah7W2pLLv5zZgi3Hf39lJKJLdqjM-hATf9gqt223YZ2sYVupHnj2S50-XXYs”,
“params”: {
“JOVO_SESSION”: {
“new”: false,
“reprompts”: {
“NO_INPUT1”: “<audio src=“static_responses/unhandled_unhandled_no_input.mp3”/>”
},
“createdAt”: “2022-06-03T16:26:59.159Z”
},
“JOVO_STATE”: null,
“user_global_session”: {
“time_offset”: 0,
“user_id”: 90,
“on_curated_playlist”: false,
“session_id”: 24,
“media_item_id”: 58
},
“user_global”: {
“no_of_invocations”: 6,
“no_of_skipped_questionnaire”: 1,
“onboarding_finished”: true,
“first_time_learn_more”: true,
“install_id”: “37e8351b-9850-4cc4-9fa5-a49c57269ec6”,
“questionnaire_finished”: false,
“first_time_tom”: true,
“user_id”: 90
},
“learn_more_count”: 0,
“podcastName”: “Now what”,
“first_time_next_reco”: true,
“media_video_count”: 0,
“app_launched”: 6,
“session_learn_more”: false,
“media_item_topic_count”: 0,
“before_playing_media”: false,
“global_type”: 2,
“first_question_answered”: false,
“on_recommend_player”: true,
“learn_more_topics_randomization”: false,
“on_player”: true,
“recommended”: false,
“podcast_word”: “”,
“media_item_count”: 0,
“media_topic_count”: 0,
“topicCount”: 0,
“evaluate_first_TOM”: true
}
}
}
Anyone happen to run into something like this before? We are storing extra data in the jovo $session.$data object. Is there perhaps a limit we would be running into which would drop the data?
Thanks!
-Bill