@signageos/front-applet 6.5.1 → 6.5.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -4,6 +4,16 @@ All notable changes to this project will be documented in this file.
4
4
  The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
5
5
  and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).
6
6
 
7
+ ## [6.5.3] - 2024-04-30
8
+ ### Fixed
9
+ - Documentation patch: Browser.open() is supported on BrightSign
10
+ - Documentation patch: improved iFrames snippet intro text to be less scary
11
+ - Documentation patch: Added platform-specific details for using streaming on BrightSign and Samsung
12
+
13
+ ## [6.5.2]
14
+ ### Added
15
+ - Support for the `rtscts` option for the serial port configuration. This option is used when opening a serial port and determines whether to enable or disable RTS/CTS handshaking.
16
+
7
17
  ## [6.5.1] - 2024-04-08
8
18
  ### Fixed
9
19
  - Incompatibility with latest changes in MDC implementation
@@ -33,7 +33,8 @@ Default URL can be opened and even the whitelisting/blacklisting of certain doma
33
33
  **With some limitation you can use this API also on**
34
34
  - Samsung Tizen (SSSP 4 and above); where the website is just in fullscreen without an address bar or theme options (headless mode)
35
35
  - LG webOS (webOS 3.0 and above); where the website is just in fullscreen without an address bar or theme options (headless mode)
36
- - Raspberry Pi and NEC Compute Module; where the website is just in fullscreen without an address bar or theme options (headless mode)
36
+ - Linux (Fedora, Ubuntu), Raspberry Pi, NEC Compute Module; where the website is just in fullscreen without an address bar or theme options (headless mode)
37
+ - BrightSign; where the website is just in fullscreen without an address bar or theme options (headless mode)
37
38
  :::
38
39
 
39
40
  ### Javascript
@@ -13,7 +13,7 @@ description: "[Content JS API] We **do not recommend** to use iframes inside you
13
13
  ---
14
14
 
15
15
  # Iframes
16
- We **do not recommend** to use iframes inside your Applet. However, if you have to use it, you can add full support of the sOS JS API to every one of your iframe. Just add the JS snippet script below to every page load in iframe before ending </body>. Everything will be prepared, and you can call the very same methods as described for Applet.
16
+ We **recommend limiting the use of iframes** inside your Applet to avoid performance hiccups. However, if you you are leveraging iframes, you can also add full support of the sOS JS API within the iframe context. Add the JS snippet script below to every page load in iframe before ending </body>. Everything will be prepared, and you can call the very same methods as described for Applet.
17
17
 
18
18
  :::warning
19
19
  The signageOS Snippet and API works **ONLY** if the iframe is served from the display's internal storage - `<iframe src="file://...`. If your iframe is served from a live URL - `<iframe src="https://your-iframe-url"...` the snippet and signageOS API will **NOT** work. This is a security limitation to prevent random site took advantage of the API and alter the display behavior. There is a simple way to [save and load your iframe from the internal storage](https://github.com/signageos/applet-examples/blob/master/examples/content-js-api/iframes). Just make sure you are using full paths in your iframe for linking javascripts and css instead of the relative ones.
@@ -30,7 +30,7 @@ Such hardware could be, for example, printers, payment terminals or sensors.
30
30
 
31
31
  | Method | Description | Supported since |
32
32
  | ------------------ | ---------------------- | :-------------: |
33
- | `openSerialPort()` | Open a new serial port | 4.4.0
33
+ | `openSerialPort()` | Open a new serial port | 4.4.0
34
34
 
35
35
  ## openSerialPort()
36
36
 
@@ -39,10 +39,20 @@ Creates a new instance of serial port. You can then use that instance to handle
39
39
 
40
40
  | Param | Type | Required | Description |
41
41
  | --------- | ------ | :------------------------: | -------------------------------------------------- |
42
- | `options` | Object | <div class="red">Yes</div> | Object containing configuration of the serial port
42
+ | `options` | Object | <div class="red">Yes</div> | Object containing configuration of the serial port
43
43
 
44
44
  ### Options
45
45
 
46
+ | Property | Type | Required | Description |
47
+ | -------- | ------ | -------- | -------- |
48
+ | `device` | String | No | Specifies the device address |
49
+ | `baudRate` | Number | Yes | Specifies the data transmission speed in bits per second |
50
+ | `parity` | **none**, **even**, **mark** or **space** | No | Specifies the form of error checking, whether (or what) extra bits are added to a byte |
51
+ | `databits` | Number | No | Specifies the number of bits in a byte |
52
+ | `stopbits` | Number | No | Specifies the number of bits used to signal the end of a communication packet |
53
+ | `rtscts` | Boolean | No | Enables or disables RTS/CTS handshaking over the serial port. Currently supported by selected models of BrightSign |
54
+ :::
55
+
46
56
  Here is the options object defined as Typescript interface:
47
57
 
48
58
  ```typescript
@@ -52,6 +62,7 @@ interface ISerialPortOptions {
52
62
  parity?: 'none' | 'even' | 'mark' | 'odd' | 'space';
53
63
  databits?: number;
54
64
  stopbits?: number;
65
+ rtscts?: boolean;
55
66
  }
56
67
  ```
57
68
 
