@ovok/native 1.1.0 → 1.3.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.
Files changed (75) hide show
  1. package/lib/commonjs/modules/bt-device/constants/supported-devices.js +9 -0
  2. package/lib/commonjs/modules/bt-device/constants/supported-devices.js.map +1 -1
  3. package/lib/commonjs/modules/bt-management/components/bt-provider-child-wrapper.js +67 -7
  4. package/lib/commonjs/modules/bt-management/components/bt-provider-child-wrapper.js.map +1 -1
  5. package/lib/commonjs/modules/bt-management/index.js +33 -0
  6. package/lib/commonjs/modules/bt-management/index.js.map +1 -1
  7. package/lib/commonjs/modules/bt-management/services/background-sync/background-ble-manager.js +27 -0
  8. package/lib/commonjs/modules/bt-management/services/background-sync/background-ble-manager.js.map +1 -0
  9. package/lib/commonjs/modules/bt-management/services/background-sync/background-service-uuids.js +31 -0
  10. package/lib/commonjs/modules/bt-management/services/background-sync/background-service-uuids.js.map +1 -0
  11. package/lib/commonjs/modules/bt-management/services/background-sync/background-sync-coordinator.js +98 -0
  12. package/lib/commonjs/modules/bt-management/services/background-sync/background-sync-coordinator.js.map +1 -0
  13. package/lib/commonjs/modules/bt-management/services/bt-manager.js +19 -4
  14. package/lib/commonjs/modules/bt-management/services/bt-manager.js.map +1 -1
  15. package/lib/commonjs/modules/bt-management/services/devices/uebe/visomat.comfort-soft-bt.js +25 -0
  16. package/lib/commonjs/modules/bt-management/services/devices/uebe/visomat.comfort-soft-bt.js.map +1 -0
  17. package/lib/commonjs/modules/bt-management/types/background-sync.js +6 -0
  18. package/lib/commonjs/modules/bt-management/types/background-sync.js.map +1 -0
  19. package/lib/module/modules/bt-device/constants/supported-devices.js +9 -0
  20. package/lib/module/modules/bt-device/constants/supported-devices.js.map +1 -1
  21. package/lib/module/modules/bt-management/components/bt-provider-child-wrapper.js +67 -7
  22. package/lib/module/modules/bt-management/components/bt-provider-child-wrapper.js.map +1 -1
  23. package/lib/module/modules/bt-management/index.js +3 -0
  24. package/lib/module/modules/bt-management/index.js.map +1 -1
  25. package/lib/module/modules/bt-management/services/background-sync/background-ble-manager.js +22 -0
  26. package/lib/module/modules/bt-management/services/background-sync/background-ble-manager.js.map +1 -0
  27. package/lib/module/modules/bt-management/services/background-sync/background-service-uuids.js +26 -0
  28. package/lib/module/modules/bt-management/services/background-sync/background-service-uuids.js.map +1 -0
  29. package/lib/module/modules/bt-management/services/background-sync/background-sync-coordinator.js +94 -0
  30. package/lib/module/modules/bt-management/services/background-sync/background-sync-coordinator.js.map +1 -0
  31. package/lib/module/modules/bt-management/services/bt-manager.js +19 -4
  32. package/lib/module/modules/bt-management/services/bt-manager.js.map +1 -1
  33. package/lib/module/modules/bt-management/services/devices/uebe/visomat.comfort-soft-bt.js +22 -0
  34. package/lib/module/modules/bt-management/services/devices/uebe/visomat.comfort-soft-bt.js.map +1 -0
  35. package/lib/module/modules/bt-management/types/background-sync.js +4 -0
  36. package/lib/module/modules/bt-management/types/background-sync.js.map +1 -0
  37. package/lib/typescript/commonjs/src/modules/bt-device/constants/supported-devices.d.ts +7 -0
  38. package/lib/typescript/commonjs/src/modules/bt-device/constants/supported-devices.d.ts.map +1 -1
  39. package/lib/typescript/commonjs/src/modules/bt-management/components/bt-provider-child-wrapper.d.ts.map +1 -1
  40. package/lib/typescript/commonjs/src/modules/bt-management/index.d.ts +3 -0
  41. package/lib/typescript/commonjs/src/modules/bt-management/index.d.ts.map +1 -1
  42. package/lib/typescript/commonjs/src/modules/bt-management/services/background-sync/background-ble-manager.d.ts +13 -0
  43. package/lib/typescript/commonjs/src/modules/bt-management/services/background-sync/background-ble-manager.d.ts.map +1 -0
  44. package/lib/typescript/commonjs/src/modules/bt-management/services/background-sync/background-service-uuids.d.ts +3 -0
  45. package/lib/typescript/commonjs/src/modules/bt-management/services/background-sync/background-service-uuids.d.ts.map +1 -0
  46. package/lib/typescript/commonjs/src/modules/bt-management/services/background-sync/background-sync-coordinator.d.ts +25 -0
  47. package/lib/typescript/commonjs/src/modules/bt-management/services/background-sync/background-sync-coordinator.d.ts.map +1 -0
  48. package/lib/typescript/commonjs/src/modules/bt-management/services/bt-manager.d.ts +8 -2
  49. package/lib/typescript/commonjs/src/modules/bt-management/services/bt-manager.d.ts.map +1 -1
  50. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/uebe/visomat.comfort-soft-bt.d.ts +22 -0
  51. package/lib/typescript/commonjs/src/modules/bt-management/services/devices/uebe/visomat.comfort-soft-bt.d.ts.map +1 -0
  52. package/lib/typescript/commonjs/src/modules/bt-management/types/background-sync.d.ts +32 -0
  53. package/lib/typescript/commonjs/src/modules/bt-management/types/background-sync.d.ts.map +1 -0
  54. package/lib/typescript/commonjs/src/modules/bt-management/types/btprovider-children-props.d.ts +2 -0
  55. package/lib/typescript/commonjs/src/modules/bt-management/types/btprovider-children-props.d.ts.map +1 -1
  56. package/lib/typescript/module/src/modules/bt-device/constants/supported-devices.d.ts +7 -0
  57. package/lib/typescript/module/src/modules/bt-device/constants/supported-devices.d.ts.map +1 -1
  58. package/lib/typescript/module/src/modules/bt-management/components/bt-provider-child-wrapper.d.ts.map +1 -1
  59. package/lib/typescript/module/src/modules/bt-management/index.d.ts +3 -0
  60. package/lib/typescript/module/src/modules/bt-management/index.d.ts.map +1 -1
  61. package/lib/typescript/module/src/modules/bt-management/services/background-sync/background-ble-manager.d.ts +13 -0
  62. package/lib/typescript/module/src/modules/bt-management/services/background-sync/background-ble-manager.d.ts.map +1 -0
  63. package/lib/typescript/module/src/modules/bt-management/services/background-sync/background-service-uuids.d.ts +3 -0
  64. package/lib/typescript/module/src/modules/bt-management/services/background-sync/background-service-uuids.d.ts.map +1 -0
  65. package/lib/typescript/module/src/modules/bt-management/services/background-sync/background-sync-coordinator.d.ts +25 -0
  66. package/lib/typescript/module/src/modules/bt-management/services/background-sync/background-sync-coordinator.d.ts.map +1 -0
  67. package/lib/typescript/module/src/modules/bt-management/services/bt-manager.d.ts +8 -2
  68. package/lib/typescript/module/src/modules/bt-management/services/bt-manager.d.ts.map +1 -1
  69. package/lib/typescript/module/src/modules/bt-management/services/devices/uebe/visomat.comfort-soft-bt.d.ts +22 -0
  70. package/lib/typescript/module/src/modules/bt-management/services/devices/uebe/visomat.comfort-soft-bt.d.ts.map +1 -0
  71. package/lib/typescript/module/src/modules/bt-management/types/background-sync.d.ts +32 -0
  72. package/lib/typescript/module/src/modules/bt-management/types/background-sync.d.ts.map +1 -0
  73. package/lib/typescript/module/src/modules/bt-management/types/btprovider-children-props.d.ts +2 -0
  74. package/lib/typescript/module/src/modules/bt-management/types/btprovider-children-props.d.ts.map +1 -1
  75. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNative","require","_reactNativeBlePlx","_index","_sentryLogger","_deviceCreator","BTManager","MAX_DEVICES","devices","Map","eventSubscriptions","constructor","bleManager","acceptedDevices","deviceCreator","DeviceCreator","destroy","sentryLogger","stopScan","stateChangeListener","remove","undefined","onErrorCallback","onDeviceFoundCallback","onResultCallback","onDeviceStatusChangedCallback","forEach","device","clear","startScan","onStateChange","state","State","PoweredOn","index","indexOf","splice","startDeviceScan","scanMode","ScanMode","Balanced","onScanResult","Platform","OS","Linking","sendIntent","push","stopDeviceScan","sub","onDeviceFound","callback","onError","onDeviceStatusChanged","onResult","error","Error","message","slog","advertisedName","name","trim","localName","has","id","deviceName","getDeviceName","size","deviceId","currentSize","deviceClass","createDevice","bind","onDeviceDisconnected","removeDeviceFromFoundedDevices","set","get","delete","exports"],"sourceRoot":"../../../../../src","sources":["modules/bt-management/services/bt-manager.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_reactNative","require","_reactNativeBlePlx","_index","_sentryLogger","_deviceCreator","BTManager","MAX_DEVICES","devices","Map","eventSubscriptions","constructor","bleManager","acceptedDevices","options","deviceCreator","DeviceCreator","destroy","sentryLogger","stopScan","stateChangeListener","remove","undefined","onErrorCallback","onDeviceFoundCallback","onResultCallback","onDeviceStatusChangedCallback","forEach","device","clear","startScan","onStateChange","state","State","PoweredOn","index","indexOf","splice","serviceUUIDs","Platform","OS","backgroundEnabled","length","error","Promise","resolve","startDeviceScan","scanMode","ScanMode","LowPower","Balanced","onScanResult","catch","Error","String","Linking","sendIntent","push","stopDeviceScan","sub","restoreDevices","onDeviceFound","callback","onError","onDeviceStatusChanged","onResult","message","slog","advertisedName","name","trim","localName","has","id","deviceName","getDeviceName","size","deviceId","currentSize","deviceClass","createDevice","bind","onDeviceDisconnected","removeDeviceFromFoundedDevices","set","get","delete","exports"],"sourceRoot":"../../../../../src","sources":["modules/bt-management/services/bt-manager.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.visomatComfortSoftBtMonitor = exports.VISOMAT_COMFORT_SOFT_BT_NAME_MATCH = void 0;
