Giter Site home page Giter Site logo

smartdevicelink / manticore Goto Github PK

View Code? Open in Web Editor NEW
6.0 6.0 4.0 1.78 MB

Dynamically provision SDL Core and SDL HMI instances in the cloud

License: BSD 3-Clause "New" or "Revised" License

JavaScript 97.32% Dockerfile 0.08% HCL 0.24% CSS 2.01% HTML 0.35%

manticore's People

Contributors

ckachur avatar cmaylone avatar crokita avatar dependabot[bot] avatar raedalmomani avatar renonick87 avatar theresalech avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

manticore's Issues

[SDL 0173] Read Generic Network Signal Data

Proposal: Read Generic Network Signal Data

This proposal is to make vehicle data APIs (GetVehicleData/SubscribeVehicleData/UnsubscribeVehicleData/OnVehicleData) more flexible to allow additional new vehicle data items, while maintaining the security access via policies.

Review: smartdevicelink/sdl_evolution#502

Steering Committee Decision:

The Steering Committee voted to accept this proposal with revisions. The author is to add a statement explaining how old core implementations using this method can be updated to expose new standardized vehicle data items. Additionally, the author is to add the three revisions noted in this comment.

The proposal .md was updated on March 11, 2019 to include the agreed upon revisions.

Driver Distraction Notifications Needed

Manticore should support DD Notifications (DD_On and DD_Off). This is a major point of testing needed for all applications that use the SDL library.

  1. There should be a switch that allows Moving (DD_On) and Parked (DD_Off) to be triggered manually.
  2. When the speed slider is set to 0, a DD_Off notification should be sent. When speed != 0, a DD_On notification should be sent

Rewrite the process of how users get their instances

The current process is difficult to follow, passes around objects in multiple files with modifications, and is difficult to see whether all error cases have been covered (such as handling failed job submissions).

The code should be easier to read and less error-prone, preferably using the async/await syntax.

Menu needs a back button

Bug Report

Manticore's menu does not have a back button. This means that the user is forced to select a menu item in order to exit the menu. This is an issue because I often accidentally open the menu and I just want to close it. In addition, if the menu is empty, there is no way to exit the menu.

OS & Version Information

Manticore Version: 1.2.0
Web Browser: Chrome v. 65.0.3325.181

[SDL 0186] Template Titles

Proposal: Template Titles

Templates should have the capability to have a title to help orient the user in the UI.

Review: smartdevicelink/sdl_evolution#542

Steering Committee Decision:

The Steering Committee voted to accept this proposal with revisions. The revisions will include adding the parameter to the Show RPC and also renaming the parameter to something more specific, such as TemplateTitle.
The proposal .md file was updated to reflect these revisions on 7/18/18.

Add Policy Server URL Field to Manticore UI

A field in the Manticore UI for changing the url of where updated policy tables are will allow a developer to use something like the open source policy server to test their policies with applications connected over Manticore.

No Scrolling Ability in VR Tab on Manticore UI

Bug Report

The VR tab for the Manticore UI doesn't allow scrolling through the AddCommand buttons if there are too many.

Reproduction Steps

Connect an app through Manticore, and try sending a bunch of VR AddCommands. Shrink the browser window so that not all the commands are visible.

Expected Behavior

Scrolling is enabled.

Observed Behavior

Scrolling is disabled.

[SDL 0221] Remote Control - Allow Multiple Modules per Module Type

Proposal: Remote Control - Allow Multiple Modules per Module Type

SDL remote control baseline proposal SDL-0071 groups available controllable items of the same category into a RC module type. SDL defines six module types: RADIO, CLIMATE, AUDIO, LIGHT, HMI_SETTINGS and SEAT. SDL allows only one module per module type so far. However, there are production needs to support multiple modules of the same module type. For example, some vehicles in the market are equipped with "dual-zone" climate control systems. There are also "tri-zone" or even "quad-zone" climate control in the existing vehicles. Some vehicles in the market have seat control for several seats (driver's seat, front passenger's seat for example). Some vehicles have both a default entertainment system and a back seat entertainment system. There are car headrest monitors, seat back monitors, car roof mount monitors and flip down screens. Passengers can use a back seat entertainment system to play video, audio or even games.

Review: smartdevicelink/sdl_evolution#700

Steering Committee Decision:

