rdkcentral / firebolt-apis Goto Github PK
View Code? Open in Web Editor NEWThe Firebolt API OpenRPC schemas and SDK artifact configurations.
License: Apache License 2.0
The Firebolt API OpenRPC schemas and SDK artifact configurations.
License: Apache License 2.0
Hi, we are trying to import the library which uses the export syntax but the console reports the error "nextjs syntaxerror unexpected token 'export'".
As next.js supports ES Modules we are not expecting such errors.
https://ccp.sys.comcast.net/browse/FIRE-314
Intents to handle:
Code like this:
https://github.com/rdkcentral/firebolt-core-sdk/blob/df37d9cab848fe48d8b586e58f2604dd3f9c7e5e/src/template/js/sdk/Lifecycle/index.mjs#L59-L71
is not tree-shakable.
If I only use Lifecycle.ready()
, the state
and finished
function shouldn't need to be bundled. One way to avoid this is to export each function individually and allow clients to import them separately.
https://ccp.sys.comcast.net/browse/FIRE-313
Intents to support changing TV inputs (eg HDMI Input 1, HDMI Input 2, Composite). The Intent should be able to pass in a query string (eg HDMI 1, Playstation, Airplay, etc) to allow the receiving application to determine which input will actually be switched to.
semantic-release determined it to be v0.10.0-next-major.1 because there is no breaking change commit in the history for the next-major branch.
See the semantic-release docs on how to create a commit that will trigger a breaking change or new major version.
For example, you need a commit in the next-major
history that looks like this:
feat: A feature that changes the customer-facing API in a non-additive way
BREAKING CHANGE: A new feature was added that will allow you (the API consumer) to do something amazing. This new feature replaces OLD feature, XYZ. The feature's API is removed from firebolt.
So see, the commit message, feat: ...
, can be anything, but if you have BREAKING CHANGE: ...
in the commit body FOOTER, then semantic-release understands that as a breaking change and will increment the major version accordingly.
As DistP, I require new Firebolt capabilities to align with the methods such that DistP can grant permission to individual/specific APIs without relying on existing capability bundles permissions that do not allow the granular permissions granting necessary for business.
create xrn:firebolt:capability:device:type for method device.type
create xrn:firebolt:capability:protocol:secondscreen for method SecondScreen.protocols
create xrn:firebolt:capability:discovery:policy:watch-history for method ShareWatchHistoryStatus
FIRE-196
API to require apps to return version/build of itself, for metrics collection and analytics.
https://ccp.sys.comcast.net/browse/FIRE-311
Intent to enable/disable the signal to the customer that voice input is active - eg: the "Wake Word Beep"
next-major
branch failed. π¨I recommend you give this issue a high priority, so other packages depending on you can benefit from your bug fixes and new features again.
You can find below the list of errors reported by semantic-release. Each one of them has to be resolved in order to automatically publish your package. Iβm sure you can fix this πͺ.
Errors are usually caused by a misconfiguration or an authentication problem. With each error reported below you will find explanation and guidance to help you to resolve it.
Once all the errors are resolved, semantic-release will release your package the next time you push a commit to the next-major
branch. You can also manually restart the failed CI job that runs semantic-release.
If you are not sure how to resolve this, here are some links that can help you:
If those donβt help, or if this issue is reporting something you think isnβt right, you can always ask the humans behind semantic-release.
semantic-release cannot push the version tag to the branch next-major
on the remote Git repository with URL https://x-access-token:[secure]@github.com/rdkcentral/firebolt-core-sdk
.
This can be caused by:
Good luck with your project β¨
Your semantic-release bot π¦π
Working Group members:
https://ccp.sys.comcast.net/browse/FIRE-312
Intent to tell device to initiate a "find my remote" session.
https://ccp.sys.comcast.net/browse/FIRE-305
Be able to pass as part of a search intent, specific entities in addition to the search query itself. Usecase is to allow IUI/EPG to create a row/rail based on the search query but include specific entities.
Add entity and entityTypes to the data portion of the search intent.
Consider this localization:
state=California
country=US
OR
Device is in England, country is GBR. How do we represent England here?
locality would commonly be used for cities.
So we may need another field between country and locality.
Possible names: region, state, province
We may also need a new management API so all localization can just be set together.
For instance, if we have "region"="California", country=US. If we set country to CA. There could be a period of time where the device is seen as California inside of Canada. Probably best if the API just sets both country and region (and locality and postalCode) all at the same time.
https://rdkcentral.github.io/firebolt/requirements/latest/specifications/intents/
This only has the following types:
Play
Tune
Basic Navigation
Basic Navigation links to https://rdkcentral.github.io/firebolt/requirements/latest/specifications/intents/navigation
which gives a 404 error.
This specification should list every Intent type that Firebolt supports.
Should each be listed here or should Basic navigation link out to https://rdkcentral.github.io/firebolt/apis/latest/core/Intents/schemas/ ?
Is "Types" equivalent to "action"?
Or is each entity considered a different "type"?
If there are no imports mutating window or adding polyfills, we can add sideEffects: false
to the package.json
to signal that unused exports can be tree-shaken. Documentation:
Some apps may support going to a playlist "page" without playback starting. As such we should support the PlaylistEntity in the EntityIntent
As a PVS app, when I send a contentAccess call I would like an error state to reflect when XVP fails to process the full entitlement, such that as an app I know I may need to retry immediately OR that customers may have an incomplete experience.
Support something like an HTTP 206 response for contentAccess
This is test code that has to be manually kept in sync with the real package.json
file. That's no good because it can be manipulated by automation tasks.
Instead of testing real package.json
, I would recommend that this test some unchanging mock of the package.json
file. If this is testing that code somewhere is correctly interpolating values from a file, the mock should be sufficient.
Originally posted by @cletustboone in #54 (comment)
https://ccp.sys.comcast.net/browse/FIRE-306
API to replace $badger's showToaster method, and support VREX's need to display a voice readout/readback.
Method will take a string of text and pass it to the device/aggregated experience, such that the device/experience can then display the text as though it were originated by the device/experience.
Usecases:
These should not be treated as "notifications" but this is a transactional message.
Scope can be reduced to just being an intent for VREX purposes so that Firebolt is not responsible for executing the display of the messaging and only passing the intent to the application that is responsible for displaying the message.
Actual Specs:
./Tools/Developer Tools.docx
./Core/Secure Storage/SecureStorage Requirements.docx
./Core/Discovery/Application Type XRNs.docx
./Core/Lifecycle/Lifecycle Requirements.docx
./Core/Device Infomation/Device Requirements.docx
./Core/Accessibility/Accessibility Requirements.docx
./Core/Localization/Language Settings.docx
./Core/Media/Media Info Requirements.docx
./Core/Media/Media Pipeline Requirements.docx
./Core/Media/Media Access Requirements.docx
./General/Development Mode/DeveloperMode.docx
./General/Configuration/Endpoint Configuration.docx
./General/APIs/SDKProperty.docx
./General/APIs/Providers.docx
./General/APIs/Context Parameters.docx
./General/APIs/ResponseMethods.docx
./General/APIs/API Requirements.docx
./General/APIs/TemporalSets.docx
./General/APIs/SecureStorage-OLD.docx
./General/APIs/Cuts - API Requirements.docx
./General/Capabilities/Capability Configuration.docx
./General/Capabilities/Capabilities.docx
./General/Capabilities/Firebolt Access Tokens.docx
./General/Capabilities/really rough usage example.docx
./General/Capabilities/User Grants.docx
./General/Capabilities/Versioning/Firebolt Versions.docx
./General/Privacy/Privacy APIs.docx
./General/SDKs/Extension SDKs.docx
./General/SDKs/SDK Requirements.docx
./General/App Packaging/App Manifest.docx
./General/App Packaging/App Manifest - Ratings.docx
./General/Multiple App Variants.docx
./General/Intents/Additional Commands.docx
./General/Intents/Command-and-Control-Intents.docx
./General/Intents/Intents.docx
./General/Application Type XRNs.docx
./SecureStorageSpec.docx
./Discovery/Entertainment Entities/Entertainment Entities.docx
./Discovery/Tune Intent/Tune Intent.docx
./Discovery/User Interest/User Interest.docx
./0.X/Firebolt v0.x Requirements.docx
./Management/Power/Power Requirements.docx
Placeholders:
./OpenRPC/FireboltOpenRPC2.0.docx
./Core/Discovery/Discovery Requirements.docx
./Core/Lifecycle/Background App Requirements.docx
./Core/Lifecycle/Overlay Requirements.docx
./Core/Media/Player Requirements.docx
./Core/Media/Media Metrics Requirements.docx
I am currently blocked developing a major Sky Q app. Please see the link below for a bare-bones example of the issue.
https://github.com/mrclapham/firebolt-issues/tree/master
The app needs to use the firebolt-sdk and I'm hitting severe problems when it comes to testing using Jest.
I'm using v0.6.1 of the SDK
Adding
import { Metrics, Discovery } from "@firebolt-js/sdk";
makes every single test fail due to the .mjs imports.
I get:
SyntaxError: Unexpected token 'export'
> 1 | import { Metrics, Discovery } from "@firebolt-js/sdk";
|
I tried v0.6.0 β this compiled to .js not .mjs but caused a different issue, it threw an Error saying global had been declared twice.
The application builds correctly via WebPack and the functionality appears to work correctly from the console.logs.
Our app requires node >15 β I have tried higher version but had the same results.
I have tried every permutation, altering: jest.config; babel.config; version of Node; importing via absolute paths with the '.mjs' suffix, adding transformIgnorePatterns: ["/node_modules/(?!@firebolt-js/*)"]
to the jest.config, you name it, nothing works.
Help appreciated as it is a major blocker.
CoreSDK for app to read what the high-contrast mode on the device is set to.
ManageSDK to set the high-contrast mode to on/off, as well as to set values to invert colors on/off, set BG color, set link color, set text color, reduce animation, increase pointer size.
One of the checks in the pull request task Release docs to GitHub.io fails for the pull request with below error.
remote: Invalid username or password.
fatal: Authentication failed for 'https://github.com/rdkcentral/firebolt.git/'
Error: Process completed with exit code 128.
Job link: https://github.com/rdkcentral/firebolt-apis/pull/196/checks#step:17:154
On the documentation website: https://rdkcentral.github.io/firebolt/apis/latest/
Intents has gone missing on this nav-bar.
The direct link still works:
https://rdkcentral.github.io/firebolt/apis/latest/core/Intents/schemas/
In addition to existing functionality to adjust voice guidance on/off and speed. Additional setting to manage readback to be vebose/detailed OR an alternative shorter/abbreviated readback.
Add an accessibility manage method to set and read the screen magnification value that is a US accessibility requirement. Requirement is to be boolean on/off - suggestion to support a value 0-100 that represents percentage.
Should also have an intent to handle a request to set the value
FIRE-285
https://rdkcentral.github.io/firebolt/apis/pr177/provider/Player/#playerloadproviderrequest
There are if statements from the template engine present in the display output on this page.
refactor/one-repository
branch failed. π¨I recommend you give this issue a high priority, so other packages depending on you can benefit from your bug fixes and new features again.
You can find below the list of errors reported by semantic-release. Each one of them has to be resolved in order to automatically publish your package. Iβm sure you can fix this πͺ.
Errors are usually caused by a misconfiguration or an authentication problem. With each error reported below you will find explanation and guidance to help you to resolve it.
Once all the errors are resolved, semantic-release will release your package the next time you push a commit to the refactor/one-repository
branch. You can also manually restart the failed CI job that runs semantic-release.
If you are not sure how to resolve this, here are some links that can help you:
If those donβt help, or if this issue is reporting something you think isnβt right, you can always ask the humans behind semantic-release.
An npm token must be created and set in the NPM_TOKEN
environment variable on your CI environment.
Please make sure to create an npm token and to set it in the NPM_TOKEN
environment variable on your CI environment. The token must allow to publish to the registry https://registry.npmjs.org/
.
Good luck with your project β¨
Your semantic-release bot π¦π
Reviewing pre-existing APIs. PR to follow if any changes are proposed.
Add to spec the wrapper schema for all intents, such that all the type values are defined and how the appID should be communicated.
FIRE-284
Lot of places inside Firebolt openrpc API definition points to schemas on private Comcast repository
Could you please move this schemas to public repository (or even better to https://github.com/rdkcentral/firebolt-apis itself?)
Without this cleanup, there is no possibility to use open-rpc tooling like https://playground.open-rpc.org/
A declarative, efficient, and flexible JavaScript library for building user interfaces.
π Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. πππ
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google β€οΈ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.