Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

HMI responds with SUCCESS result code to the VR.PerformInteraction request in case choice was not performed in BOTH interaction mode #412

Closed
GetmanetsIrina opened this issue Jun 29, 2021 · 1 comment
Labels

Comments

@GetmanetsIrina
Copy link

GetmanetsIrina commented Jun 29, 2021

Bug Report

HMI responds with SUCCESS result code to the VR.PerformInteraction request in case choice was not performed in BOTH interaction mode

Precondition
  1. HMI and SDL are started
  2. Mobile app is registered and activated
  3. CreateInteractionChoiceSet is added
Reproduction Steps
  1. Mobile app requests PerformInteraction RPC with interactionMode=BOTH
Expected Behavior

HMI responds with an unsuccess result code (ABORTED e.g.) because has no implementation for VR part, HMI can respond with SUCCESS result code in BOTH interaction mode only in case when a user has picked the choice on HMI.

Observed Behavior
  1. HMI responds with SUCCESS result code
  2. SDL tries to close UI.PerformInteraction request by UI.ClosePopUp request because already got success for VR part
  3. HMI does not process UI.ClosePopUp and continues to process UI.PerformInteraction
  4. In the end after UI.PerformInteraction response SDL defines such response with success=true even in case of unsuccessful response for UI.PerformIntraction
incoming rpc 
{id: 276, jsonrpc: "2.0", method: "VR.PerformInteraction", params: {…}}
Controller.js:96 outgoing rpc 
{jsonrpc: "2.0", id: 276, result: {…}}
id: 276
jsonrpc: "2.0"
result: {code: 0, method: "VR.PerformInteraction"}
__proto__: Object
Controller.js:59 incoming rpc 
{id: 277, jsonrpc: "2.0", method: "UI.PerformInteraction", params: {…}}
id: 277
jsonrpc: "2.0"
method: "UI.PerformInteraction"
params: {appID: 969338558, cancelID: 0, choiceSet: Array(1), initialText: {…}, interactionLayout: "ICON_ONLY", …}
__proto__: Object
Controller.js:96 outgoing rpc 
{jsonrpc: "2.0", method: "UI.OnSystemContext", params: {…}}
Controller.js:59 incoming rpc 
{id: 278, jsonrpc: "2.0", method: "UI.ClosePopUp", params: {…}}
id: 278
jsonrpc: "2.0"
method: "UI.ClosePopUp"
params: {methodName: "UI.PerformInteraction"}
__proto__: Object
Controller.js:96 outgoing rpc 
{jsonrpc: "2.0", id: 278, result: {…}}
id: 278
jsonrpc: "2.0"
result:
code: 22
method: "UI.ClosePopUp"
__proto__: Object
__proto__: Object
Controller.js:96 outgoing rpc 
{jsonrpc: "2.0", id: 277, error: {…}}
error: {code: 10, message: "UI.PerformInteraction Timed Out", data: {…}}
id: 277
jsonrpc: "2.0"
__proto__: Object
Browser & Version Information
  • Browser and Version: Chromium, Version 91.0.4472.101
  • Generic HMI Version: 0.10
  • Testing Against: OS: Ubuntu 18.04, Mobile app: SyncProxyTester(20210407)
@jacobkeeler
Copy link
Contributor

Fixed as part of #398

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants