@signageos/front-applet 5.8.0 → 5.9.0

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.
@@ -26,10 +26,12 @@ Sync API enables multiple devices to communicate and coordinate their behavior w
26
26
  | ----------------- | ----------- | :---------------: |
27
27
  | `connect()` | Connect to the sync server. | 1.0.32 |
28
28
  | `close()` | Closes the connection to the sync server. | 1.0.32 |
29
- | `init()` | Initialize of sync group | 1.0.32 |
30
- | `wait()` | Method used when device must wait on other devices for proper sync | 1.0.32 |
31
- | `setValue()` | Used for broadcast values for all master devices | 2.0.0 |
32
- | `onValue()` | Event called when device receives any value | 2.0.0 |
29
+ | `init()` | Join sync group (**DEPRECATED**) | 1.0.32 |
30
+ | `joinGroup()` | Join sync group | 5.7.0 |
31
+ | `wait()` | Wait for other devices in the network for proper sync | 1.0.32 |
32
+ | `setValue()` | Broadcast values for all master devices (**DEPRECATED**) | 2.0.0 |
33
+ | `broadcastValue()` | Used for broadcast values for all master devices | 5.7.0 |
34
+ | `onValue()` | Event called when device receives value broadcasted by another device in the network | 2.0.0 |
33
35
  | `onStatus()` | Event called when device is connected and periodic every 30s from sync server - report connected devices | 2.1.0 |
34
36
  :::
35
37
 
@@ -71,16 +73,64 @@ Connect to the sync server. This initializes the connection and is mandatory to
71
73
 
72
74
  ### Parameters
73
75
  ::: table-responsive
74
- | Param | Type | Required | Description |
75
- | -------------- | ---------- | :----: | ---------------------------- |
76
- | `syncServerUri`| String | <div class="yellow">No</div> | Address of sync server |
76
+ | Param | Type | Required | Description |
77
+ | -------- | ------ | :--------------------------: | ----------------------------- |
78
+ | `engine` | String | <div class="yellow">No</div> | Synchronization engine to use |
79
+ | `uri` | String | <div class="yellow">No</div> | Address of sync server. Only relevant for `sync-server`. If omitted, the default server will be used. |
80
+ :::
81
+
82
+ ### Engine
83
+
84
+ ::: table-responsive
85
+ | Engine | Description |
86
+ | ------------- | ---------------------------------------------------------------------------------------- |
87
+ | `sync-server` | (**Default**) Use external sync server. Device will connect to the server via websocket. |
88
+ | `udp` | Synchronize directly with other devices in the local network via UDP. |
89
+ :::
90
+
91
+ ::: alert alert--info
92
+ All devices, that should be synchronized together, must select the same engine.
93
+ Otherwise they won't be able to communicate with each other.
77
94
  :::
78
95
 
79
96
  ### Javascript example
80
97
  ```javascript
98
+ // use default engine
99
+ await sos.sync.connect().then(() => {
100
+ // do other things once connected
101
+ });
102
+
103
+ // use sync-server engine and default server
104
+ await sos.sync.connect({ engine: 'sync-server' }).then(() => {
105
+ // do other things once connected
106
+ });
107
+
108
+ // use sync-server engine and custom server
109
+ await sos.sync.connect({
110
+ engine: 'sync-server',
111
+ uri: syncServerUri,
112
+ }).then(() => {
113
+ // do other things once connected
114
+ });
115
+
116
+ // use sync-server engine and custom server
117
+ await sos.sync.connect({
118
+ engine: 'sync-server',
119
+ uri: syncServerUri,
120
+ }).then(() => {
121
+ // do other things once connected
122
+ });
123
+
124
+ // use udp engine
125
+ await sos.sync.connect({ engine: 'udp' }).then(() => {
126
+ // do other things once connected
127
+ });
128
+
129
+ // call with syncServerUri as direct argument, now deprecated
130
+ // this way it will automatically pick sync-server engine
81
131
  await sos.sync.connect(syncServerUri).then(() => {
82
132
  // do other things once connected
83
- })
133
+ });
84
134
  ```
85
135
 
86
136
  ## close()