The Steering Committee voted to accept this proposal with the following revisions:

  • The default userLocation should be DRIVER to ensure backwards compatibility
  • Add new non-mandatory userLocation parameter to SetGlobalProperties RPC instead of including userLocation as a parameter in each Remote Control request, such as GetInteriorVehicleDataConsent, SetInteriorVehicleData`, etc.

The proposal .md file was updated to reflect these revisions on 5/21/19.

[SDL 0116] Open Menu RPC

Proposal: Open Menu RPC

This proposal is about providing the capability to open the built-in app-menu which is provided by the native UI.

Review: smartdevicelink/sdl_evolution#352

Steering Committee Decision:

The Steering Committee voted to accept this proposal, with the revision outlined in kshala-ford's last comment. There was also discussion about allowing an RPC to close the menu, but it was determined that this proposal works to address when there isn't a system button on the screen, and there would always be a system button giving the user the option to close.

The proposal .md was updated on December 4, 2017 to include the agreed upon revisions.

[SDL 0148] Template Improvements: Additional SubMenus

Proposal: Template Improvements: Additional SubMenus

Currently, SDL is by far the most restrictive among its competitors for drilling down into menus. It only allows the top menu and one submenu (additional submenus can be "faked" using Choice Sets). CarPlay, for example, allows at least 3 levels of drilling, this was the most I could find in the apps I use (in addition to tabs at the top, which is a kind-of 4th level). CarPlay allows as much drilling as desired by the user in the car, but prevents scrolling while moving. For future updates, we should allow further menu depth. For driver distraction reasons, a later proposal will allow restriction of menu depth while driving to replicate current restrictions if desired.

Review: smartdevicelink/sdl_evolution#423

Steering Committee Decision:

The Steering Committee has voted to accept this proposal with the following revisions: update proposal to only include details regarding "Allowing Submenu's with parentID's that refer another Submenu." A separate proposal will be entered to discuss "Allowing Core to define driver distraction parameters for HMI."

When discussing submenus, a few additional points were made:

Right now, this is only considered for submenus, but driver distraction guidelines could be extended to include choice sets for interactions as well (including list length)
Proposal outlines the same behavior as is currently in place for submenus, but extends to allow a submenu to have a submenu

The proposal .md was updated on March 22, 2018 to include the agreed upon revisions.

Batch Sending RPCs issue with Manticore

Bug Report

Sending RPC batches over Manticore causes an unexpected issue where only some of the RPCs are successful.

Reproduction Steps

Connect an app through Manticore, and try sending 20 CreateInteractionChoiceSet RPCs concurrently.

Expected Behavior

All CICS's are successful.

Observed Behavior

Only the first four CICS's are successful, and the rest fail (GENERIC_ERROR)

[SDL 0213] Remote Control - Radio and Climate Parameter Update

Proposal: Remote Control - Radio and Climate Parameter Update

This proposal changes the minimum index of HD radio sub-channels from 1 to 0.
In addition, we propose to add a new parameter climateEnable to ClimateControlData which will allow an application to power climate control on or off.

smartdevicelink/sdl_evolution#643

Steering Committee Decision:

The Steering Committee voted to accept this proposal with revisions. The author is to update this proposal to state that availableHDs and availableHdsAvailable are deprecated entirely if the functionality is subsumed by availableHDChannels as finalized in this comment.

Revisions were made on 2019-01-02

[SDL 0242] Subtle Alert Style

Proposal: Subtle Alert Style

This feature adds the SubtleAlert RPC, which presents a style of alert: the "subtle" alert. This is a "notification style" alert that does not take over the entire screen.

Review: smartdevicelink/sdl_evolution#777

Steering Committee Decision:

The Steering Committee voted to accept this proposal with the following revision: update to use alternate approach 1, for the reasons identified in this comment from the Project Maintainer.

The proposal .md file was updated to reflect these revisions on 7/22/19.

[SDL 0216] Widget support

Proposal: Widget support

This proposal is about widget support for SDL applications on modern infotainment systems and large displays. At the same time the proposed feature should prepare SDL for multi-window and multi-display support.

Review: smartdevicelink/sdl_evolution#664

Steering Committee Decision:

The Steering Committee voted to accept this proposal with the agreed upon revisions, described in this comment and included in PR #729.

The proposal .md file was updated to reflect these revisions on 5/20/19.

Part of the alert box extends off the screen

Bug Report

When showing an alert on Manticore, part of the alert box extends off the screen.

On generic_hmi, it looks like the entire background is darkened, so it looks like the entire view is slightly offset on Manticore.

Reproduction Steps
  1. Connect app to Manticore
  2. Send a SDLAlert RPC
Expected Behavior

The alert box should be centered on the screen.

Observed Behavior

The alert box extends off the screen

OS & Version Information
  • Web Browser: Google Chrome Version 70.0.3538.110 (Official Build) (64-bit)
  • HMI Version: Generic HMI v0.5.1.
  • Core Version: SDL Core v5.0.1
Test Case, Sample Code, and / or Example App

manticore alert bug

Connection is established but the UI elements don't come out as expected

Sorry guys, I'm not sure whether here's the correct place to ask such a question though:

I'm trying connecting to manticore instances (https://smartdevicelink.com/resources/manticore/) from the SDL Android sample app (https://smartdevicelink.com/en/guides/android/getting-started-with-android/hello-sdl-android/) with tcpDebug configuration.

The connection seems to be established however the UI elements don't come out as expected:

image

Error logs:

 19661 ERROR [05:56:38,807][HMIMessageHandler] Subscriber already exists!

 19686 ERROR [05:56:38,807][HMIMessageHandler] Subscriber already exists!

 19721 ERROR [05:56:38,808][HMIMessageHandler] Subscriber already exists!

 19743 ERROR [05:56:38,811][HMIMessageHandler] Subscriber already exists!

 19973 ERROR [05:56:39,022][HMIMessageHandler] Request with id: 21 has not been found!

 20052 ERROR [05:56:39,026][HMIMessageHandler] Request with id: 23 has not been found!

 20137 ERROR [05:56:39,034][HMIMessageHandler] Request with id: 25 has not been found!

 20233 ERROR [05:56:39,246][RPCHandlerImpl] Incorrect parameter from HMI - RPC.msg_params.audioPassThruCapabilities.bitsPerSample: Invalid enum value: RATE_8_BIT

 20345 ERROR [05:56:39,266][HMIMessageHandler] Request with id: 37 has not been found!

 20375 ERROR [05:56:39,432][HMIMessageHandler] Request with id: 39 has not been found!

 20486 ERROR [05:56:40,831][ApplicationManager] Navi/Projection application not found

 20494 ERROR [05:56:40,832][Commands] Substitution mobile --> HMI id is failed.

 20509 ERROR [05:56:40,835][ApplicationManager] Message doesn't contain parameter app_id

 20578 ERROR [05:56:40,913][ConnectionHandler] Device not found!

 20598 ERROR [05:56:40,914][StateControllerImpl] State has NOT been changed.

 20751 ERROR [05:56:41,119][HMIMessageHandler] Request with id: 45 has not been found!

 20772 ERROR [05:56:41,119][HMIMessageHandler] Request with id: 47 has not been found!

 20781 ERROR [05:56:42,825][Commands] Substitution mobile --> HMI id is failed.

 20797 ERROR [05:56:42,826][Policy] Policy table is not valid.

 20871 ERROR [05:56:43,060][HMIMessageHandler] Request with id: 48 has not been found!

 20966 DEBUG [05:56:43,273][Commands] Header added: { "HTTPRequest": {"headers": {"ContentType": "application/json","ConnectTimeout": 60,"DoOutput": true,"DoInput": true,"UseCaches": false,"RequestMethod": "POST","ReadTimeout":60,"InstanceFollowRedirects": false,"charset": "utf-8","Content-Length": 16649},"body": "{\"policy_table\":{\"app_policies\":{\"8678309\":\"default\",\"default\":{\"RequestSubType\":[],\"RequestType\":[],\"app_services\":{\"MEDIA\":{\"parameters\":[{\"function_id\":39},{\"function_id\":41},{\"function_id\":48},{\"function_id\":52},{\"function_id\":53},{\"function_id\":32786},{\"function_id\":32787}]},\"NAVIGATION\":{\"parameters\":[{\"function_id\":39},{\"function_id\":41},{\"function_id\":45},{\"function_id\":46},{\"function_id\":48},{\"function_id\":52},{\"function_id\":53},{\"function_id\":32784},{\"function_id\":32786},{\"function_id\":32787}]},\"WEATHER\":{\"parameters\":[{\"function_id\":39},{\"function_id\":41},{\"function_id\":48},{\"function_id\":52},{\"function_id\":53},{\"function_id\":32786},{\"function_id\":32787}]}},\"groups\":[\"Base-4\",\"Location-1\",\"Notifications\",\"Notifications-RC\",\"DrivingCharacteristics-3\",\"VehicleInfo-3\",\"PropriataryData-1\",\"PropriataryData-2\",\"ProprietaryData-3\",\"CloudAppStore\",\"CloudApp\",\"AppServiceProvider\",\"AppServiceConsumer\",\"RemoteControl\",\"Emergency-1\",\"Navigation-1\",\"Base-6\",\"OnKeyboardInputOnlyGroup\",\"OnTouchEventOnlyGroup\",\"DiagnosticMessageOnly\",\"DataConsent-2\",\"BaseBeforeDataConsent\",\"SendLocation\",\"WayPoints\",\"BackgroundAPT\",\"HapticGroup\"],\"memory_kb\":0,\"moduleType\":[\"CLIMATE\",\"RADIO\",\"SEAT\",\"AUDIO\",\"LIGHT\",\"HMI_SETTINGS\"],\"priority\":\"NONE\"},\"device\":{\"priority\":\"NONE\"},\"pre_DataConsent\":{\"groups\":[\"BaseBeforeDataConsent\"],\"memory_kb\":0,\"priority\":\"NONE\"}},\"consumer_friendly_messages\":{\"version\":\"001.001.021\"},\"device_data\":{\"98563ad8e76948e985420768f8d19b45b887a2d5e7650cac1d91d46755b2c022\":{},\"d92ec52974d1118683f10234b43c41a6cf9dc9bd898a77d6da91387c459e9d56\":{}},\"functional_groupings\":{\"AppServiceConsumer\":{\"rpcs\":{\"GetAppServiceData\":{\"hmi_levels\":[\"FULL\",\"LIMITED\",\"BACKGROUND\",\"NONE\"]},\"GetFile\":{\"hmi_levels\":[\"FULL\",\"LIMITED\",\"BACKGROUND\",\"NONE\"]},\"OnAppServiceData\":{\"hmi_levels\":[\"FULL\",\"LIMITED\",\"BACKGROUND\",\"NONE\"]},\"PerformAppServiceInteraction\":{\"hmi_levels\":[\"FULL\",\"LIMITED\",\"BACKGROUND\",\"NONE\"]}}},\"AppServiceProvider\":{\"rpcs\":{\"GetAppServiceData\":{\"hmi_levels\":[\"FULL\",\"LIMITED\",\"BACKGROUND\",\"NONE\"]},\"OnAppServiceData\":{\"hmi_levels\":[\"FULL\",\"LIMITED\",\"BACKGROUND\",\"NONE\"]},\"PerformAppServiceInteraction\":{\"hmi_levels\":[\"FULL\",\"LIMITED\",\"BACKGROUND\",\"NONE\"]},\"PublishAppService\":{\"hmi_levels\":[\"FULL\",\"LIMITED\",\"BACKGROUND\",\"NONE\"]}}},\"BackgroundAPT\":{\"rpcs\":{\"EndAudioPassThru\":{\"hmi_levels\":[\"BACKGROUND\"]},\"OnAudioPassThru\":{\"hmi_levels\":[\"BACKGROUND\"]},\"PerformAudioPassThru\":{\"hmi_levels\":[\"BACKGROUND\"]}}},\"Base-4\":{\"rpcs\":{\"AddCommand\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\"]},\"AddSubMenu\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\"]},\"Alert\":{\"hmi_levels\":[\"FULL\",\"LIMITED\"]},\"ChangeRegistration\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\",\"NONE\"]},\"CreateInteractionChoiceSet\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\"]},\"DeleteCommand\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\"]},\"DeleteFile\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\",\"NONE\"]},\"DeleteInteractionChoiceSet\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\"]},\"DeleteSubMenu\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\"]},\"EncodedSyncPData\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\",\"NONE\"]},\"EndAudioPassThru\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\"]},\"GenericResponse\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\"]},\"GetSystemCapability\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\",\"NONE\"]},\"ListFiles\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\",\"NONE\"]},\"OnAppInterfaceUnregistered\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\",\"NONE\"]},\"OnAudioPassThru\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\"]},\"OnButtonEvent\":{\"hmi_levels\":[\"FULL\",\"LIMITED\",\"BACKGROUND\"]},\"OnButtonPress\":{\"hmi_levels\":[\"FULL\",\"LIMITED\",\"BACKGROUND\"]},\"OnCommand\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\"]},\"OnDriverDistraction\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\",\"NONE\"]},\"OnEncodedSyncPData\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\",\"NONE\"]},\"OnHMIStatus\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\",\"NONE\"]},\"OnHashChange\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\",\"NONE\"]},\"OnLanguageChange\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\",\"NONE\"]},\"OnPermissionsChange\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\",\"NONE\"]},\"OnSystemCapabilityUpdated\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\",\"NONE\"]},\"OnSystemRequest\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\",\"NONE\"]},\"PerformAudioPassThru\":{\"hmi_levels\":[\"FULL\",\"LIMITED\"]},\"PerformInteraction\":{\"hmi_levels\":[\"FULL\",\"LIMITED\"]},\"PutFile\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\",\"NONE\"]},\"RegisterAppInterface\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\",\"NONE\"]},\"ResetGlobalProperties\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\",\"NONE\"]},\"ScrollableMessage\":{\"hmi_levels\":[\"FULL\"]},\"SetAppIcon\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\",\"NONE\"]},\"SetDisplayLayout\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\",\"NONE\"]},\"SetGlobalProperties\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\",\"NONE\"]},\"SetMediaClockTimer\":{\"hmi_levels\":[\"FULL\",\"LIMITED\",\"BACKGROUND\"]},\"Show\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\"]},\"Slider\":{\"hmi_levels\":[\"FULL\"]},\"Speak\":{\"hmi_levels\":[\"FULL\",\"LIMITED\"]},\"SubscribeButton\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\"]},\"SystemRequest\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\",\"NONE\"]},\"UnregisterAppInterface\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\",\"NONE\"]},\"UnsubscribeButton\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\"]}}},\"Base-6\":{\"rpcs\":{\"AddCommand\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\"]},\"AddSubMenu\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\"]},\"Alert\":{\"hmi_levels\":[\"FULL\",\"LIMITED\"]},\"ChangeRegistration\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\",\"NONE\"]},\"CreateInteractionChoiceSet\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\"]},\"DeleteCommand\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\"]},\"DeleteFile\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\",\"NONE\"]},\"DeleteInteractionChoiceSet\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\"]},\"DeleteSubMenu\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\"]},\"EncodedSyncPData\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\",\"NONE\"]},\"EndAudioPassThru\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\"]},\"GenericResponse\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\"]},\"ListFiles\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\",\"NONE\"]},\"OnAppInterfaceUnregistered\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\",\"NONE\"]},\"OnAudioPassThru\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\"]},\"OnButtonEvent\":{\"hmi_levels\":[\"FULL\",\"LIMITED\"]},\"OnButtonPress\":{\"hmi_levels\":[\"FULL\",\"LIMITED\"]},\"OnCommand\":{\"hmi_levels\":[\"FULL\",\"LIMITED\"]},\"OnDriverDistraction\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\",\"NONE\"]},\"OnEncodedSyncPData\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\",\"NONE\"]},\"OnHMIStatus\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\",\"NONE\"]},\"OnLanguageChange\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\",\"NONE\"]},\"OnPermissionsChange\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\",\"NONE\"]},\"OnSyncPData\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\",\"NONE\"]},\"OnTBTClientState\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\"]},\"PerformAudioPassThru\":{\"hmi_levels\":[\"FULL\",\"LIMITED\"]},\"PerformInteraction\":{\"hmi_levels\":[\"FULL\",\"LIMITED\"]},\"PutFile\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\",\"NONE\"]},\"RegisterAppInterface\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\",\"NONE\"]},\"ResetGlobalProperties\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\"]},\"ScrollableMessage\":{\"hmi_levels\":[\"FULL\"]},\"SetAppIcon\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\",\"NONE\"]},\"SetDisplayLayout\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\",\"NONE\"]},\"SetGlobalProperties\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\"]},\"SetMediaClockTimer\":{\"hmi_levels\":[\"FULL\"]},\"Show\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\"]},\"Slider\":{\"hmi_levels\":[\"FULL\"]},\"Speak\":{\"hmi_levels\":[\"FULL\",\"LIMITED\"]},\"SubscribeButton\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\"]},\"SyncPData\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\",\"NONE\"]},\"UnregisterAppInterface\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\",\"NONE\"]},\"UnsubscribeButton\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\"]}}},\"BaseBeforeDataConsent\":{\"rpcs\":{\"ChangeRegistration\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\",\"NONE\"]},\"DeleteFile\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\",\"NONE\"]},\"EncodedSyncPData\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\",\"NONE\"]},\"ListFiles\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\",\"NONE\"]},\"OnAppInterfaceUnregistered\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\",\"NONE\"]},\"OnEncodedSyncPData\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\",\"NONE\"]},\"OnHMIStatus\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\",\"NONE\"]},\"OnHashChange\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\",\"NONE\"]},\"OnLanguageChange\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\",\"NONE\"]},\"OnPermissionsChange\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\",\"NONE\"]},\"OnSystemRequest\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\",\"NONE\"]},\"PutFile\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\",\"NONE\"]},\"RegisterAppInterface\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\",\"NONE\"]},\"ResetGlobalProperties\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\",\"NONE\"]},\"SetAppIcon\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\",\"NONE\"]},\"SetDisplayLayout\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\",\"NONE\"]},\"SetGlobalProperties\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\",\"NONE\"]},\"SystemRequest\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\",\"NONE\"]},\"UnregisterAppInterface\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\",\"NONE\"]}}},\"CloudApp\":{\"rpcs\":{\"GetVehicleData\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\"],\"parameters\":[\"cloudAppVehicleID\"]},\"OnVehicleData\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\"],\"parameters\":[\"cloudAppVehicleID\"]},\"SubscribeVehicleData\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\"],\"parameters\":[\"cloudAppVehicleID\"]},\"UnsubscribeVehicleData\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\"],\"parameters\":[\"cloudAppVehicleID\"]}}},\"CloudAppStore\":{\"rpcs\":{\"GetCloudAppProperties\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\"]},\"SetCloudAppProperties\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\"]}}},\"DataConsent-2\":{\"rpcs\":null,\"user_consent_prompt\":\"DataConsent\"},\"DiagnosticMessageOnly\":{\"rpcs\":{\"DiagnosticMessage\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\"]}}},\"DrivingCharacteristics-3\":{\"rpcs\":{\"GetVehicleData\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\"],\"parameters\":[\"accPedalPosition\",\"beltStatus\",\"electronicParkBrakeStatus\",\"driverBraking\",\"myKey\",\"prndl\",\"rpm\",\"steeringWheelAngle\"]},\"OnVehicleData\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\"],\"parameters\":[\"accPedalPosition\",\"beltStatus\",\"electronicParkBrakeStatus\",\"driverBraking\",\"myKey\",\"prndl\",\"rpm\",\"steeringWheelAngle\"]},\"SubscribeVehicleData\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\"],\"parameters\":[\"accPedalPosition\",\"beltStatus\",\"electronicParkBrakeStatus\",\"driverBraking\",\"myKey\",\"prndl\",\"rpm\",\"steeringWheelAngle\"]},\"UnsubscribeVehicleData\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\"],\"parameters\":[\"accPedalPosition\",\"beltStatus\",\"electronicParkBrakeStatus\",\"driverBraking\",\"myKey\",\"prndl\",\"rpm\",\"steeringWheelAngle\"]}},\"user_consent_prompt\":\"DrivingCharacteristics\"},\"Emergency-1\":{\"rpcs\":{\"GetVehicleData\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\"],\"parameters\":[\"airbagStatus\",\"clusterModeStatus\",\"eCallInfo\",\"emergencyEvent\"]},\"OnVehicleData\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\"],\"parameters\":[\"airbagStatus\",\"clusterModeStatus\",\"eCallInfo\",\"emergencyEvent\"]},\"SubscribeVehicleData\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\"],\"parameters\":[\"airbagStatus\",\"clusterModeStatus\",\"eCallInfo\",\"emergencyEvent\"]},\"UnsubscribeVehicleData\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\"],\"parameters\":[\"airbagStatus\",\"clusterModeStatus\",\"eCallInfo\",\"emergencyEvent\"]}}},\"HapticGroup\":{\"rpcs\":{\"OnTouchEvent\":{\"hmi_levels\":[\"FULL\"]},\"SendHapticData\":{\"hmi_levels\":[\"FULL\"]}}},\"Location-1\":{\"rpcs\":{\"GetVehicleData\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\"],\"parameters\":[\"gps\",\"speed\"]},\"OnVehicleData\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\"],\"parameters\":[\"gps\",\"speed\"]},\"SubscribeVehicleData\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\"],\"parameters\":[\"gps\",\"speed\"]},\"UnsubscribeVehicleData\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\"],\"parameters\":[\"gps\",\"speed\"]}},\"user_consent_prompt\":\"Location\"},\"Navigation-1\":{\"rpcs\":{\"AlertManeuver\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\"]},\"ShowConstantTBT\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\"]},\"UpdateTurnList\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\"]}}},\"Notifications\":{\"rpcs\":{\"Alert\":{\"hmi_levels\":[\"BACKGROUND\"]}},\"user_consent_prompt\":\"Notifications\"},\"Notifications-RC\":{\"rpcs\":{\"OnHMIStatus\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\",\"NONE\"]},\"OnPermissionsChange\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\",\"NONE\"]},\"OnSystemRequest\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\",\"NONE\"]}}},\"OnKeyboardInputOnlyGroup\":{\"rpcs\":{\"OnKeyboardInput\":{\"hmi_levels\":[\"FULL\"]}}},\"OnTouchEventOnlyGroup\":{\"rpcs\":{\"OnTouchEvent\":{\"hmi_levels\":[\"FULL\"]}}},\"PropriataryData-1\":{\"rpcs\":{\"DiagnosticMessage\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\"]},\"GetDTCs\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\"]},\"ReadDID\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\"]}}},\"PropriataryData-2\":{\"rpcs\":{\"DiagnosticMessage\":{,\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\"]},\"GetDTCs\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\"]},\"ReadDID\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\"]}}},\"ProprietaryData-3\":{\"rpcs\":{\"GetDTCs\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\"]},\"ReadDID\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\"]}}},\"RemoteControl\":{\"rpcs\":{\"ButtonPress\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\"]},\"GetInteriorVehicleData\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\"]},\"OnInteriorVehicleData\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\"]},\"OnRCStatus\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\",\"NONE\"]},\"SetInteriorVehicleData\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\"]},\"SystemRequest\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\",\"NONE\"]}}},\"SendLocation\":{\"rpcs\":{\"SendLocation\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\"]}}},\"VehicleInfo-3\":{\"rpcs\":{\"GetVehicleData\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\"],\"parameters\":[\"bodyInformation\",\"deviceStatus\",\"engineOilLife\",\"engineTorque\",\"externalTemperature\",\"turnSignal\",\"fuelLevel\",\"fuelLevel_State\",\"headLampStatus\",\"instantFuelConsumption\",\"fuelRange\",\"cloudAppVehicleID\",\"odometer\",\"tirePressure\",\"vin\",\"wiperStatus\"]},\"OnVehicleData\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\"],\"parameters\":[\"bodyInformation\",\"deviceStatus\",\"engineOilLife\",\"engineTorque\",\"externalTemperature\",\"turnSignal\",\"fuelLevel\",\"fuelLevel_State\",\"headLampStatus\",\"instantFuelConsumption\",\"fuelRange\",\"cloudAppVehicleID\",\"odometer\",\"tirePressure\",\"vin\",\"wiperStatus\"]},\"SubscribeVehicleData\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\"],\"parameters\":[\"bodyInformation\",\"deviceStatus\",\"engineOilLife\",\"engineTorque\",\"externalTemperature\",\"turnSignal\",\"fuelLevel\",\"fuelLevel_State\",\"headLampStatus\",\"instantFuelConsumption\",\"fuelRange\",\"cloudAppVehicleID\",\"odometer\",\"tirePressure\",\"wiperStatus\"]},\"UnsubscribeVehicleData\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\"],\"parameters\":[\"bodyInformation\",\"deviceStatus\",\"engineOilLife\",\"engineTorque\",\"externalTemperature\",\"turnSignal\",\"fuelLevel\",\"fuelLevel_State\",\"headLampStatus\",\"instantFuelConsumption\",\"fuelRange\",\"cloudAppVehicleID\",\"odometer\",\"tirePressure\",\"wiperStatus\"]}},\"user_consent_prompt\":\"VehicleInfo\"},\"WayPoints\":{\"rpcs\":{\"GetWayPoints\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\"]},\"OnWayPointChange\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\"]},\"SubscribeWayPoints\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\"]},\"UnsubscribeWayPoints\":{\"hmi_levels\":[\"BACKGROUND\",\"FULL\",\"LIMITED\"]}}}},\"module_config\":{\"endpoints\":{\"0x04\":{\"default\":[\"http://x.x.x.x:3000/api/1/softwareUpdate\"]},\"0x07\":{\"default\":[\"http://x.x.x.x:3000/api/1/policies/proprietary\"]},\"lock_screen_icon_url\":{\"default\":[\"http://i.imgur.com/TgkvOIZ.png\"]},\"queryAppsUrl\":{\"default\":[\"http://sdl.shaid.server\"]}},\"exchange_after_x_days\":30,\"exchange_after_x_ignition_cycles\":100,\"exchange_after_x_kilometers\":1800,\"full_app_id_supported\":true,\"notifications_per_minute_by_priority\":{\"COMMUNICATION\":6,\"EMERGENCY\":60,\"NAVIGATION\":15,\"NONE\":0,\"NORMAL\":4,\"PROJECTION\":15,\"VOICECOM\":20},\"preloaded_pt\":false,\"seconds_between_retries\":[1,5,25,125,625],\"timeout_after_x_seconds\":60},\"module_meta\":{\"ignition_cycles_since_last_exchange\":0,\"pt_exchanged_at_odometer_x\":0,\"pt_exchanged_x_days_after_epoch\":0},\"usage_and_error_counts\":{\"app_level\":{\"8678309\":{\"count_of_TLS_errors\":0}}}}}"}}

 21032 ERROR [05:57:01,161][ApplicationManager] Navi/Projection application not found

And after clicked the icon:

image

 21055 ERROR [05:57:42,650][ApplicationManager] Unknown unregister reason -1

 21119 ERROR [05:57:42,836][Policy] Policy table is not valid.

 21193 ERROR [05:57:43,016][HMIMessageHandler] Request with id: 50 has not been found!

 21221 ERROR [05:57:43,057][Commands] There are no available applications for processing.

Does anyone have ideas?

[SDL 0262] New vehicle data SeatOccupancy

Proposal: New vehicle data SeatOccupancy

This proposal is to add new vehicle data SeatOccupancy to know if a vehicle seat is occupied and belted.

Review: smartdevicelink/sdl_evolution#870

Steering Committee Decision:

The Steering Committee voted to accept this proposal with the following revision: update SeatOccupancy parameter description to "Seat status array containing the location and whether the seats are belted."

The proposal .md file was updated to reflect these revisions on 12/4/19.

Update License.md to SDLC 2017

Actual: Copyright (c) 2014, Livio, a wholly owned subsidiary of Ford Motor Company All rights reserved...Neither the name of Livio, a wholly owned subsidiary of Ford Motor Company nor the names

Expected: Copyright (c) 2017 SmartDeviceLink Consortium, Inc. ... Neither the name of SmartDeviceLink Consortium, Inc. nor the names...

Console could have a filter field

It would be helpful if the console on manticore had a "filter" input box. If in other words if you have a console log:

Some log
Another log
My log
Your log
A dog

filtering on "log" would leave:

Some log
Another log
My log
Your log

filtering on "dog" would leave:

A dog

Soft buttons do not show up in the LargeGraphicWithSoftButtons template

Bug Report

For the template LargeGraphicWithSoftButtons, if sending more than 4 soft buttons in a show request, a SUCCESS response for the show request is returned, but no buttons show up on the screen.

Reproduction Steps
  1. Connect the SDL_iOS example app to Manticore via the Xcode emulator. The example app type is MEDIA, so the default template is MEDIA.
  2. Change the template to LargeGraphicWithSoftButtons. The show request will send 8 soft buttons.
Expected Behavior

The first 4 soft buttons sent in the show request will show up in the LargeGraphicWithSoftButtons template. The rest of the soft buttons will be ignored.

Observed Behavior

No soft buttons are shown in the LargeGraphicWithSoftButtons template.

OS & Version Information
  • iOS Version: iOS 11
  • SDL iOS Version: 5.0.0
  • Testing Against: Manticore, Chrome v. 61.0.3163.100
Test Case, Sample Code, and / or Example App

The SDL Example app is included with the SDL_iOSlibrary

[SDL 0119] SDL Passenger Mode

Proposal: SDL Passenger Mode

Allow a passenger to dismiss the lock screen to improve usability of applications. This re-visited proposal now includes a way for individual OEMs to control this mode via policy updates.

Review: smartdevicelink/sdl_evolution#359

Steering Committee Decision:

The Steering Committee voted to accept this proposal with the following revisions:

  • lockScreenDismissalEnabled param should not be mandatory
  • Swipe method to dismiss the lock screen
  • Be able to re-engage the lock screen if a notification is received, instead of allowing a lock screen to be disabled for the remainder of an app's session

The proposal .md was updated on April 12, 2018 to include the agreed upon revisions.
The proposal .md was updated again on June 26, 2019 to include revisions as outlined in accepted Evolution Proposal SDL 0119 Revisions - SDL-passenger-mode, which included expanding the feature to impact the Policy Server.

[SDL 0225] Update Published App Services

Proposal: Update Published App Services

Currently there is no way for an application to update the manifest of an app service or manually unpublish this service once it has been published. This proposal will detail the additions necessary to support this functionality.

Review: smartdevicelink/sdl_evolution#713

Steering Committee Decision:

The Steering Committee voted to accept this proposal with revisions. The revisions will include:

  • Add clarifying language to speak to this comment
  • Rename DeleteAppService to UnpublishAppService
  • Add language to specify that if nothing is updated when an app sends another PublishAppService RPC, Core will not send out any update to clients.
    Lastly, it was noted that details of deprecating an HMI API will be determined upon implementation.

The proposal .md file was updated to reflect these revisions on 5/9/19.

[SDL 0231] Add Tiles as an Option for Main Menus

Proposal: Add Tiles as an Option for Main Menus

In addition to a list of menu items, we should allow the developers the option to use a tiled layout for their menu.

Review: smartdevicelink/sdl_evolution#731

Steering Committee Decision:

The Steering Committee voted to accept this proposal with the following revision: clarify that if this proposal is implemented after SDL 0216 - Widget support, the menuLayouts parameter will be contained within the WindowCapability struct instead of the DisplayCapabilities struct.

The proposal .md file was updated to reflect these revisions on 5/23/19.

SetInteriorVehicleData RPC sometimes is REJECTED on developer portal Manticore

Symptoms found while testing:

The rate of failure seems to rely only on startup between manticore and core. so, there's a small chance (~20%) that when an instance is received, it will REJECT when an app connects and sends a setinterior. the failure rate doesn't seem to depend on what or how many setinteriors the app sends.

error messages: "User location is not valid", "Resource acquisition is not allowed according to location verification."

Im only able to reproduce the issue, and I was using the java suite app. I asked someone else to try and reproduce it and the error didn't happen.

the error happens when Im not sending in any specific module id. not sure whether sending a specific module id would cause the error to happen also

disconnecting the app and reconnecting the app will cause the setinterior RPCs to succeed
when it does succeed, it will not fail again (unless I got lucky)

I tried removing the seat capabilities in the RC capabilities response from the manticore UI and so far I haven't gotten any errors regarding setting RC data

being reasonably sure about a behavior meant attempting the process up to 14 times (using 95% certainty and assumed a 20% failure rate)

when the error does show up:
it will continue to error on successive setinteriors until the app disconnects and reconnects, then tries again
the RC resource is free
RC button presses dont work either. RC button presses via the UI will still work, but sending a ButtonPress RPC through the app results in REJECTED
for button presses being REJECTED, the same reason for failure happens as sending SetInteriors

[SDL 0238] Keyboard Enhancements

Proposal: Keyboard Enhancements

This proposal is about adding a new keyboard layout and adding new properties for keyboards supported by SDL. The following keyboard enhancements are discussed in this proposal.

Enhancement #1: Support for Numeric Keyboard.

Enhancement #2: Allow apps to mask entered characters.

Enhancement #3: Allow apps to change special characters shown on the keyboard layout.

Review: smartdevicelink/sdl_evolution#754

Steering Committee Decision:

The Steering Committee voted to accept this proposal with the revisions outlined in this comment from the author. The project maintainer also agreed to the author's point regarding INVALID_DATA (12).

The proposal .md file was updated to reflect these revisions on 7/22/19.

Update License to 2018

License file should be updated to "Copyright (c) 2017 - 2018 SmartDeviceLink Consortium, Inc."

VR commands are not reset or deleted properly

Bug Report

  1. When a DeleteCommand is sent, the corresponding voice command in the VR menu of Manticore should be removed from the list. Currently nothing happens when the DeleteCommand was sent successfully.
  2. When the app disconnects from Manticore, all items in the VR menu of Manticore should be deleted. Currently the voice commands from the previous session are visible. The only way to empty the VR list is power down Manticore.

OS & Version Information

Manticore Version: 1.2.0
SDL Core Version: 4.4.1
Web Browser: Chrome v. 65.0.3325.181

Templates are not correct on reconnect to Manticore

Bug Report

When reconnecting to Manticore via the same socket after killing and restarting the app, the template is set to whatever was the last template in the previous session instead of the default template for the app type.

Also, attempting to change the template closes the Manticore app. The app icon then needs to be selected to reopen the app (the template is usually set correctly). I have to power off Manticore and get a new socket before templates start working again.

Reproduction Steps
  1. Connect the SDL_iOS example app to Manticore via the Xcode emulator. The example app type is MEDIA, so the default template is MEDIA.
  2. Change the template to LargeGraphicWithSoftButtons (or any other supported template on Manticore)
  3. Stop the Xcode emulator. Manticore will stop the session and the dialog box with the ip address and port number will appear.
  4. Start the Xcode emulator and connect to Manticore using the ip address and port number from the dialog box in the above step.
Expected Behavior

The template should be set to MEDIA on reconnect. Templates should be changed successfully.

Observed Behavior

The template should be set to MEDIA on reconnect. Instead it is set to LargeGraphicWithSoftButtons. Changing the template closes the app on Manticore.

OS & Version Information
  • iOS Version: iOS 11
  • SDL iOS Version: 5.0.0
  • Testing Against: Manticore, Chrome v. 61.0.3163.100
Test Case, Sample Code, and / or Example App

The SDL Example app is included with the SDL_iOSlibrary

[SDL 0207] RPC message protection

Proposal: SDL 0207 - RPC message protection

This proposal proposes a design to protect (enable encryption for) RPC messages transmitted between a mobile application and the SDL.

smartdevicelink/sdl_evolution#634

Steering Committee Decision:

The Steering Committee voted to accept this proposal with revisions. The revisions will include adding a flag in the policy table per app that describes if they are required to comply with the encryption or not as noted in this comment.
There was additional discussion in regards to whether or not this encryption will be used in core from the policy table, essentially authentication and validation or if this flag needs to be passed from core into the proxies. It was determined that it is almost inferred by the proxies if they get an on-permission change with the new RPCs that are delegating they need to be encrypted and the app itself would need encryption, so core should send the on-permission changes to an app in regards to the RPC encryptions unless that app requires an encryption.

Revisions were made on 2.19.19

[SDL 0224] Navigation Subscription Buttons

Proposal: Navigation Subscription Buttons

This proposal adds support for new subscription buttons (like the existing Play/Pause, Next, Previous, etc.) specifically designed for navigation scenarios.

Review: smartdevicelink/sdl_evolution#712

Steering Committee Decision:

The Steering Committee voted to accept this proposal with the following revisions:

  • Incorporate this comment, with NAV_ROTATE including rotating left or right 90 degrees.
  • Add button press to the Navigation Service's handled RPCs with these new button types.

Additionally, there was a question in the Steering Committee meeting about requiring applications to be compatible with this proposal. It was advised that this requirement is out of the scope of SDL, and OEMs would need to ask application developers to implement this proposal once it's available in the library for developers to implement.

The proposal .md file was updated to reflect these revisions on 5/20/19.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.