7
+ var _standardGattDevices = require("../standard-gatt/standard-gatt.devices.js");
8
+ /** The product name used by the visomat comfort soft BT monitor while advertising. */
9
+ const VISOMAT_COMFORT_SOFT_BT_NAME_MATCH = exports.VISOMAT_COMFORT_SOFT_BT_NAME_MATCH = /^visomat\s+comfort\s+soft\s+bt$/i;
10
+ /**
11
+ * Declares the visomat comfort soft BT upper-arm monitor.
12
+ *
13
+ * The monitor uses the Bluetooth SIG Blood Pressure Service and Measurement characteristic,
14
+ * so the shared profile handles the 0x2A35 measurement without a vendor-specific command or
15
+ * pairing flow.
16
+ */
17
+ const visomatComfortSoftBtMonitor = params => (0, _standardGattDevices.standardBloodPressureDevice)({
18
+ id: params.id,
19
+ nameMatch: params.nameMatch ?? VISOMAT_COMFORT_SOFT_BT_NAME_MATCH,
20
+ ...(params.stuckDataTimeoutMs === undefined ? {} : {
21
+ stuckDataTimeoutMs: params.stuckDataTimeoutMs
22
+ })
23
+ });
24
+ exports.visomatComfortSoftBtMonitor = visomatComfortSoftBtMonitor;
25
+ //# sourceMappingURL=visomat.comfort-soft-bt.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_standardGattDevices","require","VISOMAT_COMFORT_SOFT_BT_NAME_MATCH","exports","visomatComfortSoftBtMonitor","params","standardBloodPressureDevice","id","nameMatch","stuckDataTimeoutMs","undefined"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/uebe/visomat.comfort-soft-bt.ts"],"mappings":";;;;;;AACA,IAAAA,oBAAA,GAAAC,OAAA;AAEA;AACA,MAAMC,kCAAkC,GAAAC,OAAA,CAAAD,kCAAA,GAAG,kCAAkC;AAc7E;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAME,2BAA2B,GAC/BC,MAAkC,IAElC,IAAAC,gDAA2B,EAAC;EAC1BC,EAAE,EAAEF,MAAM,CAACE,EAAE;EACbC,SAAS,EAAEH,MAAM,CAACG,SAAS,IAAIN,kCAAkC;EACjE,IAAIG,MAAM,CAACI,kBAAkB,KAAKC,SAAS,GACvC,CAAC,CAAC,GACF;IAAED,kBAAkB,EAAEJ,MAAM,CAACI;EAAmB,CAAC;AACvD,CAAC,CAAC;AAACN,OAAA,CAAAC,2BAAA,GAAAA,2BAAA","ignoreList":[]}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ //# sourceMappingURL=background-sync.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sourceRoot":"../../../../../src","sources":["modules/bt-management/types/background-sync.ts"],"mappings":"","ignoreList":[]}
@@ -6,6 +6,7 @@ const verovalEcgImage = "https://img.hartmann.info/cdn-cgi/image/width%3D412%2Ch
6
6
  const verovalBpu26Image = "https://cdn.hartmann.info/product/40938_43.jpg";
7
7
  const verovalBpw26Image = "https://cdn.hartmann.info/product/40385_43.jpg";
8
8
  const bosoMedicusSystemImage = "https://www.boso.de/fileadmin/_processed_/0/b/csm_medicus_system_1019_9ce057ffcc.png";
9
+ const visomatComfortSoftBtImage = "https://www.visomat.de/wp-content/uploads/2023/10/prd_slider_comfort-soft-BT.jpg";
9
10
 
10
11
  // Official Bluetooth SIG combination mark downloaded from the Bluetooth media kit.