@@ -94,6 +144,10 @@ await sos.sync.close().then(() => {
94
144
  ```
95
145
 
96
146
  ## init()
147
+ ::: alert alert--warning
148
+ This method is deprecated and will be removed in the future. Use `joinGroup()` instead. These two methods function identically.
149
+ :::
150
+
97
151
  Once the user is connected to the server, the initialization of the sync group is required. Before any communication takes place, all participating devices have to be connected and recognize one another. Recommended to call this method early.
98
152
 
99
153
  ### Parameters
@@ -109,6 +163,25 @@ Once the user is connected to the server, the initialization of the sync group i
109
163
  await sos.sync.init('someRandomNameGroup', 'device1');
110
164
  ```
111
165
 
166
+ ## joinGroup()
167
+ Once we're connected, we have to join a sync group. Before any communication takes place, all participating devices have to be connected and recognize one another. Recommended to call this method early.
168
+
169
+ ### Parameters
170
+ ::: table-responsive
171
+ | Param | Type | Required | Description |
172
+ | -------------- | ------- | :-----: | ---------------------------- |
173
+ | `groupName` | String | <div class="yellow">No</div> | By default, all devices will be synced together. To create Groups of devices, independent from each other, specify group name |
174
+ | `deviceIdentification` | String | <div class="yellow">No</div> | Is identification of device connected to groupName. |
175
+ :::
176
+
177
+ ### Javascript example
178
+ ```javascript
179
+ await sos.sync.joinGroup({
180
+ groupName: 'someRandomNameGroup',
181
+ deviceIdentification: 'device1',
182
+ });
183
+ ```
184
+
112
185
  ## wait()
113
186
  One way to synchronize devices is to make them wait for each other at a certain moment. This would be most commonly used before the device hits “play” on a video, to make it wait for other devices so they all start playing the video at the same time.
114
187
 
@@ -121,7 +194,7 @@ Sometimes devices might go out of sync due to unpredictable conditions like loss
121
194
  | Param | Type | Required | Description |
122
195
  | -------------- | ------- | :-----: | ------- |
123
196
  | `data` | Any | <div class="yellow">No</div> | Information about what content is about to play so all the devices display the same content. |
124
- | `groupName` | String | <div class="yellow">No</div> | If a custom group name in init call is specified, the same group name as the second argument has to be passed. |
197
+ | `groupName` | String | <div class="yellow">No</div> | If `joinGroup` is called with custom group name, the same group name as the second argument has to be passed. |
125
198
  | `timeout` | Number | <div class="yellow">No</div> | Wait timeout on other devices |
126
199
  :::
127
200
 
@@ -141,7 +214,11 @@ Another way to synchronize devices is to broadcast some values within the group
141
214
  :::
142
215
 
143
216
  ## setValue()
144
- This method can be called by any device to broadcast a value to the whole group, but only master devices’ values are broadcasted, while slave devices are ignored. Again, this is to ensure consistency and allow re-syncing of out of sync devices.
217
+ ::: alert alert--warning
218
+ This method is deprecated and will be removed in the future. Use `broadcastValue()` instead. These two methods function identically.
219
+ :::
220
+
221
+ This method can be called by any device to broadcast a value to the whole group.
145
222
 
146
223
  ### Parameters
147
224
  ::: table-responsive
@@ -149,9 +226,35 @@ This method can be called by any device to broadcast a value to the whole group,
149
226
  | -------------- | --------- | :------: | ------------------- |
150
227
  | `key` | String | <div class="red">Yes</div> | Values are recognized based their key so different types of values can be broadcasted independently within the group |
151
228
  | `value` | Any | <div class="red">Yes</div> | The value to be broadcasted |
152
- | `groupName` | String | <div class="yellow">No</div> | If a custom group name in init call is specified, the same group name has to be passed as the third argument |
229
+ | `groupName` | String | <div class="yellow">No</div> | If `joinGroup` is called with custom group name, the same group name has to be passed as the third argument |
153
230
  :::
154
231
 
232
+ ### Javascript example
233
+ ```javascript
234
+ await sos.sync.setValue('some-key', 'some-value', 'some-group');
235
+ ```
236
+
237
+ ## broadcastValue()
238
+ This method can be called by any device to broadcast a value to the whole group.
239
+
240
+ ### Parameters
241
+ ::: table-responsive
242
+ | Param |Type | Required | Description |
243
+ | -------------- | --------- | :------: | ------------------- |
244
+ | `key` | String | <div class="red">Yes</div> | Values are recognized based their key so different types of values can be broadcasted independently within the group |
245
+ | `value` | Any | <div class="red">Yes</div> | The value to be broadcasted |
246
+ | `groupName` | String | <div class="yellow">No</div> | If `joinGroup` is called with custom group name, the same group name has to be passed as the third argument |
247
+ :::
248
+
249
+ ### Javascript example
250
+ ```javascript
251
+ await sos.sync.broadcastValue({
252
+ key: 'some-key',
253
+ value: 'some-value',
254
+ groupName: 'some-group'
255
+ });
256
+ ```
257
+
155
258
  ## Event onValue()
156
259
  Every device should register a listener to receive and process broadcasted values.
157
260
 
@@ -187,9 +290,20 @@ You can also use all these methods with [signageOS TypeScript](https://docs.sign
187
290
  ```typescript
188
291
  connect(syncServerUri?: string): Promise<void>;
189
292
  close(): Promise<void>;
293
+ /** @deprecated use joinGroup */
190
294
  init(groupName?: string, deviceIdentification?: string): Promise<void>;
295
+ joinGroup(args: {
296
+ groupName?: string;
297
+ deviceIdentification?: string;
298
+ }): Promise<void>;
191
299
  wait(data?: any, groupName?: string): Promise<any>;
300
+ /** @deprecated use broadcastValue */
192
301
  setValue(key: string, value: any, groupName?: string): Promise<void>;
302
+ broadcastValue(args: {
303
+ groupName?: string;
304
+ key: string;
305
+ value: any;
306
+ }): Promise<void>;
193
307
  ```
194
308
  ```typescript
195
309
  onValue(listener: (
@@ -1,5 +1,16 @@
1
1
  import IPostMessage from '../IPostMessage';
2
2
  import ISyncSetValueMessage from './ISyncSetValueMessage';
3
+ export declare enum SyncEngine {
4
+ SyncServer = "sync-server",
5
+ Udp = "udp"
6
+ }
7
+ export interface ConnectSyncServerOptions {
8
+ engine?: SyncEngine.SyncServer;
9
+ uri?: string;
10
+ }
11
+ export interface ConnectUdpOptions {
12
+ engine: SyncEngine.Udp;
13
+ }
3
14
  interface IDeviceStatus {
4
15
  connectedPeers: string[];
5
16
  groupName?: string;
@@ -11,11 +22,23 @@ export default class Sync {
11
22
  private static DEFAULT_GROUP_NAME;
12
23
  private eventEmitter;
13
24
  constructor(messagePrefix: string, postMessage: IPostMessage<any>);
14
- connect(serverUri?: string): Promise<void>;
25
+ connect(options?: string | ConnectSyncServerOptions | ConnectUdpOptions): Promise<void>;
15
26
  close(): Promise<void>;
27
+ /** @deprecated use joinGroup */
16
28
  init(groupName?: string, deviceIdentification?: string): Promise<void>;
29
+ joinGroup({ groupName, deviceIdentification }: {
30
+ groupName?: string;
31
+ deviceIdentification?: string;
32
+ }): Promise<void>;
33
+ leaveGroup(groupName?: string): Promise<void>;
17
34
  wait(data?: any, groupName?: string, timeout?: number): Promise<any>;
35
+ /** @deprecated use broadcastValue */
18
36
  setValue(key: string, value: any, groupName?: string): Promise<void>;
37
+ broadcastValue({ groupName, key, value }: {
38
+ groupName?: string;
39
+ key: string;
40
+ value: any;
41
+ }): Promise<void>;
19
42
  onValue(listener: (key: string, value: any, groupName?: string) => void): void;
20
43
  onStatus(listener: (status: IDeviceStatus) => void): void;
21
44
  handleMessageData(data: ISyncSetValueMessage): void;
@@ -9,20 +9,45 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
9
9
  });
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.SyncEngine = void 0;
12
13
  const events_1 = require("events");
13
14
  const Validate_1 = require("../Validate/Validate");
15
+ var SyncEngine;
16
+ (function (SyncEngine) {
17
+ SyncEngine["SyncServer"] = "sync-server";
18
+ SyncEngine["Udp"] = "udp";
19
+ })(SyncEngine = exports.SyncEngine || (exports.SyncEngine = {}));
14
20
  class Sync {
15
21
  constructor(messagePrefix, postMessage) {
16
22
  this.messagePrefix = messagePrefix;
17
23
  this.postMessage = postMessage;
18
24
  this.eventEmitter = new events_1.EventEmitter();
19
25
  }
20
- connect(serverUri) {
26
+ connect(options) {
21
27
  return __awaiter(this, void 0, void 0, function* () {
22
- Validate_1.default({ serverUri }).uri();
28
+ // TODO switch default to UDP once it's mature enough
29
+ const defaultOptions = { engine: SyncEngine.SyncServer };
30
+ let sanitizedOptions;
31
+ if (typeof options === 'string') {
32
+ // support legacy connect(uri) method, which uses the sync-server engine
33
+ sanitizedOptions = {
34
+ engine: SyncEngine.SyncServer,
35
+ uri: options,
36
+ };
37
+ }
38
+ else if (options === undefined) {
39
+ sanitizedOptions = defaultOptions;
40
+ }
41
+ else {
42
+ sanitizedOptions = options;
43
+ }
44
+ if (sanitizedOptions.engine === SyncEngine.SyncServer) {
45
+ Validate_1.default({ uri: sanitizedOptions.uri }).uri();
46
+ }
23
47
  yield this.postMessage({
24
48
  type: this.getMessage('connect'),
25
- serverUri,
49
+ engine: sanitizedOptions.engine,
50
+ serverUri: sanitizedOptions.uri,
26
51
  });
27
52
  });
28
53
  }
@@ -33,17 +58,33 @@ class Sync {
33
58
  });
34
59
  });
35
60
  }
61
+ /** @deprecated use joinGroup */
36
62
  init(groupName = Sync.DEFAULT_GROUP_NAME, deviceIdentification) {
37
63
  return __awaiter(this, void 0, void 0, function* () {
64
+ yield this.joinGroup({ groupName, deviceIdentification });
65
+ });
66
+ }
67
+ joinGroup({ groupName, deviceIdentification }) {
68
+ return __awaiter(this, void 0, void 0, function* () {
69
+ groupName = groupName !== null && groupName !== void 0 ? groupName : Sync.DEFAULT_GROUP_NAME;
38
70
  Validate_1.default({ groupName }).required().string();
39
71
  Validate_1.default({ deviceIdentification }).string();
40
72
  yield this.postMessage({
41
- type: this.getMessage('init'),
73
+ type: this.getMessage("init"),
42
74
  groupName,
43
75
  deviceIdentification,
44
76
  });
45
77
  });
46
78
  }
79
+ leaveGroup(groupName = Sync.DEFAULT_GROUP_NAME) {
80
+ return __awaiter(this, void 0, void 0, function* () {
81
+ Validate_1.default({ groupName }).required().string();
82
+ yield this.postMessage({
83
+ type: this.getMessage("leave_group"),
84
+ groupName,
85
+ });
86
+ });
87
+ }
47
88
  wait(data, groupName = Sync.DEFAULT_GROUP_NAME, timeout) {
48
89
  return __awaiter(this, void 0, void 0, function* () {
49
90
  Validate_1.default({ groupName }).required().string();
@@ -57,8 +98,15 @@ class Sync {
57
98
  return response.responseData;
58
99
  });
59
100
  }
101
+ /** @deprecated use broadcastValue */
60
102
  setValue(key, value, groupName = Sync.DEFAULT_GROUP_NAME) {
61
103
  return __awaiter(this, void 0, void 0, function* () {
104
+ yield this.broadcastValue({ key, value, groupName });
105
+ });
106
+ }
107
+ broadcastValue({ groupName, key, value }) {
108
+ return __awaiter(this, void 0, void 0, function* () {
109
+ groupName = groupName !== null && groupName !== void 0 ? groupName : Sync.DEFAULT_GROUP_NAME;
62
110
  Validate_1.default({ key }).required().string();
63
111
  Validate_1.default({ groupName }).required().string();
64
112
  yield this.postMessage({
@@ -1 +1 @@
1
- {"version":3,"file":"Sync.js","sourceRoot":"","sources":["../../../src/FrontApplet/Sync/Sync.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Sync.js","sourceRoot":"","sources":["../../../src/FrontApplet/Sync/Sync.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@signageos/front-applet",
3
- "version": "5.8.0",
3
+ "version": "5.9.0",
4
4
  "main": "dist/bundle.js",
5
5
  "types": "es6/bundle.d.ts",
6
6
  "files": [