@@ -78,7 +89,7 @@ Device address is different per platform (at least for now). Kindly find the res
78
89
  | Windows | `COM3` | `COM3` (typically, but check your Win machine if this does not work) |
79
90
  | Samsung Kiosk | `PORT1` |`PORT1`, `PORT2`, `PORT3` |
80
91
  | Android | `/dev/ttyusb0` | `/dev/ttyusb0` |
81
- | BrightSign | `0` | `0`, `1`, `USB:A/0`
92
+ | BrightSign | `0` | `0`, `1`, `USB:A/0`
82
93
 
83
94
  ## Serial port methods
84
95
 
@@ -90,7 +101,7 @@ you can call following methods on it.
90
101
  | ---------- | ----------------------------------------------------------- | :-------------: |
91
102
  | `onData()` | Call a listener callback anytime the opened serial port receiving data. | 4.4.0 |
92
103
  | `write()` | Write data to the serial port | 4.4.0 |
93
- | `close()` | Close serial port | 4.4.0
104
+ | `close()` | Close serial port | 4.4.0
94
105
 
95
106
  ## onData()
96
107
 
@@ -151,4 +162,4 @@ Following errors may occur when working with the serial ports. However they don'
151
162
  | 50603 | InternalHardwareError | Closing serial port that isn't open |
152
163
  | 50603 | InternalHardwareError | Failed to close serial port |
153
164
  | 50604 | InternalHardwareError | Writing to a serial port that isn't open |
154
- | 50604 | InternalHardwareError | Failed to write to serial port
165
+ | 50604 | InternalHardwareError | Failed to write to serial port
@@ -154,8 +154,6 @@ document.documentElement.clientHeight as setup parameters.
154
154
  | `autoReconnectInterval` | Number | <div class="yellow">No</div> | Interval in miliseconds between reconnect attempts |
155
155
  | ^^ | ^^ | ^^ | Default value: 30000 ms |
156
156
  | `volume` | Number | <div class="yellow">No</div> | Volume of the stream |
157
- | `trackSelection` | Object | <div class="yellow">No</div> | Track selection options |
158
- | `drm` | Object | <div class="yellow">No</div> | DRM options |
159
157
 
160
158
  ### Javascript syntax
161
159
 
@@ -580,3 +578,41 @@ Although we are doing our best, following errors may occur when working with the
580
578
  | 51303 | InternalStreamError | Couldn't get stream tracks. |
581
579
  | 51304 | InternalStreamError | Couldn't select stream track. |
582
580
  | 51305 | InternalStreamError | Couldn't reset stream track. |
581
+
582
+ ## Platform-specific notes
583
+
584
+ ### BrightSign
585
+
586
+ BrightSign allows the configuration of [buffering](https://support.brightsign.biz/hc/en-us/articles/218067097-Customizing-the-size-of-the-streaming-buffer), [latency and jitter](https://support.brightsign.biz/hc/en-us/articles/218067127-Modifying-the-latency-and-jitter-of-audio-video-streams) by adding additional query parameters to stream `uri`.
587
+
588
+ #### Buffering
589
+
590
+ You can modify the default buffer size by appending optional parameters to the end of a streaming URL in a BrightAuthor Video Stream or Audio Stream state (this method also applies to custom scripts). The URL parameters must be formatted as follows:
591
+
592
+ ```
593
+ <streaming_url>?buffersize=<number>&vcdbsize=<number>&acdbsize=<number>
594
+ ```
595
+
596
+ Example: `http://www.example.com/stream1?buffersize=10000000&vcdbsize=10000000&acdbsize=256000`
597
+
598
+ Note that all buffer sizes are specified in bytes.
599
+
600
+ buffersize: The size of the main buffer. Once streaming data comes into the main buffer, it is immediately split into the audio and video buffers. The default size of the main buffer is 1.5MB for HD models, 3MB for XD models, and 6MB for 4K models.
601
+ vcdbsize: The size of the video-coded data buffer. The default size of this buffer is 3MB for HD models, 3MB for XD models, and 6MB for 4K models.
602
+ acdbsize: The size of the audio-coded data buffer. The default size of this buffer is 256KB for all models.
603
+
604
+ #### Latency and Jitter
605
+
606
+ You can modify the amount of time it takes for audio/video streams to begin playback by formatting the stream URL as follows:
607
+
608
+ ```
609
+ <streaming_url>?latency=<value_in_ms>&jitter=<value_in_ms>
610
+ ```
611
+
612
+ Example: `http://www.example.com/stream1?latency=-450&jitter=50`
613
+
614
+ ### Samsung
615
+
616
+ UDP and RTP streams are only available if you use specific version of signageOS Tizen CoreApp.
617
+
618
+ Details are documented in Docs: [[Tizen] Stream playback issues & limitation](https://docs.signageos.io/hc/en-us/articles/4405387373458--Tizen-Stream-playback-issues-limitation)
@@ -11,5 +11,6 @@ interface ISerialPortOptions {
11
11
  parity?: Parity;
12
12
  databits?: number;
13
13
  stopbits?: number;
14
+ rtscts?: boolean;
14
15
  }
15
16
  export default ISerialPortOptions;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@signageos/front-applet",
3
- "version": "6.5.1",
3
+ "version": "6.5.3",
4
4
  "main": "dist/bundle.js",
5
5
  "types": "es6/bundle.d.ts",
6
6
  "files": [