Updated: September 6, 2023
Internal platform changes that are not visible to capsule developers will be communicated via internal status updates.
As part of the ongoing changes for Voice UX, we've added a new runtime flag enhanced-list-navigation
, which changes how items are read when using voice to navigate a list. Items in lists while using navigation modes are no longer paginated when this flag is enabled.
capsule {
...
runtime-version (8) {
overrides {
enhanced-list-navigation
}
}
}
When enhanced-list-navigation
is enabled, the default page-size
will change depending on the target device. If the device is being used in hands-on mode, the navigation-mode
block will not be evaluated. Additionally, the list-summary
block will only be used when the device is in hands-free mode. End-users can choose an item with ordinals relative to the whole list, not just the list displayed. When using hands-free mode, ordinals are relative to the currently highlighted items for bixby-watch
devices; otherwise, ordinals are relative to the whole list.
You can also use the show-ordinals-on-list
key to decide if ordinals (1., 2., etc.
) are shown in front of list items when enhanced list navigation is enabled. This can be set at a capsule level or at a View level. For more information, see the show-ordinals-on-list
reference page.
You can use the getPreviousFocus
Expression Language (EL) function to return only the previously focused items within a list. The getPreviousFocus
EL function is not dependent on if show-ordinals-on-list
is enabled. This is in contrast to the getPreviousPage
EL function, which returns the full list of results when show-ordinals-on-list
is enabled.
We've improved the performance of making calls that involve config & secrets.
Third-party capsules should no longer use the bixby.contact
library capsule to call the findContact(keyword)
. Instead, use viv.location
with Autosuggest
and Autocomplete
to get contact information.
Additionally, we've introduced a way for you to restrict which capsules can access specific actions through your endpoints. You can limit access to the action by allowing a capsule organization or a specific capsule.
...
action-endpoint (GetContactPermission) { // wrapped by FindContact
accepted-inputs ()
local-endpoint (GetContactPermission.js)
required-permissions {
permission (contacts) {
restricted {
org (viv)
org (samsung)
org (bixby)
capsule(test.actionAllowed)
}
}
}
}
...
If a capsule developer tries to import and use that restricted action, they will get an error.