{"action":"created","issue":{"url":"https://api.github.com/repos/smartdevicelink/sdl_evolution/issues/605","repository_url":"https://api.github.com/repos/smartdevicelink/sdl_evolution","labels_url":"https://api.github.com/repos/smartdevicelink/sdl_evolution/issues/605/labels{/name}","comments_url":"https://api.github.com/repos/smartdevicelink/sdl_evolution/issues/605/comments","events_url":"https://api.github.com/repos/smartdevicelink/sdl_evolution/issues/605/events","html_url":"https://github.com/smartdevicelink/sdl_evolution/pull/605","id":368303802,"node_id":"MDExOlB1bGxSZXF1ZXN0MjIxNTEyNDky","number":605,"title":"Revise SDL-0071 - remove default value for parameter subscribe in RPC GetInteriorVehicleData","user":{"login":"yang1070","id":12255391,"node_id":"MDQ6VXNlcjEyMjU1Mzkx","avatar_url":"https://avatars1.githubusercontent.com/u/12255391?v=4","gravatar_id":"","url":"https://api.github.com/users/yang1070","html_url":"https://github.com/yang1070","followers_url":"https://api.github.com/users/yang1070/followers","following_url":"https://api.github.com/users/yang1070/following{/other_user}","gists_url":"https://api.github.com/users/yang1070/gists{/gist_id}","starred_url":"https://api.github.com/users/yang1070/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/yang1070/subscriptions","organizations_url":"https://api.github.com/users/yang1070/orgs","repos_url":"https://api.github.com/users/yang1070/repos","events_url":"https://api.github.com/users/yang1070/events{/privacy}","received_events_url":"https://api.github.com/users/yang1070/received_events","type":"User","site_admin":false},"labels":[{"id":422606014,"node_id":"MDU6TGFiZWw0MjI2MDYwMTQ=","url":"https://api.github.com/repos/smartdevicelink/sdl_evolution/labels/accepted","name":"accepted","color":"7ebc79","default":false},{"id":418843516,"node_id":"MDU6TGFiZWw0MTg4NDM1MTY=","url":"https://api.github.com/repos/smartdevicelink/sdl_evolution/labels/core","name":"core","color":"ef5e69","default":false},{"id":434331901,"node_id":"MDU6TGFiZWw0MzQzMzE5MDE=","url":"https://api.github.com/repos/smartdevicelink/sdl_evolution/labels/review%20revision%20update","name":"review revision update","color":"58bcb9","default":false},{"id":418843609,"node_id":"MDU6TGFiZWw0MTg4NDM2MDk=","url":"https://api.github.com/repos/smartdevicelink/sdl_evolution/labels/rpc","name":"rpc","color":"c691c5","default":false}],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":5,"created_at":"2018-10-09T16:52:02Z","updated_at":"2018-10-10T15:14:09Z","closed_at":"2018-10-10T15:10:08Z","author_association":"CONTRIBUTOR","pull_request":{"url":"https://api.github.com/repos/smartdevicelink/sdl_evolution/pulls/605","html_url":"https://github.com/smartdevicelink/sdl_evolution/pull/605","diff_url":"https://github.com/smartdevicelink/sdl_evolution/pull/605.diff","patch_url":"https://github.com/smartdevicelink/sdl_evolution/pull/605.patch"},"body":"# Introduction\r\n\r\nThe xml interface of RPC `GetInteriorVehicleData` does not match the description in proposal [SDL-0071](https://github.com/yang1070/sdl_evolution/blob/master/proposals/0071-remote-control-baseline.md).\r\n\r\nThe proposal  [SDL-0071](https://github.com/yang1070/sdl_evolution/blob/master/proposals/0071-remote-control-baseline.md) clearly called out 3 related APIs shall be provided\r\n- API to read RC module status data.\r\n- API to subscribe RC module status/setting change notifications.\r\n- API to unsubscribe RC module status/setting change notifications.\r\n\r\nHowever, the xml spec has `defvalue=\"false\"` for the parameter `subscribe` in RPC `GetInteriorVehicleData`.   Setting a default value to false means if the parameter `subscribe`  is not provided in the RPC call, SDL shall treat it as `false` and perform a un-subscribe action. Thus, it has the side effect to eliminate the first API, which is to read RC module status data only without changing the subscription status.\r\n\r\n# Motivation\r\nFix the issues.\r\n\r\n# Proposed solution\r\n\r\nRemove  `defvalue=\"false\"` in both mobile and hmi api and update parameter description.\r\n ```xml\r\n<param name=\"subscribe\" type=\"Boolean\" mandatory=\"false\" >\r\n```\r\n\r\n# Potential downsides\r\nThe developers currently using this unintended behavior as the correct behavior will have their implementations break/change. For example, if a developer assumed they could just send a GetInteriorVehicleData without the subscribe parameter to unsubscribe from the module, their app would actually remain subscribed which means they would receive OnInteriorVehicleData updates.\r\n\r\n# Impact on existing code\r\n\r\nThe defValue inclusion created unintended behavior from inception. This means that the 4.5 spec would require a hotfix to remove the defValue tag and update the description. In the 5.0 RPC spec we will add the history tag for the 4.5 to 4.5.1 change. This would require the Core releases to be updated that used the 4.5 spec. This obviously takes a bit of effort, but makes the most sense.\r\n\r\nRPC (mobile_api and hmi_api)  spec shall be updated.\r\nAndroid and iOS implementations will also need to be updated to remove the behavior of the default value of this parameter.\r\n\r\n# Alternatives considered\r\nNo alternatives were considered by the author.\r\n"},"comment":{"url":"https://api.github.com/repos/smartdevicelink/sdl_evolution/issues/comments/428612258","html_url":"https://github.com/smartdevicelink/sdl_evolution/pull/605#issuecomment-428612258","issue_url":"https://api.github.com/repos/smartdevicelink/sdl_evolution/issues/605","id":428612258,"node_id":"MDEyOklzc3VlQ29tbWVudDQyODYxMjI1OA==","user":{"login":"theresalech","id":22600496,"node_id":"MDQ6VXNlcjIyNjAwNDk2","avatar_url":"https://avatars2.githubusercontent.com/u/22600496?v=4","gravatar_id":"","url":"https://api.github.com/users/theresalech","html_url":"https://github.com/theresalech","followers_url":"https://api.github.com/users/theresalech/followers","following_url":"https://api.github.com/users/theresalech/following{/other_user}","gists_url":"https://api.github.com/users/theresalech/gists{/gist_id}","starred_url":"https://api.github.com/users/theresalech/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/theresalech/subscriptions","organizations_url":"https://api.github.com/users/theresalech/orgs","repos_url":"https://api.github.com/users/theresalech/repos","events_url":"https://api.github.com/users/theresalech/events{/privacy}","received_events_url":"https://api.github.com/users/theresalech/received_events","type":"User","site_admin":false},"created_at":"2018-10-10T15:14:09Z","updated_at":"2018-10-10T15:14:09Z","author_association":"CONTRIBUTOR","body":"Core issue: https://github.com/smartdevicelink/sdl_core/issues/2657"}}
{"actor":{"display_login":"theresalech"}}