11
12
  const bluetoothSigLogo = "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyBpZD0ibG9nbyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMzYwIDE0NCI+CiAgPGRlZnM+CiAgICA8c3R5bGU+CiAgICAgIC5jbHMtMSB7CiAgICAgICAgZmlsbDogI2ZmZjsKICAgICAgfQoKICAgICAgLmNscy0yIHsKICAgICAgICBmaWxsOiAjMDA4MmZjOwogICAgICB9CgogICAgICAuY2xzLTIsIC5jbHMtMyB7CiAgICAgICAgZmlsbC1ydWxlOiBldmVub2RkOwogICAgICB9CiAgICA8L3N0eWxlPgogIDwvZGVmcz4KICA8ZyBpZD0iQmx1ZXRvb3RoIj4KICAgIDxwYXRoIGNsYXNzPSJjbHMtMyIgZD0iTTk0LjE3LDc1LjE5aDMuMjZjNi4wMiwwLDguMywzLjAxLDguMyw5LjAzcy0xLjk1LDkuMDMtNy4zMiw5LjAzaC00LjIzdi0xOC4wN2gwWk05NC4xNyw1MS4xaDMuODNjNC40OCwwLDYuNTksMi44NSw2LjU5LDguMywwLDQuODgtMi45Myw3LjQ5LTYuNzUsNy40OWgtMy42NnYtMTUuNzloMFpNODQuMDgsMTAxLjU2aDE1Ljk1YzExLjQ3LDAsMTUuNzktNy4zMiwxNS43OS0xNy4wMSwwLTcuNTctMy4wMS0xMS42NC04LjE0LTEzLjkyLDQuODgtMS45NSw3LTcuMjQsNy0xMi4yOSwwLTEwLjAxLTQuOC0xNS41NC0xNS42My0xNS41NGgtMTQuOTd2NTguNzZoMFoiLz4KICAgIDxwb2x5Z29uIHBvaW50cz0iMTI4LjkyIDEwMS41NiAxMjguOTIgNDIuOCAxMTkuODEgNDIuOCAxMTkuODEgMTAxLjU2IDEyOC45MiAxMDEuNTYgMTI4LjkyIDEwMS41NiIvPgogICAgPHBhdGggZD0iTTE1My4zMyw1Ny43N3YzNC4zNGMtMi4xMiwxLjU1LTMuOTEsMi43Ny01Ljg2LDIuNzdzLTMuMjYtLjk4LTMuMjYtMy4xN3YtMzMuOTRoLTkuMTF2MzUuNGMwLDUuNywyLjg1LDkuMiw3LjY1LDkuMiw1LjI5LDAsNy4yNC0xLjk1LDExLjA3LTUuMjF2NC4zOWg4LjYzdi00My43OGgtOS4xMVoiLz4KICAgIDxwYXRoIGNsYXNzPSJjbHMtMyIgZD0iTTE3Ny4xNiw3My44OXYtMi4yOGMwLTUuMDUsMS43OS03LjE2LDUuMDUtNy4xNnM1LjA1LDIuMTIsNS4wNSw3LjE2djIuMjhoLTEwLjA5Wk0xOTYuMzcsNzMuMjRjMC05LjYtMy43NC0xNi4yOC0xNC4xNi0xNi4yOHMtMTQuMTYsNi42Ny0xNC4xNiwxNi4yOHYxMi44NmMwLDkuNiwzLjc0LDE2LjI4LDE0LjE2LDE2LjI4czE0LTYuMzUsMTQtMTUuNjNoLTkuMTF2Ljk4YzAsNS4wNS0xLjc5LDcuMTYtNS4wNSw3LjE2cy01LjA1LTIuMTItNS4wNS03LjE2di02LjM1aDE5LjIxdi04LjE0aDBaIi8+CiAgICA8cGF0aCBkPSJNMzUzLjg4LDQ5LjA5YzAsMy40OC0yLjk2LDYuNDEtNi40NCw2LjQxcy02LjQxLTIuODEtNi40MS02LjQxLDIuODctNi40MSw2LjQxLTYuNDEsNi40NCwyLjc4LDYuNDQsNi40MVpNMzQyLjQ2LDQ5LjAzYzAsMi43NSwyLjIzLDUuMTMsNC45OCw1LjEzczQuOTgtMi4yNiw0Ljk4LTUuMDEtMi4yLTUuMTMtNC45OC01LjEzLTQuOTgsMi4yNi00Ljk4LDUuMDFaTTM0OC42Myw1Mi41N2wtMS45NS0zLjExaC0uMDl2My4xMWgtMS4yMnYtNy4wNWgyLjE0YzEuNjgsMCwyLjM1LjcsMi4zNSwxLjc3LDAsMS4xOS0uNzMsMS45Mi0xLjg2LDIuMDUuMTUuMTguNDMuNTguNywxLjAxbDEuNDYsMi4yM2gtMS41M1pNMzQ3LjM4LDQ2LjVoLS43OXYyLjE3aC40OWMxLjEzLDAsMS41LS42NCwxLjUtMS4yMiwwLS42Ny0uMy0uOTUtMS4xOS0uOTVaIi8+CiAgICA8cGF0aCBkPSJNMjA0LjQxLDY1LjI2djI3LjI2YzAsNi42NywzLjgyLDkuODUsMTAuNjYsOS44NSwyLjI4LDAsMy4zNC0uMTYsNC41Ni0uNDl2LTcuODFoLTMuMDFjLTIuMTIsMC0zLjA5LTEuMy0zLjA5LTMuNTh2LTI1LjIzaDYuMXYtNy40OWgtNi4xdi0xMS44aC05LjExdjExLjhoLTUuMDV2Ny40OWg1LjA1WiIvPgogICAgPHBhdGggY2xhc3M9ImNscy0zIiBkPSJNMjQyLjY0LDg3LjcyYzAsNS4wNS0xLjc5LDcuMTYtNS4wNSw3LjE2cy01LjA1LTIuMTItNS4wNS03LjE2di0xNi4xMWMwLTUuMDUsMS43OS03LjE2LDUuMDUtNy4xNnM1LjA1LDIuMTIsNS4wNSw3LjE2djE2LjExaDBaTTIyMy40Myw4Ni4wOWMwLDkuNiwzLjc0LDE2LjI4LDE0LjE2LDE2LjI4czE0LjE2LTYuNjcsMTQuMTYtMTYuMjh2LTEyLjg2YzAtOS42LTMuNzQtMTYuMjgtMTQuMTYtMTYuMjhzLTE0LjE2LDYuNjctMTQuMTYsMTYuMjh2MTIuODZoMFoiLz4KICAgIDxwYXRoIGNsYXNzPSJjbHMtMyIgZD0iTTI3NS43NCw4Ny43MmMwLDUuMDUtMS43OSw3LjE2LTUuMDUsNy4xNnMtNS4wNS0yLjEyLTUuMDUtNy4xNnYtMTYuMTFjMC01LjA1LDEuNzktNy4xNiw1LjA1LTcuMTZzNS4wNSwyLjEyLDUuMDUsNy4xNnYxNi4xMWgwWk0yNTYuNTQsODYuMDljMCw5LjYsMy43NCwxNi4yOCwxNC4xNiwxNi4yOHMxNC4xNi02LjY3LDE0LjE2LTE2LjI4di0xMi44NmMwLTkuNi0zLjc0LTE2LjI4LTE0LjE2LTE2LjI4cy0xNC4xNiw2LjY3LTE0LjE2LDE2LjI4djEyLjg2aDBaIi8+CiAgICA8cGF0aCBkPSJNMjkyLjY1LDY1LjI2djI3LjI2YzAsNi42NywzLjgzLDkuODUsMTAuNjYsOS44NSwyLjI4LDAsMy4zNC0uMTYsNC41Ni0uNDl2LTcuODFoLTMuMDFjLTIuMTIsMC0zLjA5LTEuMy0zLjA5LTMuNTh2LTI1LjIzaDYuMXYtNy40OWgtNi4xdi0xMS44aC05LjEydjExLjhoLTUuMDV2Ny40OWg1LjA1WiIvPgogICAgPHBhdGggZD0iTTMyMi42NiwxMDEuNTZ2LTM0LjM0YzIuMTItMS41NSwzLjkxLTIuNzcsNS44Ni0yLjc3czMuMjYuOTgsMy4yNiwzLjE3djMzLjk0aDkuMTF2LTM1LjRjMC01LjctMi44NS05LjItNy42NS05LjItNS4yOSwwLTcuMjQsMS45NS0xMC41OCw0Ljg4di0xOS4wNGgtOS4xMnY1OC43Nmg5LjEyWiIvPgogIDwvZz4KICA8ZyBpZD0iQnVnIj4KICAgIDxlbGxpcHNlIGNsYXNzPSJjbHMtMSIgY3g9IjM4LjQxIiBjeT0iNzEuNzgiIHJ4PSIyNC4zMSIgcnk9IjQwLjIyIi8+CiAgICA8cGF0aCBpZD0iQnVnLTIiIGRhdGEtbmFtZT0iQnVnIiBjbGFzcz0iY2xzLTIiIGQ9Ik00MS44Miw1MC42MWw3LjA0LDcuMDQtNy4wMyw3LjAzdi0xNC4wN2gwWk00MS44Miw5My43MWw3LjA0LTcuMDQtNy4wMy03LjAzdjE0LjA3aDBaTTM0LjMxLDcyLjE2bC0xNS4yMi0xNS4yNiw0LjQxLTQuNDEsMTIuMTMsMTIuMTN2LTI5LjA2bDIyLjA1LDIyLjA1LTE0LjU2LDE0LjU2LDE0LjU2LDE0LjU2LTIyLjA1LDIyLjA1di0yOS4wNmwtMTIuMTMsMTIuMTMtNC40MS00LjQxLDE1LjIyLTE1LjI2aDBaTTM4LjM5LDExNC43M2MxOC41OSwwLDMxLjQtOC44MywzMS40LTQyLjU3cy0xMi44MS00Mi41Ny0zMS40LTM0LjU3UzYuOTgsMzguNDIsNi45OCw3Mi4xNnMxMi44Miw0Mi41NywzMS40MSw0Mi41N2gwWiIvPgogIDwvZz4KPC9zdmc+";
