@scrypted/server 0.3.9 → 0.3.10

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.

Potentially problematic release.


This version of @scrypted/server might be problematic. Click here for more details.

@@ -53,13 +53,20 @@ class PluginComponent {
53
53
  throw new Error(message);
54
54
  }
55
55
  const pluginDevice = this.scrypted.findPluginDeviceById(id);
56
+ // immediately remove the mixin and save this state,
57
+ // but hold off on generating the new descriptor until
58
+ // the new table is finished.
56
59
  this.scrypted.stateManager.setPluginDeviceState(pluginDevice, types_1.ScryptedInterfaceProperty.mixins, [...new Set(mixins)]);
57
- this.scrypted.stateManager.updateDescriptor(pluginDevice);
58
60
  await this.scrypted.datastore.upsert(pluginDevice);
59
61
  // device may not exist, so force creation.
60
62
  this.scrypted.rebuildPluginDeviceMixinTable(id);
61
63
  this.scrypted.getDevice(id);
62
64
  await this.scrypted.devices[id]?.handler?.ensureProxy();
65
+ // after the mixin table is generated, report/persist the final device descriptor
66
+ const promises = this.scrypted.devices[id]?.handler?.mixinTable?.map(e => e.entry);
67
+ await Promise.allSettled(promises);
68
+ this.scrypted.stateManager.updateDescriptor(pluginDevice);
69
+ await this.scrypted.datastore.upsert(pluginDevice);
63
70
  }
64
71
  async getIdForPluginId(pluginId) {
65
72
  return this.scrypted.findPluginDevice(pluginId)?._id;
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../src/services/plugin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../src/services/plugin.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@scrypted/server",
3
- "version": "0.3.9",
3
+ "version": "0.3.10",
4
4
  "description": "",
5
5
  "dependencies": {
6
6
  "@ffmpeg-installer/ffmpeg": "^1.1.0",
@@ -51,13 +51,22 @@ export class PluginComponent {
51
51
  throw new Error(message);
52
52
  }
53
53
  const pluginDevice = this.scrypted.findPluginDeviceById(id);
54
+ // immediately remove the mixin and save this state,
55
+ // but hold off on generating the new descriptor until
56
+ // the new table is finished.
54
57
  this.scrypted.stateManager.setPluginDeviceState(pluginDevice, ScryptedInterfaceProperty.mixins, [...new Set(mixins)]);
55
- this.scrypted.stateManager.updateDescriptor(pluginDevice);
56
58
  await this.scrypted.datastore.upsert(pluginDevice);
59
+
57
60
  // device may not exist, so force creation.
58
61
  this.scrypted.rebuildPluginDeviceMixinTable(id);
59
62
  this.scrypted.getDevice(id);
60
63
  await this.scrypted.devices[id]?.handler?.ensureProxy();
64
+
65
+ // after the mixin table is generated, report/persist the final device descriptor
66
+ const promises = this.scrypted.devices[id]?.handler?.mixinTable?.map(e => e.entry);
67
+ await Promise.allSettled(promises);
68
+ this.scrypted.stateManager.updateDescriptor(pluginDevice);
69
+ await this.scrypted.datastore.upsert(pluginDevice);
61
70
  }
62
71
  async getIdForPluginId(pluginId: string) {
63
72
  return this.scrypted.findPluginDevice(pluginId)?._id;