Players
Upgrade to Chromium 110/120
11 min
series 5 players can now be upgraded to versions 110 and 120 of chromium, which offer significant performance improvements, enhanced security, and access to the latest web technologies if your application uses iframes and brightsign javascript objects, please see the chromium 110/120 and iframes /#chromium 110120 and iframes before upgrading series 4 only supports chromium 87 in order to upgrade to chromium 110/120, you must update the os to version docid\ oulqz kyyv np 44z 8hb series 5 players brightsignos 9 0 145 1 contains a beta version of chromium 110 and brightsignos 9 0 168 and higher contain a beta version of chromium 120 you can upgrade to these versions using the chromium110 registry key, as described below note that beta os versions may contain functional differences with the production os this functionality will eventually move into a brightsignos 9 1 release which will contain chromium 120 as the default see docid\ xue20rjxhft lq0rdmjbw for more information about changing registry key settings using brightauthor\ connected registry key example settings you must reboot after updating the registry to apply the changes don't forget to add authentication to the curl command below curl location request put 'http //\<player ip>/api/v1/registry/html/widget type' \\ \ header 'content type application/json' \\ \ digest u '{username} {password}' \\ \ data raw '{"value" "chromium110"}' brightscript console see docid\ fxxyu9jmocutc6xe2p7l2 for more info brightscript registry write html widget type chromium110 brightscript see docid\ ffm73tjd bthw4 p 0jvg for more info brightscript reghtml = createobject("roregistrysection", "html") reghtml write("widget type", "chromium110") reghtml flush() javascript see docid\ txwoombd2 u12dfegx7ga for more info var registryclass = require("@brightsign/registry"); var registry = new registryclass(); registry write("html", { widget type "chromium110" }) then(() => { console log("write successful"); }) catch((error) => { console error("write failed", error); }); typescript see docid\ txwoombd2 u12dfegx7ga for more info import registryclass from "@brightsign/registry"; const registry = new registryclass(); registry write("html", { widget type "chromium110" }) then(() => { console log("write successful"); }) catch((error error) => { console error("write failed", error); }); player cli see https //www npmjs com/package/@brightsign/bsc (cli tool) for more information bsc local registry player player name set value chromium110 section html key widget type series 4 players brightsign plans to release brightsignos 9 1 with a chromium 120 beta before the end of 2025 to help customers using power bi we are investigating if this version can unify the series 4 and 5 brightsignos versions series 3 players brightsign is investigating the series 3 product line hardware capabilities in order to provide a higher chromium version chromium 110/120 and iframes in chromium version 110 and later, docid\ urrxhu7l v9ea zhy0jv3 are only supported within iframes in brightsignos version 9 0 191 or greater this change impacts developers who have been embedding content in iframes that rely on these brightsign specific objects apps with iframe content control if your application embeds content within an iframe and you have control over the content inside that iframe, you’ll need to adjust your approach instead of using brightsign objects directly inside the iframe, you should send messages from the iframe to the parent window using the postmessage() method the parent window, which contains the brightsign objects, can then handle these messages and execute the necessary actions below is an example in which the iframe sends a message to the parent window using window\ parent postmessage() the parent window listens for messages using the message event listener, and upon receiving a message, it can interact with the brightsign objects to perform the desired actions iframe content child iframe \<! inside the iframe > \<script> // create a message to send to the parent window const message = { action 'examplecommand', data 'example data' }; // send the message to the parent window window\ parent postmessage(message, ' '); // the ' ' wildcard allows any origin use specific origin for security \</script> parent window parent window with brightsign objects brightscript \<! parent window containing brightsign objects > \<script> window\ addeventlistener('message', (event) => { // make sure to validate the origin of the message for security if (event origin !== 'https //your trusted origin com') { return; } const message = event data; if (message action === 'examplecommand') { // use the brightsign object to perform the necessary action // example brightsignobject somefunction(message data); console log('received message ', message); } }); \</script> apps displaying public urls if your app loads public urls within an iframe, avoid using brightsign objects within the iframe public content can be unpredictable and potentially insecure using brightsign objects in such scenarios could expose your app to vulnerabilities if the content is compromised or maliciously altered avoid embedding brightsign objects in these cases and instead use node style @brightsign docid\ o2uiynvkbsyd1qxcvhvcn whenever possible these objects align with modern javascript development practices, provide enhanced security, and let you maintain compatibility and security across different environments and chromium versions