@@ -16,6 +17,7 @@ const hartmannEcgCredit = "HARTMANN official product image: https://www.hartmann
16
17
  const hartmannBpu26Credit = "HARTMANN official product image: https://www.hartmann.info/en/products/diagnostics/blood-pressure-monitors/upper-arm-products/veroval%C2%AE-compact-%2C-pl-%2C-upper-arm-blood-pressure-monitor";
17
18
  const hartmannBpw26Credit = "HARTMANN official product image: https://www.hartmann.info/en/products/diagnostics/blood-pressure-monitors/wrist-products/veroval%C2%AE-compact-%2C-pl-%2C-wrist-blood-pressure-monitor";
18
19
  const bosoMedicusSystemCredit = "boso official product image: https://www.boso.de/en/products-for-home-users/blood-pressure-instruments/boso-medicus-system";
20
+ const visomatComfortSoftBtCredit = "visomat official product image: https://www.visomat.de/produkte/comfort-soft-bt/";
19
21
 
20
22
  /**
21
23
  * Concrete devices and device families supported by the Bluetooth module.
@@ -88,6 +90,13 @@ export const Devices = [{
88
90
  manufacturerKey: "devices.catalog.manufacturers.boso",
89
91
  logo: bosoMedicusSystemImage,
90
92
  creditsForImage: bosoMedicusSystemCredit
93
+ }, {
94
+ name: "visomat comfort soft BT",
95
+ nameKey: "devices.catalog.visomat-comfort-soft-bt.name",
96
+ manufacturer: "UEBE Medical GmbH",
97
+ manufacturerKey: "devices.catalog.manufacturers.uebe",
98
+ logo: visomatComfortSoftBtImage,
99
+ creditsForImage: visomatComfortSoftBtCredit
91
100
  }, {
92
101
  name: "AOJ-20A",
93
102
  nameKey: "devices.catalog.aoj-20a.name",
@@ -1 +1 @@
1
- {"version":3,"names":["deviceImages","verovalDuoControlImage","verovalEcgImage","verovalBpu26Image","verovalBpw26Image","bosoMedicusSystemImage","bluetoothSigLogo","bundledAssetCredit","bluetoothSigAssetCredit","hartmannDuoControlCredit","hartmannEcgCredit","hartmannBpu26Credit","hartmannBpw26Credit","bosoMedicusSystemCredit","Devices","name","nameKey","manufacturer","manufacturerKey","logo","viatomWellueArmfitDeviceImage","creditsForImage","viatomScaleDeviceImage","viatomWellueOxySmartDeviceImage","bc401DeviceImage","aoj20aDeviceImage","viatomDeviceSmallImage","viatomWellueOxyfitDeviceImage","viatomEcgButtonDeviceImage"],"sourceRoot":"../../../../../src","sources":["modules/bt-device/constants/supported-devices.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["deviceImages","verovalDuoControlImage","verovalEcgImage","verovalBpu26Image","verovalBpw26Image","bosoMedicusSystemImage","visomatComfortSoftBtImage","bluetoothSigLogo","bundledAssetCredit","bluetoothSigAssetCredit","hartmannDuoControlCredit","hartmannEcgCredit","hartmannBpu26Credit","hartmannBpw26Credit","bosoMedicusSystemCredit","visomatComfortSoftBtCredit","Devices","name","nameKey","manufacturer","manufacturerKey","logo","viatomWellueArmfitDeviceImage","creditsForImage","viatomScaleDeviceImage","viatomWellueOxySmartDeviceImage","bc401DeviceImage","aoj20aDeviceImage","viatomDeviceSmallImage","viatomWellueOxyfitDeviceImage","viatomEcgButtonDeviceImage"],"sourceRoot":"../../../../../src","sources":["modules/bt-device/constants/supported-devices.ts"],"mappings":"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","ignoreList":[]}
@@ -4,6 +4,9 @@ import * as React from "react";
4
4
  import { AppState } from "react-native";
5
5
  import { useDeviceList } from "../../bt-device/components/hooks/use-device-list.js";
6
6
  import { sentryLogger } from "../../helpers/utils/sentry-logger.js";
7
+ import { getRestoredBleState } from "../services/background-sync/background-ble-manager.js";
8
+ import { getBackgroundServiceUUIDs } from "../services/background-sync/background-service-uuids.js";
9
+ import { BackgroundSyncCoordinator } from "../services/background-sync/background-sync-coordinator.js";
7
10
  import { BTManager } from "../services/bt-manager.js";
8
11
  import { Fragment as _Fragment, jsx as _jsx } from "react/jsx-runtime";
9
12
  export const BTProviderChildWrapper = /*#__PURE__*/React.memo(({
@@ -13,25 +16,49 @@ export const BTProviderChildWrapper = /*#__PURE__*/React.memo(({
13
16
  onDeviceFound,
14
17
  onError,
15
18
  onDeviceStatusChanged,
16
- onResult
19
+ onResult,
20
+ backgroundSync
17
21
  }) => {
18
22
  const btManagerRef = React.useRef(null);
23
+ const backgroundSyncRef = React.useRef(backgroundSync);
24
+ const backgroundSyncCoordinatorRef = React.useRef(null);
19
25
  const {
20
26
  setDeviceListItems
21
27
  } = useDeviceList();
28
+ backgroundSyncRef.current = backgroundSync;
22
29
  React.useEffect(() => {
23
30
  if (!acceptedDevices.length) {
24
31
  return;
25
32
  }
26
33
  sentryLogger("info", "Creating BTManager");
27
- const btManager = new BTManager(bleManager, acceptedDevices);
34
+ const currentBackgroundSync = backgroundSyncRef.current;
35
+ const isBackgroundEnabled = currentBackgroundSync?.enabled === true;
36
+ const backgroundOptions = isBackgroundEnabled ? {
37
+ backgroundEnabled: true,
38
+ serviceUUIDs: getBackgroundServiceUUIDs(acceptedDevices, currentBackgroundSync.serviceUUIDs)
39
+ } : undefined;
40
+ const btManager = backgroundOptions ? new BTManager(bleManager, acceptedDevices, backgroundOptions) : new BTManager(bleManager, acceptedDevices);
41
+ const coordinator = isBackgroundEnabled && currentBackgroundSync ? new BackgroundSyncCoordinator({
42
+ ...currentBackgroundSync,
43
+ enabled: true,
44
+ onResult: async result => {
45
+ const latest = backgroundSyncRef.current;
46
+ if (!latest?.enabled) {
47
+ return;
48
+ }
49
+ await latest.onResult(result);
50
+ }
51
+ }) : null;
28
52
  btManagerRef.current = btManager;
53
+ backgroundSyncCoordinatorRef.current = coordinator;
29
54
  btManager.startScan();
30
55
  return () => {
31
56
  sentryLogger("info", "Destroying scan service");
57
+ backgroundSyncCoordinatorRef.current = null;
58
+ btManagerRef.current = null;
32
59
  btManager.destroy();
33
60
  };
34
- }, [acceptedDevices, bleManager]);
61
+ }, [acceptedDevices, backgroundSync?.enabled, backgroundSync?.maxRetries, backgroundSync?.retryBackoffMs, backgroundSync?.serviceUUIDs, backgroundSync?.storage, backgroundSync?.storageKey, bleManager]);
35
62
  React.useEffect(() => {
36
63
  if (!onDeviceFound || !acceptedDevices.length) {
37
64
  return;
@@ -51,14 +78,28 @@ export const BTProviderChildWrapper = /*#__PURE__*/React.memo(({
51
78
  };
52
79
  }, [onError, acceptedDevices]);
53
80
  React.useEffect(() => {
54
- if (!onResult || !acceptedDevices.length) {
81
+ if (!acceptedDevices.length) {
55
82
  return;
56
83
  }
57
- btManagerRef.current?.onResult(onResult);
84
+ const callback = backgroundSync?.enabled === true ? data => {
85
+ onResult?.(data);
86
+ const coordinator = backgroundSyncCoordinatorRef.current;
87
+ if (coordinator) {
88
+ void coordinator.enqueue(data).catch(error => {
89
+ onError?.({
90
+ error: error instanceof Error ? error : String(error)
91
+ });
92
+ });
93
+ }
94
+ } : onResult;
95
+ if (!callback) {
96
+ return;
97
+ }
98
+ btManagerRef.current?.onResult(callback);
58
99
  return () => {
59
100
  btManagerRef.current?.onResult(undefined);
60
101
  };
61
- }, [onResult, acceptedDevices]);
102
+ }, [backgroundSync?.enabled, onError, onResult, acceptedDevices]);
62
103
  React.useEffect(() => {
63
104
  if (!onDeviceStatusChanged || !acceptedDevices.length) {
64
105
  return;
@@ -90,17 +131,36 @@ export const BTProviderChildWrapper = /*#__PURE__*/React.memo(({
90
131
  btManagerRef.current?.onDeviceStatusChanged(undefined);
91
132
  };
92
133
  }, [onDeviceStatusChanged, acceptedDevices, setDeviceListItems]);
134
+ React.useEffect(() => {
135
+ if (!acceptedDevices.length || backgroundSync?.enabled !== true) {
136
+ return;
137
+ }
138
+ const restoredState = getRestoredBleState(backgroundSync.restoreStateIdentifier);
139
+ if (restoredState?.connectedPeripherals.length) {
140
+ btManagerRef.current?.restoreDevices(restoredState.connectedPeripherals);
141
+ }
142
+ void backgroundSyncCoordinatorRef.current?.flush().catch(error => {
143
+ onError?.({
144
+ error: error instanceof Error ? error : String(error)
145
+ });
146
+ });
147
+ }, [acceptedDevices, backgroundSync?.enabled, backgroundSync?.restoreStateIdentifier, onError]);
93
148
  React.useEffect(() => {
94
149
  const listener = AppState.addEventListener("change", state => {
95
150
  if (state !== "active") {
96
151
  return;
97
152
  }
98
153
  btManagerRef.current?.startScan();
154
+ void backgroundSyncCoordinatorRef.current?.flush().catch(error => {
155
+ onError?.({
156
+ error: error instanceof Error ? error : String(error)
157
+ });
158
+ });
99
159
  });
100
160
  return () => {
101
161
  listener.remove();
102
162
  };
103
- }, []);
163
+ }, [onError]);
104
164
  return /*#__PURE__*/_jsx(_Fragment, {
105
165
  children: children
106
166
  });
@@ -1 +1 @@
1
- {"version":3,"names":["React","AppState","useDeviceList","sentryLogger","BTManager","Fragment","_Fragment","jsx","_jsx","BTProviderChildWrapper","memo","bleManager","acceptedDevices","children","onDeviceFound","onError","onDeviceStatusChanged","onResult","btManagerRef","useRef","setDeviceListItems","useEffect","length","btManager","current","startScan","destroy","undefined","status","deviceData","measurementTypeKey","prev","newList","index","findIndex","item","deviceType","name","listener","addEventListener","state","remove"],"sourceRoot":"../../../../../src","sources":["modules/bt-management/components/bt-provider-child-wrapper.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","AppState","useDeviceList","sentryLogger","getRestoredBleState","getBackgroundServiceUUIDs","BackgroundSyncCoordinator","BTManager","Fragment","_Fragment","jsx","_jsx","BTProviderChildWrapper","memo","bleManager","acceptedDevices","children","onDeviceFound","onError","onDeviceStatusChanged","onResult","backgroundSync","btManagerRef","useRef","backgroundSyncRef","backgroundSyncCoordinatorRef","setDeviceListItems","current","useEffect","length","currentBackgroundSync","isBackgroundEnabled","enabled","backgroundOptions","backgroundEnabled","serviceUUIDs","undefined","btManager","coordinator","result","latest","startScan","destroy","maxRetries","retryBackoffMs","storage","storageKey","callback","data","enqueue","catch","error","Error","String","status","deviceData","measurementTypeKey","prev","newList","index","findIndex","item","deviceType","name","restoredState","restoreStateIdentifier","connectedPeripherals","restoreDevices","flush","listener","addEventListener","state","remove"],"sourceRoot":"../../../../../src","sources":["modules/bt-management/components/bt-provider-child-wrapper.tsx"],"mappings":"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","ignoreList":[]}
@@ -28,15 +28,18 @@ export * from "./types/service.type.js";
28
28
  export * from "./types/device-status.js";
29
29
  export * from "./types/btprovider-props.js";
30
30
  export * from "./types/btprovider-children-props.js";
31
+ export * from "./types/background-sync.js";
31
32
  export * from "./types/result-callback.js";
32
33
  export * from "./types/error-callback.js";
33
34
  export * from "./types/device-status-change-callback.js";
34
35
  export * from "./services/devices/bt-managed-device.js";
35
36
  export * from "./services/devices/custom/custom.device.js";
36
37
  export * from "./services/bt-manager.js";
38
+ export * from "./services/background-sync/background-ble-manager.js";
37
39
  export * from "./services/custom/define-custom-device.js";
38
40
  export * from "./services/devices/standard-gatt/standard-gatt.devices.js";
39
41
  export * from "./services/devices/boso/boso.medicus.js";
42
+ export * from "./services/devices/uebe/visomat.comfort-soft-bt.js";
40
43
  export * from "./services/devices/veroval/veroval.bp-monitors.js";
41
44
  export * from "./services/devices/veroval/veroval.duo-control-device.js";
42
45
  export * from "./services/devices/veroval/veroval.ecg-device.js";
@@ -1 +1 @@
1
- {"version":3,"names":[],"sourceRoot":"../../../../src","sources":["modules/bt-management/index.ts"],"mappings":";;AAAA,cAAc,gCAA6B;AAC3C,cAAc,4BAAyB;AACvC,cAAc,kCAA+B;AAC7C,cAAc,8BAA2B;AACzC,cAAc,6BAA0B;AACxC,cAAc,6BAA0B;AACxC,cAAc,qCAAkC;AAChD,cAAc,6BAA0B;AACxC,cAAc,+BAA4B;AAC1C,cAAc,kCAA+B;AAC7C,cAAc,8BAA2B;AACzC,cAAc,8BAA2B;AACzC,cAAc,6BAA0B;AACxC,cAAc,+BAA4B;AAC1C,cAAc,gCAA6B;AAC3C,cAAc,gCAA6B;AAC3C,cAAc,8BAA2B;AACzC,cAAc,2BAAwB;AACtC,cAAc,uBAAoB;AAClC,cAAc,0BAAuB;AACrC,cAAc,wBAAqB;AACnC,cAAc,0BAAuB;AACrC,cAAc,+BAA4B;AAC1C,cAAc,6BAA0B;AACxC,cAAc,yBAAsB;AACpC,cAAc,0BAAuB;AACrC,cAAc,6BAA0B;AACxC,cAAc,sCAAmC;AACjD,cAAc,4BAAyB;AACvC,cAAc,2BAAwB;AACtC,cAAc,0CAAuC;AAErD,cAAc,yCAAsC;AACpD,cAAc,4CAAyC;AACvD,cAAc,0BAAuB;AACrC,cAAc,2CAAwC;AACtD,cAAc,2DAAwD;AACtE,cAAc,yCAAsC;AACpD,cAAc,mDAAgD;AAC9D,cAAc,0DAAuD;AACrE,cAAc,kDAA+C;AAC7D,cAAc,mDAAgD;AAC9D,cAAc,4CAAyC;AACvD,cAAc,4CAAyC;AACvD,cAAc,iDAA8C;AAC5D,cAAc,+CAA4C;AAC1D,cAAc,mDAAgD;AAC9D,cAAc,2CAAwC;AACtD,cAAc,8CAA2C;AACzD,cAAc,4CAAyC;AACvD,cAAc,0CAAuC;AACrD,cAAc,6CAA0C;AACxD,cAAc,+CAA4C;AAC1D,cAAc,+CAA4C;AAE1D,cAAc,0CAAuC;AAErD,cAAc,6BAA0B;AACxC,cAAc,6CAA0C;AACxD,cAAc,oCAAiC","ignoreList":[]}
1
+ {"version":3,"names":[],"sourceRoot":"../../../../src","sources":["modules/bt-management/index.ts"],"mappings":";;AAAA,cAAc,gCAA6B;AAC3C,cAAc,4BAAyB;AACvC,cAAc,kCAA+B;AAC7C,cAAc,8BAA2B;AACzC,cAAc,6BAA0B;AACxC,cAAc,6BAA0B;AACxC,cAAc,qCAAkC;AAChD,cAAc,6BAA0B;AACxC,cAAc,+BAA4B;AAC1C,cAAc,kCAA+B;AAC7C,cAAc,8BAA2B;AACzC,cAAc,8BAA2B;AACzC,cAAc,6BAA0B;AACxC,cAAc,+BAA4B;AAC1C,cAAc,gCAA6B;AAC3C,cAAc,gCAA6B;AAC3C,cAAc,8BAA2B;AACzC,cAAc,2BAAwB;AACtC,cAAc,uBAAoB;AAClC,cAAc,0BAAuB;AACrC,cAAc,wBAAqB;AACnC,cAAc,0BAAuB;AACrC,cAAc,+BAA4B;AAC1C,cAAc,6BAA0B;AACxC,cAAc,yBAAsB;AACpC,cAAc,0BAAuB;AACrC,cAAc,6BAA0B;AACxC,cAAc,sCAAmC;AACjD,cAAc,4BAAyB;AACvC,cAAc,4BAAyB;AACvC,cAAc,2BAAwB;AACtC,cAAc,0CAAuC;AAErD,cAAc,yCAAsC;AACpD,cAAc,4CAAyC;AACvD,cAAc,0BAAuB;AACrC,cAAc,sDAAmD;AACjE,cAAc,2CAAwC;AACtD,cAAc,2DAAwD;AACtE,cAAc,yCAAsC;AACpD,cAAc,oDAAiD;AAC/D,cAAc,mDAAgD;AAC9D,cAAc,0DAAuD;AACrE,cAAc,kDAA+C;AAC7D,cAAc,mDAAgD;AAC9D,cAAc,4CAAyC;AACvD,cAAc,4CAAyC;AACvD,cAAc,iDAA8C;AAC5D,cAAc,+CAA4C;AAC1D,cAAc,mDAAgD;AAC9D,cAAc,2CAAwC;AACtD,cAAc,8CAA2C;AACzD,cAAc,4CAAyC;AACvD,cAAc,0CAAuC;AACrD,cAAc,6CAA0C;AACxD,cAAc,+CAA4C;AAC1D,cAAc,+CAA4C;AAE1D,cAAc,0CAAuC;AAErD,cAAc,6BAA0B;AACxC,cAAc,6CAA0C;AACxD,cAAc,oCAAiC","ignoreList":[]}
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+
3
+ import { BleManager } from "react-native-ble-plx";
4
+ const DEFAULT_RESTORE_STATE_IDENTIFIER = "com.ovok.native.background-sync";
5
+ const restoredStates = new Map();
6
+ /**
7
+ * Creates a BLE manager configured for iOS CoreBluetooth state restoration. The returned
8
+ * manager must be created once at module scope, not inside a React render.
9
+ */
10
+ const createBackgroundBleManager = ({
11
+ restoreStateIdentifier = DEFAULT_RESTORE_STATE_IDENTIFIER,
12
+ onRestoreState
13
+ } = {}) => new BleManager({
14
+ restoreStateIdentifier,
15
+ restoreStateFunction: state => {
16
+ restoredStates.set(restoreStateIdentifier, state);
17
+ onRestoreState?.(state);
18
+ }
19
+ });
20
+ const getRestoredBleState = (restoreStateIdentifier = DEFAULT_RESTORE_STATE_IDENTIFIER) => restoredStates.get(restoreStateIdentifier);
21
+ export { DEFAULT_RESTORE_STATE_IDENTIFIER, createBackgroundBleManager, getRestoredBleState };
22
+ //# sourceMappingURL=background-ble-manager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["BleManager","DEFAULT_RESTORE_STATE_IDENTIFIER","restoredStates","Map","createBackgroundBleManager","restoreStateIdentifier","onRestoreState","restoreStateFunction","state","set","getRestoredBleState","get"],"sourceRoot":"../../../../../../src","sources":["modules/bt-management/services/background-sync/background-ble-manager.ts"],"mappings":";;AAAA,SACEA,UAAU,QAGL,sBAAsB;AAE7B,MAAMC,gCAAgC,GACpC,iCAAiC;AAEnC,MAAMC,cAAc,GAAG,IAAIC,GAAG,CAAkC,CAAC;AAOjE;AACA;AACA;AACA;AACA,MAAMC,0BAA0B,GAAGA,CAAC;EAClCC,sBAAsB,GAAGJ,gCAAgC;EACzDK;AAC2B,CAAC,GAAG,CAAC,CAAC,KACjC,IAAIN,UAAU,CAAC;EACbK,sBAAsB;EACtBE,oBAAoB,EAAGC,KAAK,IAAK;IAC/BN,cAAc,CAACO,GAAG,CAACJ,sBAAsB,EAAEG,KAAK,CAAC;IACjDF,cAAc,GAAGE,KAAK,CAAC;EACzB;AACF,CAAC,CAAC;AAEJ,MAAME,mBAAmB,GAAGA,CAC1BL,sBAAsB,GAAGJ,gCAAgC,KAEzDC,cAAc,CAACS,GAAG,CAACN,sBAAsB,CAAC;AAE5C,SAEEJ,gCAAgC,EAChCG,0BAA0B,EAC1BM,mBAAmB","ignoreList":[]}
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+
3
+ import { IntegratedDevices } from "../../types/integrated-devices.js";
4
+ import { bc01MainServices } from "../devices/bc01/bc01.main-services.js";
5
+ import { bp2MainServices } from "../devices/bp2/bp2.main-services.js";
6
+ import { f4MainServices } from "../devices/f4/f4.main-services.js";
7
+ import { spo2MainServices } from "../devices/spo/spo2.main-services.js";
8
+ const normalize = uuid => uuid.toLowerCase();
9
+ const serviceUUIDs = services => services.map(service => normalize(service.uuid));
10
+ const BUILT_IN_SERVICE_UUIDS = {
11
+ [IntegratedDevices.BP2]: serviceUUIDs(bp2MainServices),
12
+ [IntegratedDevices.F4]: serviceUUIDs(f4MainServices),
13
+ [IntegratedDevices.PC60WF]: serviceUUIDs(spo2MainServices),
14
+ [IntegratedDevices.BC01]: serviceUUIDs(bc01MainServices),
15
+ [IntegratedDevices.VEROVAL_DUO_CONTROL]: ["5d4b8aa6-a26a-4a1b-99f5-cd4473c786e3"],
16
+ [IntegratedDevices.VEROVAL_ECG]: ["0000a000-0000-1000-8000-00805f9b34fb"]
17
+ };
18
+ export const getBackgroundServiceUUIDs = (acceptedDevices, additionalServiceUUIDs = []) => {
19
+ const uuids = new Set(additionalServiceUUIDs.map(normalize));
20
+ acceptedDevices.forEach(acceptedDevice => {
21
+ const deviceUUIDs = typeof acceptedDevice === "string" ? BUILT_IN_SERVICE_UUIDS[acceptedDevice] : serviceUUIDs(acceptedDevice.mainServices);
22
+ deviceUUIDs?.forEach(uuid => uuids.add(normalize(uuid)));
23
+ });
24
+ return [...uuids];
25
+ };
26
+ //# sourceMappingURL=background-service-uuids.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["IntegratedDevices","bc01MainServices","bp2MainServices","f4MainServices","spo2MainServices","normalize","uuid","toLowerCase","serviceUUIDs","services","map","service","BUILT_IN_SERVICE_UUIDS","BP2","F4","PC60WF","BC01","VEROVAL_DUO_CONTROL","VEROVAL_ECG","getBackgroundServiceUUIDs","acceptedDevices","additionalServiceUUIDs","uuids","Set","forEach","acceptedDevice","deviceUUIDs","mainServices","add"],"sourceRoot":"../../../../../../src","sources":["modules/bt-management/services/background-sync/background-service-uuids.ts"],"mappings":";;AAEA,SAASA,iBAAiB,QAAQ,mCAAgC;AAElE,SAASC,gBAAgB,QAAQ,uCAAoC;AACrE,SAASC,eAAe,QAAQ,qCAAkC;AAClE,SAASC,cAAc,QAAQ,mCAAgC;AAC/D,SAASC,gBAAgB,QAAQ,sCAAmC;AAEpE,MAAMC,SAAS,GAAIC,IAAY,IAAaA,IAAI,CAACC,WAAW,CAAC,CAAC;AAE9D,MAAMC,YAAY,GAAIC,QAA6B,IACjDA,QAAQ,CAACC,GAAG,CAAEC,OAAO,IAAKN,SAAS,CAACM,OAAO,CAACL,IAAI,CAAC,CAAC;AAEpD,MAAMM,sBAAoE,GAAG;EAC3E,CAACZ,iBAAiB,CAACa,GAAG,GAAGL,YAAY,CAACN,eAAe,CAAC;EACtD,CAACF,iBAAiB,CAACc,EAAE,GAAGN,YAAY,CAACL,cAAc,CAAC;EACpD,CAACH,iBAAiB,CAACe,MAAM,GAAGP,YAAY,CAACJ,gBAAgB,CAAC;EAC1D,CAACJ,iBAAiB,CAACgB,IAAI,GAAGR,YAAY,CAACP,gBAAgB,CAAC;EACxD,CAACD,iBAAiB,CAACiB,mBAAmB,GAAG,CACvC,sCAAsC,CACvC;EACD,CAACjB,iBAAiB,CAACkB,WAAW,GAAG,CAC/B,sCAAsC;AAE1C,CAAC;AAED,OAAO,MAAMC,yBAAyB,GAAGA,CACvCC,eAA0C,EAC1CC,sBAAyC,GAAG,EAAE,KACjC;EACb,MAAMC,KAAK,GAAG,IAAIC,GAAG,CAACF,sBAAsB,CAACX,GAAG,CAACL,SAAS,CAAC,CAAC;EAE5De,eAAe,CAACI,OAAO,CAAEC,cAAc,IAAK;IAC1C,MAAMC,WAAW,GACf,OAAOD,cAAc,KAAK,QAAQ,GAC9Bb,sBAAsB,CAACa,cAAc,CAAC,GACtCjB,YAAY,CAAEiB,cAAc,CAA4BE,YAAY,CAAC;IAE3ED,WAAW,EAAEF,OAAO,CAAElB,IAAI,IAAKgB,KAAK,CAACM,GAAG,CAACvB,SAAS,CAACC,IAAI,CAAC,CAAC,CAAC;EAC5D,CAAC,CAAC;EAEF,OAAO,CAAC,GAAGgB,KAAK,CAAC;AACnB,CAAC","ignoreList":[]}
@@ -0,0 +1,94 @@
1
+ "use strict";
2
+
3
+ const DEFAULT_QUEUE_KEY = "@ovok/native/background-sync/results";
4
+ const DEFAULT_MAX_RETRIES = 3;
5
+ const DEFAULT_RETRY_BACKOFF_MS = 30_000;
6
+ let resultSequence = 0;
7
+ const createResultId = () => {
8
+ resultSequence += 1;
9
+ return `${Date.now()}-${resultSequence}-${Math.random().toString(36).slice(2, 10)}`;
10
+ };
11
+
12
+ /**
13
+ * A small durable, at-least-once queue. The result is written before delivery and removed only
14
+ * after the consumer resolves. A process death between those two operations can deliver a
15
+ * result twice, so consumers should de-duplicate by `id`.
16
+ */
17
+ class BackgroundSyncCoordinator {
18
+ operation = Promise.resolve();
19
+ constructor(options) {
20
+ this.options = options;
21
+ this.storageKey = options.storageKey ?? DEFAULT_QUEUE_KEY;
22
+ this.maxRetries = Math.max(1, options.maxRetries ?? DEFAULT_MAX_RETRIES);
23
+ this.retryBackoffMs = Math.max(1, options.retryBackoffMs ?? DEFAULT_RETRY_BACKOFF_MS);
24
+ }
25
+ enqueue = result => this.runExclusive(async () => {
26
+ const queue = await this.readQueue();
27
+ queue.push({
28
+ id: createResultId(),
29
+ queuedAt: new Date().toISOString(),
30
+ attempt: 0,
31
+ nextAttemptAt: 0,
32
+ result
33
+ });
34
+ await this.writeQueue(queue);
35
+ await this.flushQueue(queue);
36
+ });
37
+ flush = () => this.runExclusive(async () => {
38
+ await this.flushQueue(await this.readQueue());
39
+ });
40
+ runExclusive = operation => {
41
+ const next = this.operation.then(operation, operation);
42
+ this.operation = next.catch(() => undefined);
43
+ return next;
44
+ };
45
+ readQueue = async () => {
46
+ const serialized = await this.options.storage.getItem(this.storageKey);
47
+ if (!serialized) {
48
+ return [];
49
+ }
50
+ try {
51
+ const parsed = JSON.parse(serialized);
52
+ if (!Array.isArray(parsed)) {
53
+ throw new Error("Background sync queue is not an array");
54
+ }
55
+ return parsed;
56
+ } catch (error) {
57
+ await this.options.storage.setItem(this.storageKey, "[]");
58
+ throw new Error(`Background sync queue could not be read: ${error instanceof Error ? error.message : String(error)}`);
59
+ }
60
+ };
61
+ writeQueue = async queue => {
62
+ await this.options.storage.setItem(this.storageKey, JSON.stringify(queue));
63
+ };
64
+ flushQueue = async queue => {
65
+ let changed = false;
66
+ const now = Date.now();
67
+ for (const item of [...queue]) {
68
+ if (item.exhausted || item.nextAttemptAt > now) {
69
+ continue;
70
+ }
71
+ const attempt = item.attempt + 1;
72
+ try {
73
+ await this.options.onResult({
74
+ ...item.result,
75
+ id: item.id,
76
+ queuedAt: item.queuedAt,
77
+ attempt
78
+ });
79
+ queue.splice(queue.indexOf(item), 1);
80
+ changed = true;
81
+ } catch {
82
+ item.attempt = attempt;
83
+ item.exhausted = attempt >= this.maxRetries;
84
+ item.nextAttemptAt = item.exhausted ? Number.MAX_SAFE_INTEGER : Date.now() + this.retryBackoffMs * 2 ** (attempt - 1);
85
+ changed = true;
86
+ }
87
+ }
88
+ if (changed) {
89
+ await this.writeQueue(queue);
90
+ }
91
+ };
92
+ }
93
+ export { BackgroundSyncCoordinator, DEFAULT_QUEUE_KEY };
94
+ //# sourceMappingURL=background-sync-coordinator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["DEFAULT_QUEUE_KEY","DEFAULT_MAX_RETRIES","DEFAULT_RETRY_BACKOFF_MS","resultSequence","createResultId","Date","now","Math","random","toString","slice","BackgroundSyncCoordinator","operation","Promise","resolve","constructor","options","storageKey","maxRetries","max","retryBackoffMs","enqueue","result","runExclusive","queue","readQueue","push","id","queuedAt","toISOString","attempt","nextAttemptAt","writeQueue","flushQueue","flush","next","then","catch","undefined","serialized","storage","getItem","parsed","JSON","parse","Array","isArray","Error","error","setItem","message","String","stringify","changed","item","exhausted","onResult","splice","indexOf","Number","MAX_SAFE_INTEGER"],"sourceRoot":"../../../../../../src","sources":["modules/bt-management/services/background-sync/background-sync-coordinator.ts"],"mappings":"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","ignoreList":[]}
@@ -10,9 +10,10 @@ export class BTManager {
10
10
  static MAX_DEVICES = 15; // Safety limit to prevent unbounded growth
11
11
  devices = new Map();
12
12
  eventSubscriptions = [];
13
- constructor(bleManager, acceptedDevices) {
13
+ constructor(bleManager, acceptedDevices, options = {}) {
14
14
  this.bleManager = bleManager;
15
15
  this.acceptedDevices = acceptedDevices;
16
+ this.options = options;
16
17
  this.deviceCreator = new DeviceCreator(this.acceptedDevices);
17
18
  }
18
19
  destroy = () => {
@@ -51,9 +52,20 @@ export class BTManager {
51
52
  }
52
53
  this.stateChangeListener?.remove();
53
54
  this.stateChangeListener = undefined;
54
- this.bleManager.startDeviceScan(null, {
55
- scanMode: ScanMode.Balanced
56
- }, this.onScanResult);
55
+ const serviceUUIDs = this.options.serviceUUIDs ?? [];
56
+ if (Platform.OS === "ios" && this.options.backgroundEnabled && !serviceUUIDs.length) {
57
+ this.onErrorCallback?.({
58
+ error: "Background Bluetooth sync on iOS requires at least one service UUID. Add serviceUUIDs for custom devices."
59
+ });
60
+ return;
61
+ }
62
+ void Promise.resolve(this.bleManager.startDeviceScan(this.options.backgroundEnabled ? [...serviceUUIDs] : null, {
63
+ scanMode: this.options.backgroundEnabled ? ScanMode.LowPower : ScanMode.Balanced
64
+ }, this.onScanResult)).catch(error => {
65
+ this.onErrorCallback?.({
66
+ error: error instanceof Error ? error : String(error)
67
+ });
68
+ });
57
69
  sentryLogger("info", "BT_MANAGER: Scan started (continuous mode)");
58
70
  return;
59
71
  }
@@ -92,6 +104,9 @@ export class BTManager {
92
104
  });
93
105
  this.devices.clear();
94
106
  };
107
+ restoreDevices = devices => {
108
+ devices.forEach(device => this.onScanResult(null, device));
109
+ };
95
110
  onDeviceFound = callback => {
96
111
  sentryLogger("info", "BT_MANAGER: Setting onDeviceFound callback");
97
112
  this.onDeviceFoundCallback = callback;
@@ -1 +1 @@
1
- {"version":3,"names":["Linking","Platform","ScanMode","State","slog","sentryLogger","DeviceCreator","BTManager","MAX_DEVICES","devices","Map","eventSubscriptions","constructor","bleManager","acceptedDevices","deviceCreator","destroy","stopScan","stateChangeListener","remove","undefined","onErrorCallback","onDeviceFoundCallback","onResultCallback","onDeviceStatusChangedCallback","forEach","device","clear","startScan","onStateChange","state","PoweredOn","index","indexOf","splice","startDeviceScan","scanMode","Balanced","onScanResult","OS","sendIntent","push","stopDeviceScan","sub","onDeviceFound","callback","onError","onDeviceStatusChanged","onResult","error","Error","message","advertisedName","name","trim","localName","has","id","deviceName","getDeviceName","size","deviceId","currentSize","deviceClass","createDevice","bind","onDeviceDisconnected","removeDeviceFromFoundedDevices","set","get","delete"],"sourceRoot":"../../../../../src","sources":["modules/bt-management/services/bt-manager.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["Linking","Platform","ScanMode","State","slog","sentryLogger","DeviceCreator","BTManager","MAX_DEVICES","devices","Map","eventSubscriptions","constructor","bleManager","acceptedDevices","options","deviceCreator","destroy","stopScan","stateChangeListener","remove","undefined","onErrorCallback","onDeviceFoundCallback","onResultCallback","onDeviceStatusChangedCallback","forEach","device","clear","startScan","onStateChange","state","PoweredOn","index","indexOf","splice","serviceUUIDs","OS","backgroundEnabled","length","error","Promise","resolve","startDeviceScan","scanMode","LowPower","Balanced","onScanResult","catch","Error","String","sendIntent","push","stopDeviceScan","sub","restoreDevices","onDeviceFound","callback","onError","onDeviceStatusChanged","onResult","message","advertisedName","name","trim","localName","has","id","deviceName","getDeviceName","size","deviceId","currentSize","deviceClass","createDevice","bind","onDeviceDisconnected","removeDeviceFromFoundedDevices","set","get","delete"],"sourceRoot":"../../../../../src","sources":["modules/bt-management/services/bt-manager.ts"],"mappings":"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","ignoreList":[]}