@ovok/native 1.10.7 → 1.10.8

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 (109) hide show
  1. package/lib/commonjs/modules/auth/hooks/use-session.js +3 -1
  2. package/lib/commonjs/modules/auth/hooks/use-session.js.map +1 -1
  3. package/lib/commonjs/modules/auth/profile/components/profile-form-provider.js +11 -3
  4. package/lib/commonjs/modules/auth/profile/components/profile-form-provider.js.map +1 -1
  5. package/lib/commonjs/modules/auth/session/session-store-refresh.js +24 -1
  6. package/lib/commonjs/modules/auth/session/session-store-refresh.js.map +1 -1
  7. package/lib/commonjs/modules/auth/session/session-store-request-state.js.map +1 -1
  8. package/lib/commonjs/modules/auth/session/session-store-types.js +13 -1
  9. package/lib/commonjs/modules/auth/session/session-store-types.js.map +1 -1
  10. package/lib/commonjs/modules/auth/session/session-store.js +7 -0
  11. package/lib/commonjs/modules/auth/session/session-store.js.map +1 -1
  12. package/lib/commonjs/modules/auth/utils/sign-in-error.js +8 -2
  13. package/lib/commonjs/modules/auth/utils/sign-in-error.js.map +1 -1
  14. package/lib/commonjs/modules/bt-management/components/android-bluetooth-foreground-service.js +19 -8
  15. package/lib/commonjs/modules/bt-management/components/android-bluetooth-foreground-service.js.map +1 -1
  16. package/lib/commonjs/modules/bt-management/components/bt-provider-child-wrapper.js +74 -52
  17. package/lib/commonjs/modules/bt-management/components/bt-provider-child-wrapper.js.map +1 -1
  18. package/lib/commonjs/modules/bt-management/hooks/runtime-context.js +11 -0
  19. package/lib/commonjs/modules/bt-management/hooks/runtime-context.js.map +1 -1
  20. package/lib/commonjs/modules/bt-management/hooks/use-background-sync.js +2 -1
  21. package/lib/commonjs/modules/bt-management/hooks/use-background-sync.js.map +1 -1
  22. package/lib/commonjs/modules/bt-management/services/background-sync/background-sync-coordinator.js +71 -87
  23. package/lib/commonjs/modules/bt-management/services/background-sync/background-sync-coordinator.js.map +1 -1
  24. package/lib/commonjs/modules/bt-management/services/background-sync/background-sync-queue.js +59 -0
  25. package/lib/commonjs/modules/bt-management/services/background-sync/background-sync-queue.js.map +1 -0
  26. package/lib/commonjs/modules/questionnaire-response-form/utils/questionnaire-submit-utils.js +7 -0
  27. package/lib/commonjs/modules/questionnaire-response-form/utils/questionnaire-submit-utils.js.map +1 -1
  28. package/lib/commonjs/polyfills/index.js +4 -6
  29. package/lib/commonjs/polyfills/index.js.map +1 -1
  30. package/lib/module/modules/auth/hooks/use-session.js +3 -1
  31. package/lib/module/modules/auth/hooks/use-session.js.map +1 -1
  32. package/lib/module/modules/auth/profile/components/profile-form-provider.js +11 -3
  33. package/lib/module/modules/auth/profile/components/profile-form-provider.js.map +1 -1
  34. package/lib/module/modules/auth/session/session-store-refresh.js +25 -2
  35. package/lib/module/modules/auth/session/session-store-refresh.js.map +1 -1
  36. package/lib/module/modules/auth/session/session-store-request-state.js.map +1 -1
  37. package/lib/module/modules/auth/session/session-store-types.js +12 -1
  38. package/lib/module/modules/auth/session/session-store-types.js.map +1 -1
  39. package/lib/module/modules/auth/session/session-store.js +7 -0
  40. package/lib/module/modules/auth/session/session-store.js.map +1 -1
  41. package/lib/module/modules/auth/utils/sign-in-error.js +8 -2
  42. package/lib/module/modules/auth/utils/sign-in-error.js.map +1 -1
  43. package/lib/module/modules/bt-management/components/android-bluetooth-foreground-service.js +19 -8
  44. package/lib/module/modules/bt-management/components/android-bluetooth-foreground-service.js.map +1 -1
  45. package/lib/module/modules/bt-management/components/bt-provider-child-wrapper.js +74 -52
  46. package/lib/module/modules/bt-management/components/bt-provider-child-wrapper.js.map +1 -1
  47. package/lib/module/modules/bt-management/hooks/runtime-context.js +11 -0
  48. package/lib/module/modules/bt-management/hooks/runtime-context.js.map +1 -1
  49. package/lib/module/modules/bt-management/hooks/use-background-sync.js +2 -1
  50. package/lib/module/modules/bt-management/hooks/use-background-sync.js.map +1 -1
  51. package/lib/module/modules/bt-management/services/background-sync/background-sync-coordinator.js +64 -86
  52. package/lib/module/modules/bt-management/services/background-sync/background-sync-coordinator.js.map +1 -1
  53. package/lib/module/modules/bt-management/services/background-sync/background-sync-queue.js +52 -0
  54. package/lib/module/modules/bt-management/services/background-sync/background-sync-queue.js.map +1 -0
  55. package/lib/module/modules/questionnaire-response-form/utils/questionnaire-submit-utils.js +7 -0
  56. package/lib/module/modules/questionnaire-response-form/utils/questionnaire-submit-utils.js.map +1 -1
  57. package/lib/module/polyfills/index.js +6 -3
  58. package/lib/module/polyfills/index.js.map +1 -1
  59. package/lib/typescript/commonjs/src/modules/auth/hooks/use-session.d.ts +3 -1
  60. package/lib/typescript/commonjs/src/modules/auth/hooks/use-session.d.ts.map +1 -1
  61. package/lib/typescript/commonjs/src/modules/auth/profile/components/profile-form-provider.d.ts.map +1 -1
  62. package/lib/typescript/commonjs/src/modules/auth/profile/types/profile-form-props.d.ts +1 -0
  63. package/lib/typescript/commonjs/src/modules/auth/profile/types/profile-form-props.d.ts.map +1 -1
  64. package/lib/typescript/commonjs/src/modules/auth/session/session-store-refresh.d.ts.map +1 -1
  65. package/lib/typescript/commonjs/src/modules/auth/session/session-store-request-state.d.ts +1 -1
  66. package/lib/typescript/commonjs/src/modules/auth/session/session-store-request-state.d.ts.map +1 -1
  67. package/lib/typescript/commonjs/src/modules/auth/session/session-store-types.d.ts +4 -1
  68. package/lib/typescript/commonjs/src/modules/auth/session/session-store-types.d.ts.map +1 -1
  69. package/lib/typescript/commonjs/src/modules/auth/session/session-store.d.ts.map +1 -1
  70. package/lib/typescript/commonjs/src/modules/auth/utils/sign-in-error.d.ts.map +1 -1
  71. package/lib/typescript/commonjs/src/modules/bt-management/components/android-bluetooth-foreground-service.d.ts.map +1 -1
  72. package/lib/typescript/commonjs/src/modules/bt-management/components/bt-provider-child-wrapper.d.ts.map +1 -1
  73. package/lib/typescript/commonjs/src/modules/bt-management/hooks/runtime-context.d.ts +2 -0
  74. package/lib/typescript/commonjs/src/modules/bt-management/hooks/runtime-context.d.ts.map +1 -1
  75. package/lib/typescript/commonjs/src/modules/bt-management/hooks/use-background-sync.d.ts +1 -0
  76. package/lib/typescript/commonjs/src/modules/bt-management/hooks/use-background-sync.d.ts.map +1 -1
  77. package/lib/typescript/commonjs/src/modules/bt-management/services/background-sync/background-sync-coordinator.d.ts +5 -16
  78. package/lib/typescript/commonjs/src/modules/bt-management/services/background-sync/background-sync-coordinator.d.ts.map +1 -1
  79. package/lib/typescript/commonjs/src/modules/bt-management/services/background-sync/background-sync-queue.d.ts +28 -0
  80. package/lib/typescript/commonjs/src/modules/bt-management/services/background-sync/background-sync-queue.d.ts.map +1 -0
  81. package/lib/typescript/commonjs/src/modules/questionnaire-response-form/utils/questionnaire-submit-utils.d.ts.map +1 -1
  82. package/lib/typescript/commonjs/src/polyfills/index.d.ts +5 -3
  83. package/lib/typescript/commonjs/src/polyfills/index.d.ts.map +1 -1
  84. package/lib/typescript/module/src/modules/auth/hooks/use-session.d.ts +3 -1
  85. package/lib/typescript/module/src/modules/auth/hooks/use-session.d.ts.map +1 -1
  86. package/lib/typescript/module/src/modules/auth/profile/components/profile-form-provider.d.ts.map +1 -1
  87. package/lib/typescript/module/src/modules/auth/profile/types/profile-form-props.d.ts +1 -0
  88. package/lib/typescript/module/src/modules/auth/profile/types/profile-form-props.d.ts.map +1 -1
  89. package/lib/typescript/module/src/modules/auth/session/session-store-refresh.d.ts.map +1 -1
  90. package/lib/typescript/module/src/modules/auth/session/session-store-request-state.d.ts +1 -1
  91. package/lib/typescript/module/src/modules/auth/session/session-store-request-state.d.ts.map +1 -1
  92. package/lib/typescript/module/src/modules/auth/session/session-store-types.d.ts +4 -1
  93. package/lib/typescript/module/src/modules/auth/session/session-store-types.d.ts.map +1 -1
  94. package/lib/typescript/module/src/modules/auth/session/session-store.d.ts.map +1 -1
  95. package/lib/typescript/module/src/modules/auth/utils/sign-in-error.d.ts.map +1 -1
  96. package/lib/typescript/module/src/modules/bt-management/components/android-bluetooth-foreground-service.d.ts.map +1 -1
  97. package/lib/typescript/module/src/modules/bt-management/components/bt-provider-child-wrapper.d.ts.map +1 -1
  98. package/lib/typescript/module/src/modules/bt-management/hooks/runtime-context.d.ts +2 -0
  99. package/lib/typescript/module/src/modules/bt-management/hooks/runtime-context.d.ts.map +1 -1
  100. package/lib/typescript/module/src/modules/bt-management/hooks/use-background-sync.d.ts +1 -0
  101. package/lib/typescript/module/src/modules/bt-management/hooks/use-background-sync.d.ts.map +1 -1
  102. package/lib/typescript/module/src/modules/bt-management/services/background-sync/background-sync-coordinator.d.ts +5 -16
  103. package/lib/typescript/module/src/modules/bt-management/services/background-sync/background-sync-coordinator.d.ts.map +1 -1
  104. package/lib/typescript/module/src/modules/bt-management/services/background-sync/background-sync-queue.d.ts +28 -0
  105. package/lib/typescript/module/src/modules/bt-management/services/background-sync/background-sync-queue.d.ts.map +1 -0
  106. package/lib/typescript/module/src/modules/questionnaire-response-form/utils/questionnaire-submit-utils.d.ts.map +1 -1
  107. package/lib/typescript/module/src/polyfills/index.d.ts +5 -3
  108. package/lib/typescript/module/src/polyfills/index.d.ts.map +1 -1
  109. package/package.json +4 -4
@@ -4,6 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.BTProviderChildWrapper = void 0;
7
+ var _netinfo = require("@react-native-community/netinfo");
7
8
  var React = _interopRequireWildcard(require("react"));
8
9
  var _reactNative = require("react-native");
9
10
  var _reactNativeBlePlx = require("react-native-ble-plx");
@@ -86,6 +87,45 @@ const BTProviderChildWrapper = ({
86
87
  });
87
88
  const acceptedDevicesRef = React.useRef(acceptedDevices);
88
89
  const backgroundSyncCoordinatorRef = React.useRef(null);
90
+ const coordinatorOptionsFor = React.useCallback(current => ({
91
+ ...current,
92
+ getOwnerKey: () => backgroundSyncRef.current?.getOwnerKey?.(),
93
+ onError: error => {
94
+ backgroundSyncRef.current?.onError?.(error);
95
+ propsRef.current.onError?.({
96
+ error: (0, _bluetoothError.toBluetoothError)(error)
97
+ });
98
+ },
99
+ onResult: async result => {
100
+ const latest = backgroundSyncRef.current;
101
+ if (!latest || !runtime.getBackgroundScanEnabled()) {
102
+ throw new Error("Queued result delivery is currently disabled");
103
+ }
104
+ await latest.onResult(result);
105
+ if (latest.notifications?.enabled !== true) {
106
+ return;
107
+ }
108
+ try {
109
+ if (latest.notifications.shouldNotify?.(result) === false) {
110
+ return;
111
+ }
112
+ const body = latest.notifications.body;
113
+ const data = latest.notifications.data;
114
+ await (0, _pushNotification.showBackgroundPushNotification)({
115
+ title: latest.notifications.title ?? "New health measurement",
116
+ body: body === undefined ? `${result.deviceData.name} reported a measurement` : typeof body === "function" ? body(result) : body,
117
+ ...(data === undefined ? {} : {
118
+ data: typeof data === "function" ? data(result) : data
119
+ })
120
+ });
121
+ } catch (error) {
122
+ propsRef.current.onError?.({
123
+ error: (0, _bluetoothError.toBluetoothError)(error)
124
+ });
125
+ }
126
+ }
127
+ }), [runtime]);
128
+ const hasBackgroundSync = Boolean(backgroundSync);
89
129
  backgroundSyncRef.current = backgroundSync;
90
130
  propsRef.current = {
91
131
  bleManager,
@@ -183,17 +223,6 @@ const BTProviderChildWrapper = ({
183
223
  btManager.destroy();
184
224
  };
185
225
  }, [bleManager, acceptedDevicesSignature, managerOptionsSignature, runtime]);
186
- const backgroundCoordinatorSignature = JSON.stringify({
187
- enabled: backgroundScanEnabled,
188
- storageKey: backgroundSync?.storageKey,
189
- maxRetries: backgroundSync?.maxRetries,
190
- retryBackoffMs: backgroundSync?.retryBackoffMs,
191
- notifications: {
192
- enabled: backgroundSync?.notifications?.enabled,
193
- title: backgroundSync?.notifications?.title,
194
- body: typeof backgroundSync?.notifications?.body === "string" ? backgroundSync.notifications.body : undefined
195
- }
196
- });
197
226
  React.useEffect(() => {
198
227
  const current = backgroundSyncRef.current;
199
228
  if (!current) {
@@ -201,52 +230,43 @@ const BTProviderChildWrapper = ({
201
230
  return;
202
231
  }
203
232
  const coordinator = new _backgroundSyncCoordinator.BackgroundSyncCoordinator({
204
- ...current,
205
- getOwnerKey: () => backgroundSyncRef.current?.getOwnerKey?.(),
206
- enabled: true,
207
- onError: error => {
208
- backgroundSyncRef.current?.onError?.(error);
209
- propsRef.current.onError?.({
210
- error: (0, _bluetoothError.toBluetoothError)(error)
211
- });
212
- },
213
- onResult: async result => {
214
- const latest = backgroundSyncRef.current;
215
- if (!latest || !runtime.getBackgroundScanEnabled()) {
216
- throw new Error("Queued result delivery is currently disabled");
217
- }
218
- await latest.onResult(result);
219
- if (latest.notifications?.enabled !== true) {
220
- return;
221
- }
222
- const shouldNotify = latest.notifications.shouldNotify;
223
- const body = latest.notifications.body;
224
- const data = latest.notifications.data;
225
- try {
226
- if (shouldNotify && !shouldNotify(result)) {
227
- return;
228
- }
229
- await (0, _pushNotification.showBackgroundPushNotification)({
230
- title: latest.notifications.title ?? "New health measurement",
231
- body: body === undefined ? `${result.deviceData.name} reported a measurement` : typeof body === "function" ? body(result) : body,
232
- ...(data === undefined ? {} : {
233
- data: typeof data === "function" ? data(result) : data
234
- })
235
- });
236
- } catch (error) {
237
- propsRef.current.onError?.({
238
- error: (0, _bluetoothError.toBluetoothError)(error)
239
- });
240
- }
241
- }
233
+ ...coordinatorOptionsFor(current),
234
+ enabled: true
242
235
  });
243
236
  backgroundSyncCoordinatorRef.current = coordinator;
237
+ runtime.setBackgroundSyncFlush(() => coordinator.flush({
238
+ includeExhausted: true,
239
+ resetExhausted: true,
240
+ resetRetryBackoff: true
241
+ }));
244
242
  return () => {
243
+ runtime.setBackgroundSyncFlush(undefined);
245
244
  if (backgroundSyncCoordinatorRef.current === coordinator) {
246
245
  backgroundSyncCoordinatorRef.current = null;
247
246
  }
248
247
  };
249
- }, [backgroundCoordinatorSignature, backgroundSync?.storage, runtime]);
248
+ }, [hasBackgroundSync, coordinatorOptionsFor, runtime]);
249
+ React.useEffect(() => {
250
+ if (backgroundSync && backgroundSyncCoordinatorRef.current) {
251
+ backgroundSyncCoordinatorRef.current.updateOptions(coordinatorOptionsFor(backgroundSync));
252
+ }
253
+ }, [backgroundSync, coordinatorOptionsFor]);
254
+ React.useEffect(() => {
255
+ let wasConnected;
256
+ const unsubscribe = (0, _netinfo.addEventListener)(state => {
257
+ const isConnected = state.isConnected === true && state.isInternetReachable !== false;
258
+ const reconnected = isConnected && wasConnected === false;
259
+ wasConnected = isConnected;
260
+ if (reconnected && runtime.getBackgroundScanEnabled()) {
261
+ void runtime.flushBackgroundSync().catch(error => {
262
+ propsRef.current.onError?.({
263
+ error: (0, _bluetoothError.toBluetoothError)(error)
264
+ });
265
+ });
266
+ }
267
+ });
268
+ return unsubscribe;
269
+ }, [runtime]);
250
270
  React.useEffect(() => {
251
271
  if (typeof managerState?.setAutoConnect !== "function") {
252
272
  return;
@@ -404,7 +424,8 @@ const BTProviderChildWrapper = ({
404
424
  }
405
425
  void backgroundSyncCoordinatorRef.current?.flush({
406
426
  includeExhausted: true,
407
- resetExhausted: true
427
+ resetExhausted: true,
428
+ resetRetryBackoff: true
408
429
  }).catch(error => {
409
430
  propsRef.current.onError?.({
410
431
  error: (0, _bluetoothError.toBluetoothError)(error)
@@ -417,7 +438,8 @@ const BTProviderChildWrapper = ({
417
438
  if (state === "active" && runtime.getBackgroundScanEnabled()) {
418
439
  void backgroundSyncCoordinatorRef.current?.flush({
419
440
  includeExhausted: true,
420
- resetExhausted: true
441
+ resetExhausted: true,
442
+ resetRetryBackoff: true
421
443
  }).catch(error => {
422
444
  propsRef.current.onError?.({
423
445
  error: (0, _bluetoothError.toBluetoothError)(error)
@@ -1 +1 @@
1
- {"version":3,"names":["React","_interopRequireWildcard","require","_reactNative","_reactNativeBlePlx","_sentryLogger","_runtimeContext","_backgroundBleManager","_backgroundServiceUuids","_backgroundSyncCoordinator","_btManager","_pushNotification","_bluetoothError","_deviceStatus","_androidBluetoothForegroundService","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","stableSignature","value","JSON","stringify","_key","current","RegExp","source","flags","Map","entries","Set","values","toString","BTProviderChildWrapper","bleManager","acceptedDevices","children","oneReadingPerConnection","deliveredEcgFileNames","deliveredFileNames","clearDeviceHistory","onDeviceFound","onError","onDeviceStatusChanged","onConnectionEvent","onResult","resultPolicies","clockSync","autoConnect","autoConnectDelayMs","onDeviceSelectionRequired","backgroundSync","permissionStatus","btManagerRef","useRef","managerState","setManager","useState","runtimeRef","createBluetoothRuntime","enabled","runtime","permissionErrorReportedRef","runtimePermissionStatus","useSyncExternalStore","subscribeState","getSnapshot","bluetoothPermissionStatus","backgroundSyncRef","propsRef","acceptedDevicesRef","backgroundSyncCoordinatorRef","useEffect","setBluetoothPermissionStatus","setBluetoothState","subscription","onStateChange","state","BleState","PoweredOn","Unsupported","Unauthorized","remove","acceptedDevicesSignature","managerOptionsSignature","timezone","serviceUUIDs","getBackgroundServiceUUIDs","undefined","backgroundScanEnabled","getBackgroundScanEnabled","currentAcceptedDevices","length","sentryLogger","currentProps","currentBackgroundSync","backgroundOptions","backgroundEnabled","managerOptions","now","Date","btManager","keys","BTManager","destroy","backgroundCoordinatorSignature","storageKey","maxRetries","retryBackoffMs","notifications","title","body","coordinator","BackgroundSyncCoordinator","getOwnerKey","error","toBluetoothError","result","latest","Error","shouldNotify","data","showBackgroundPushNotification","deviceData","name","storage","setAutoConnect","manager","device","deviceManager","upsertDevice","runtimeDevice","devices","find","item","id","emit","Promise","resolve","normalized","code","BluetoothErrorCode","PERMISSION_DENIED","callback","enqueue","catch","setDeviceResult","status","measurementTypeKey","DeviceStatus","DISCONNECTED","removeDevice","setDeviceStatus","event","setDeviceConnectionEvent","setBackgroundScanEnabled","AppState","currentState","startScan","restoredState","getRestoredBleState","restoreStateIdentifier","connectedPeripherals","restoreDevices","flush","includeExhausted","resetExhausted","listener","addEventListener","jsx","BluetoothRuntimeProvider","AndroidBluetoothForegroundService","options","android","foregroundService","exports"],"sourceRoot":"../../../../../src","sources":["modules/bt-management/components/bt-provider-child-wrapper.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_netinfo","require","React","_interopRequireWildcard","_reactNative","_reactNativeBlePlx","_sentryLogger","_runtimeContext","_backgroundBleManager","_backgroundServiceUuids","_backgroundSyncCoordinator","_btManager","_pushNotification","_bluetoothError","_deviceStatus","_androidBluetoothForegroundService","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","stableSignature","value","JSON","stringify","_key","current","RegExp","source","flags","Map","entries","Set","values","toString","BTProviderChildWrapper","bleManager","acceptedDevices","children","oneReadingPerConnection","deliveredEcgFileNames","deliveredFileNames","clearDeviceHistory","onDeviceFound","onError","onDeviceStatusChanged","onConnectionEvent","onResult","resultPolicies","clockSync","autoConnect","autoConnectDelayMs","onDeviceSelectionRequired","backgroundSync","permissionStatus","btManagerRef","useRef","managerState","setManager","useState","runtimeRef","createBluetoothRuntime","enabled","runtime","permissionErrorReportedRef","runtimePermissionStatus","useSyncExternalStore","subscribeState","getSnapshot","bluetoothPermissionStatus","backgroundSyncRef","propsRef","acceptedDevicesRef","backgroundSyncCoordinatorRef","coordinatorOptionsFor","useCallback","getOwnerKey","error","toBluetoothError","result","latest","getBackgroundScanEnabled","Error","notifications","shouldNotify","body","data","showBackgroundPushNotification","title","undefined","deviceData","name","hasBackgroundSync","Boolean","useEffect","setBluetoothPermissionStatus","setBluetoothState","subscription","onStateChange","state","BleState","PoweredOn","Unsupported","Unauthorized","remove","acceptedDevicesSignature","managerOptionsSignature","timezone","serviceUUIDs","getBackgroundServiceUUIDs","backgroundScanEnabled","currentAcceptedDevices","length","sentryLogger","currentProps","currentBackgroundSync","backgroundOptions","backgroundEnabled","managerOptions","now","Date","btManager","keys","BTManager","destroy","coordinator","BackgroundSyncCoordinator","setBackgroundSyncFlush","flush","includeExhausted","resetExhausted","resetRetryBackoff","updateOptions","wasConnected","unsubscribe","addNetworkEventListener","isConnected","isInternetReachable","reconnected","flushBackgroundSync","catch","setAutoConnect","manager","device","deviceManager","upsertDevice","runtimeDevice","devices","find","item","id","emit","Promise","resolve","normalized","code","BluetoothErrorCode","PERMISSION_DENIED","callback","enqueue","setDeviceResult","status","measurementTypeKey","DeviceStatus","DISCONNECTED","removeDevice","setDeviceStatus","event","setDeviceConnectionEvent","setBackgroundScanEnabled","AppState","currentState","startScan","restoredState","getRestoredBleState","restoreStateIdentifier","connectedPeripherals","restoreDevices","listener","addEventListener","jsx","BluetoothRuntimeProvider","AndroidBluetoothForegroundService","options","android","foregroundService","exports"],"sourceRoot":"../../../../../src","sources":["modules/bt-management/components/bt-provider-child-wrapper.tsx"],"mappings":"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","ignoreList":[]}
@@ -5,6 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.useRuntimeEvent = exports.useBluetoothSelector = exports.useBluetoothRuntime = exports.createBluetoothRuntime = exports.BluetoothRuntimeProvider = void 0;
7
7
  var React = _interopRequireWildcard(require("react"));
8
+ var _bluetoothError = require("../types/bluetooth-error.js");
8
9
  var _jsxRuntime = require("react/jsx-runtime");
9
10
  function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
10
11
  /* eslint-disable import/group-exports, max-lines */
@@ -18,6 +19,7 @@ const createBluetoothRuntime = (bleManager, initialBackgroundScanEnabled) => {
18
19
  let currentDevices = [];
19
20
  let backgroundScanEnabled = initialBackgroundScanEnabled ?? false;
20
21
  let backgroundScanInitialized = initialBackgroundScanEnabled !== undefined;
22
+ let backgroundSyncFlush;
21
23
  let bluetoothState = "unknown";
22
24
  let bluetoothPermissionStatus = "unknown";
23
25
  const subscribers = new Set();
@@ -85,6 +87,15 @@ const createBluetoothRuntime = (bleManager, initialBackgroundScanEnabled) => {
85
87
  backgroundScanEnabled = enabled;
86
88
  publishState();
87
89
  },
90
+ setBackgroundSyncFlush: flush => {
91
+ backgroundSyncFlush = flush;
92
+ },
93
+ flushBackgroundSync: () => {
94
+ if (!backgroundSyncFlush) {
95
+ return Promise.reject(new _bluetoothError.BluetoothError(_bluetoothError.BluetoothErrorCode.BACKGROUND_SYNC, "Background sync is not configured in BTProvider."));
96
+ }
97
+ return backgroundSyncFlush();
98
+ },
88
99
  setBluetoothState: state => {
89
100
  if (bluetoothState === state) {
90
101
  return;
@@ -1 +1 @@
1
- {"version":3,"names":["React","_interopRequireWildcard","require","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","RuntimeContext","createContext","createBluetoothRuntime","bleManager","initialBackgroundScanEnabled","listeners","Map","currentManager","currentDevices","backgroundScanEnabled","backgroundScanInitialized","undefined","bluetoothState","bluetoothPermissionStatus","subscribers","Set","currentSnapshot","devices","managerReady","publishState","forEach","notify","pairedState","connectionIds","resultConnectionIds","getPairedState","storageKey","current","next","revision","notifyPairedDevices","value","callback","manager","getSnapshot","getBackgroundScanEnabled","initializeBackgroundScanEnabled","enabled","setBackgroundScanEnabled","setBluetoothState","state","setBluetoothPermissionStatus","status","subscribe","event","eventListeners","add","delete","subscribeState","hasListeners","size","emit","setManager","setAutoConnect","delayMs","onDeviceSelectionRequired","getPairedDeviceIds","loadPairedDeviceIds","load","Promise","resolve","loading","then","finally","setPairedDeviceIds","ids","length","every","id","index","upsertDevice","device","existing","findIndex","item","previous","deviceData","latestResult","results","events","map","removeDevice","deviceId","some","filter","setDeviceResult","result","slice","getResultConnectionId","clearResults","setDeviceConnectionEvent","kind","setDeviceStatus","exports","BluetoothRuntimeProvider","runtime","children","jsx","Provider","useBluetoothRuntime","useContext","Error","useRuntimeEvent","callbackRef","useRef","useEffect","useBluetoothSelector","selector","isEqual","is","selectorRef","equalityRef","selectionRef","hasValue","getSelection","useCallback","useSyncExternalStore"],"sourceRoot":"../../../../../src","sources":["modules/bt-management/hooks/runtime-context.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","_interopRequireWildcard","require","_bluetoothError","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","RuntimeContext","createContext","createBluetoothRuntime","bleManager","initialBackgroundScanEnabled","listeners","Map","currentManager","currentDevices","backgroundScanEnabled","backgroundScanInitialized","undefined","backgroundSyncFlush","bluetoothState","bluetoothPermissionStatus","subscribers","Set","currentSnapshot","devices","managerReady","publishState","forEach","notify","pairedState","connectionIds","resultConnectionIds","getPairedState","storageKey","current","next","revision","notifyPairedDevices","value","callback","manager","getSnapshot","getBackgroundScanEnabled","initializeBackgroundScanEnabled","enabled","setBackgroundScanEnabled","setBackgroundSyncFlush","flush","flushBackgroundSync","Promise","reject","BluetoothError","BluetoothErrorCode","BACKGROUND_SYNC","setBluetoothState","state","setBluetoothPermissionStatus","status","subscribe","event","eventListeners","add","delete","subscribeState","hasListeners","size","emit","setManager","setAutoConnect","delayMs","onDeviceSelectionRequired","getPairedDeviceIds","loadPairedDeviceIds","load","resolve","loading","then","finally","setPairedDeviceIds","ids","length","every","id","index","upsertDevice","device","existing","findIndex","item","previous","deviceData","latestResult","results","events","map","removeDevice","deviceId","some","filter","setDeviceResult","result","slice","getResultConnectionId","clearResults","setDeviceConnectionEvent","kind","setDeviceStatus","exports","BluetoothRuntimeProvider","runtime","children","jsx","Provider","useBluetoothRuntime","useContext","Error","useRuntimeEvent","callbackRef","useRef","useEffect","useBluetoothSelector","selector","isEqual","is","selectorRef","equalityRef","selectionRef","hasValue","getSelection","useCallback","useSyncExternalStore"],"sourceRoot":"../../../../../src","sources":["modules/bt-management/hooks/runtime-context.tsx"],"mappings":"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","ignoreList":[]}
@@ -50,7 +50,8 @@ const useBackgroundSync = ({
50
50
  setEnabled,
51
51
  status,
52
52
  error,
53
- reason: status === "restricted" ? "background access is restricted" : undefined
53
+ reason: status === "restricted" ? "background access is restricted" : undefined,
54
+ flush: runtime.flushBackgroundSync
54
55
  };
55
56
  };
56
57
  exports.useBackgroundSync = useBackgroundSync;
@@ -1 +1 @@
1
- {"version":3,"names":["React","_interopRequireWildcard","require","_runtimeContext","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","useBackgroundSync","enabled","initialEnabled","canEnable","onEnabledChange","runtime","useBluetoothRuntime","error","setError","useState","canEnableRef","useRef","onEnabledChangeRef","current","useEffect","initializeBackgroundScanEnabled","useSyncExternalStore","subscribeState","getBackgroundScanEnabled","statusOverride","setStatusOverride","status","setEnabled","useCallback","next","undefined","manager","Error","setBackgroundScanEnabled","cause","nextError","String","reason","exports"],"sourceRoot":"../../../../../src","sources":["modules/bt-management/hooks/use-background-sync.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","_interopRequireWildcard","require","_runtimeContext","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","useBackgroundSync","enabled","initialEnabled","canEnable","onEnabledChange","runtime","useBluetoothRuntime","error","setError","useState","canEnableRef","useRef","onEnabledChangeRef","current","useEffect","initializeBackgroundScanEnabled","useSyncExternalStore","subscribeState","getBackgroundScanEnabled","statusOverride","setStatusOverride","status","setEnabled","useCallback","next","undefined","manager","Error","setBackgroundScanEnabled","cause","nextError","String","reason","flush","flushBackgroundSync","exports"],"sourceRoot":"../../../../../src","sources":["modules/bt-management/hooks/use-background-sync.ts"],"mappings":";;;;;;AAEA,IAAAA,KAAA,GAAAC,uBAAA,CAAAC,OAAA;AAEA,IAAAC,eAAA,GAAAD,OAAA;AAAwD,SAAAD,wBAAAG,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAL,uBAAA,YAAAA,CAAAG,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,gBAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA,WAAAO,CAAA,KAAAR,CAAA,EAAAC,CAAA;AAJxD;;AAcO,MAAMkB,iBAAiB,GAAGA,CAAC;EAChCC,OAAO,EAAEC,cAAc,GAAG,KAAK;EAC/BC,SAAS;EACTC;AACwB,CAAC,GAAG,CAAC,CAAC,KAO3B;EACH,MAAMC,OAAO,GAAG,IAAAC,mCAAmB,EAAC,CAAC;EACrC,MAAM,CAACC,KAAK,EAAEC,QAAQ,CAAC,GAAG/B,KAAK,CAACgC,QAAQ,CAAQ,CAAC;EACjD,MAAMC,YAAY,GAAGjC,KAAK,CAACkC,MAAM,CAACR,SAAS,CAAC;EAC5C,MAAMS,kBAAkB,GAAGnC,KAAK,CAACkC,MAAM,CAACP,eAAe,CAAC;EAExDM,YAAY,CAACG,OAAO,GAAGV,SAAS;EAChCS,kBAAkB,CAACC,OAAO,GAAGT,eAAe;EAC5C3B,KAAK,CAACqC,SAAS,CAAC,MAAM;IACpBT,OAAO,CAACU,+BAA+B,CAACb,cAAc,CAAC;EACzD,CAAC,EAAE,CAACA,cAAc,EAAEG,OAAO,CAAC,CAAC;EAE7B,MAAMJ,OAAO,GAAGxB,KAAK,CAACuC,oBAAoB,CACxCX,OAAO,CAACY,cAAc,EACtBZ,OAAO,CAACa,wBAAwB,EAChC,MAAMhB,cACR,CAAC;EAED,MAAM,CAACiB,cAAc,EAAEC,iBAAiB,CAAC,GACvC3C,KAAK,CAACgC,QAAQ,CAAuB,CAAC;EAExC,MAAMY,MAAM,GAAGF,cAAc,KAAKlB,OAAO,GAAG,IAAI,GAAG,KAAK,CAAC;EAEzD,MAAMqB,UAAU,GAAG7C,KAAK,CAAC8C,WAAW,CAAC,MAAOC,IAAa,IAAK;IAC5DhB,QAAQ,CAACiB,SAAS,CAAC;IAEnB,IAAI;MACF,IAAID,IAAI,IAAId,YAAY,CAACG,OAAO,IAAI,EAAE,MAAMH,YAAY,CAACG,OAAO,CAAC,CAAC,CAAC,EAAE;QACnEO,iBAAiB,CAAC,YAAY,CAAC;QAE/B;MACF;MAEA,IAAII,IAAI,IAAI,CAACnB,OAAO,CAACqB,OAAO,EAAE;QAC5B,MAAM,IAAIC,KAAK,CAAC,6CAA6C,CAAC;MAChE;MAEA,MAAMf,kBAAkB,CAACC,OAAO,GAAGW,IAAI,CAAC;MACxCnB,OAAO,CAACuB,wBAAwB,CAACJ,IAAI,CAAC;MACtCJ,iBAAiB,CAACK,SAAS,CAAC;IAC9B,CAAC,CAAC,OAAOI,KAAK,EAAE;MACd,MAAMC,SAAS,GAAGD,KAAK,YAAYF,KAAK,GAAGE,KAAK,GAAG,IAAIF,KAAK,CAACI,MAAM,CAACF,KAAK,CAAC,CAAC;MAE3ErB,QAAQ,CAACsB,SAAS,CAAC;MACnBV,iBAAiB,CAAC,SAAS,CAAC;IAC9B;EACF,CAAC,EAAE,CAACf,OAAO,CAAC,CAAC;EAEb,OAAO;IACLJ,OAAO;IACPqB,UAAU;IACVD,MAAM;IACNd,KAAK;IACLyB,MAAM,EAAEX,MAAM,KAAK,YAAY,GAAG,iCAAiC,GAAGI,SAAS;IAC/EQ,KAAK,EAAE5B,OAAO,CAAC6B;EACjB,CAAC;AACH,CAAC;AAACC,OAAA,CAAAnC,iBAAA,GAAAA,iBAAA","ignoreList":[]}
@@ -3,106 +3,72 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.DEFAULT_QUEUE_KEY = exports.BackgroundSyncCoordinator = void 0;
6
+ exports.BackgroundSyncCoordinator = void 0;
7
+ Object.defineProperty(exports, "DEFAULT_QUEUE_KEY", {
8
+ enumerable: true,
9
+ get: function () {
10
+ return _backgroundSyncQueue.DEFAULT_QUEUE_KEY;
11
+ }
12
+ });
7
13
  var _telemetry = require("../../../helpers/utils/telemetry.js");
8
- var _resultIdentity = require("../../utils/result-identity.js");
9
- const DEFAULT_QUEUE_KEY = exports.DEFAULT_QUEUE_KEY = "@ovok/native/background-sync/results";
10
- const DEFAULT_MAX_RETRIES = 3;
11
- const DEFAULT_RETRY_BACKOFF_MS = 30_000;
12
- let resultSequence = 0;
13
- const createResultId = () => {
14
- resultSequence += 1;
15
- return `${Date.now()}-${resultSequence}-${Math.random().toString(36).slice(2, 10)}`;
16
- };
17
- const createQueueId = () => {
18
- resultSequence += 1;
19
- return `${Date.now()}-queue-${resultSequence}-${Math.random().toString(36).slice(2, 10)}`;
20
- };
21
-
22
- /**
23
- * A small durable, at-least-once queue. The result is written before delivery and removed only
24
- * after the consumer resolves. A process death between those two operations can deliver a
25
- * result twice, so consumers should de-duplicate by `id`.
26
- */
14
+ var _bluetoothError = require("../../types/bluetooth-error.js");
15
+ var _backgroundSyncQueue = require("./background-sync-queue.js");
27
16
  class BackgroundSyncCoordinator {
28
17
  operation = Promise.resolve();
29
18
  constructor(options) {
30
19
  this.options = options;
31
- this.storageKey = options.storageKey ?? DEFAULT_QUEUE_KEY;
32
- this.maxRetries = Math.max(1, options.maxRetries ?? DEFAULT_MAX_RETRIES);
33
- this.retryBackoffMs = Math.max(1, options.retryBackoffMs ?? DEFAULT_RETRY_BACKOFF_MS);
34
20
  }
35
- enqueue = result => this.runExclusive(async () => {
36
- const queue = await this.readQueue();
37
- const stableId = result.id ?? createResultId();
21
+ updateOptions(options) {
22
+ this.options = options;
23
+ }
24
+ enqueue = result => {
38
25
  const ownerKey = this.options.getOwnerKey?.();
39
- if (typeof ownerKey !== "string" || !ownerKey.trim()) {
40
- throw new Error("Background sync requires a stable owner key before queueing a result.");
41
- }
42
- queue.push({
43
- queueId: createQueueId(),
44
- ownerKey,
45
- queuedAt: new Date().toISOString(),
46
- attempt: 0,
47
- nextAttemptAt: 0,
48
- result: {
49
- ...result,
50
- id: stableId
26
+ return this.runExclusive(async () => {
27
+ const options = this.options;
28
+ const queue = await (0, _backgroundSyncQueue.readBackgroundSyncQueue)(options);
29
+ const stableId = result.id ?? (0, _backgroundSyncQueue.createResultId)();
30
+ if (typeof ownerKey !== "string" || !ownerKey.trim()) {
31
+ throw new _bluetoothError.BluetoothError(_bluetoothError.BluetoothErrorCode.BACKGROUND_SYNC, "Background sync requires an account before queueing a result.");
51
32
  }
33
+ queue.push({
34
+ queueId: (0, _backgroundSyncQueue.createQueueId)(),
35
+ ownerKey,
36
+ queuedAt: new Date().toISOString(),
37
+ attempt: 0,
38
+ nextAttemptAt: 0,
39
+ result: {
40
+ ...result,
41
+ id: stableId
42
+ }
43
+ });
44
+ await (0, _backgroundSyncQueue.writeBackgroundSyncQueue)(queue, options);
45
+ (0, _telemetry.recordOvokMetric)("ovok.queue.depth", queue.length);
46
+ await this.flushQueue(queue, {}, options);
52
47
  });
53
- await this.writeQueue(queue);
54
- (0, _telemetry.recordOvokMetric)("ovok.queue.depth", queue.length);
55
- await this.flushQueue(queue);
56
- });
48
+ };
57
49
  flush = (options = {}) => this.runExclusive(async () => {
58
- await this.flushQueue(await this.readQueue(), options);
50
+ const syncOptions = this.options;
51
+ await this.flushQueue(await (0, _backgroundSyncQueue.readBackgroundSyncQueue)(syncOptions), options, syncOptions);
59
52
  });
60
53
  runExclusive = operation => {
61
54
  const next = this.operation.then(operation, operation);
62
55
  this.operation = next.catch(() => undefined);
63
56
  return next;
64
57
  };
65
- readQueue = async () => {
66
- const serialized = await this.options.storage.getItem(this.storageKey);
67
- if (!serialized) {
68
- return [];
69
- }
70
- try {
71
- const parsed = JSON.parse(serialized);
72
- if (!Array.isArray(parsed)) {
73
- throw new Error("Background sync queue is not an array");
74
- }
75
- return parsed.map(item => {
76
- const typed = item;
77
- const result = (0, _resultIdentity.reviveResultDates)(typed.result);
78
- return {
79
- ...typed,
80
- queueId: typed.queueId ?? typed.id ?? createQueueId(),
81
- result: {
82
- ...result,
83
- id: result.id ?? typed.id ?? createResultId()
84
- }
85
- };
86
- });
87
- } catch (error) {
88
- const queueError = new Error(`Background sync queue could not be read: ${error instanceof Error ? error.message : String(error)}`);
89
- await this.options.storage.setItem(`${this.storageKey}.corrupt`, serialized);
90
- await this.options.storage.setItem(this.storageKey, "[]");
91
- this.options.onError?.(queueError);
92
- return [];
93
- }
94
- };
95
- writeQueue = async queue => {
96
- await this.options.storage.setItem(this.storageKey, JSON.stringify(queue));
97
- };
98
- flushQueue = async (queue, options = {}) => {
58
+ flushQueue = async (queue, options = {}, syncOptions = this.options) => {
99
59
  let changed = false;
100
60
  const now = Date.now();
61
+ let droppedLegacy = 0;
101
62
  for (const item of [...queue]) {
102
- const ownerKey = this.options.getOwnerKey?.();
103
-
104
- // Legacy items have no owner and are deliberately retained. Guessing here
105
- // could deliver one person's private reading to the next signed-in account.
63
+ const ownerKey = syncOptions.getOwnerKey?.();
64
+ if (!item.ownerKey) {
65
+ if (ownerKey?.trim()) {
66
+ queue.splice(queue.indexOf(item), 1);
67
+ droppedLegacy++;
68
+ changed = true;
69
+ }
70
+ continue;
71
+ }
106
72
  if (!ownerKey || item.ownerKey !== ownerKey) {
107
73
  continue;
108
74
  }
@@ -111,13 +77,18 @@ class BackgroundSyncCoordinator {
111
77
  item.exhausted = false;
112
78
  item.nextAttemptAt = 0;
113
79
  changed = true;
80
+ } else if (options.resetRetryBackoff && item.nextAttemptAt > now) {
81
+ item.nextAttemptAt = 0;
82
+ changed = true;
114
83
  }
115
84
  if (item.exhausted && !options.includeExhausted || item.nextAttemptAt > now) {
116
85
  continue;
117
86
  }
118
87
  const attempt = item.attempt + 1;
88
+ const maxRetries = Math.max(1, syncOptions.maxRetries ?? _backgroundSyncQueue.DEFAULT_MAX_RETRIES);
89
+ const retryBackoffMs = Math.max(1, syncOptions.retryBackoffMs ?? _backgroundSyncQueue.DEFAULT_RETRY_BACKOFF_MS);
119
90
  try {
120
- await this.options.onResult({
91
+ await syncOptions.onResult({
121
92
  ...item.result,
122
93
  id: item.result.id,
123
94
  ownerKey: item.ownerKey,
@@ -131,16 +102,23 @@ class BackgroundSyncCoordinator {
131
102
  measurementTypeKey: item.result.data.measurementTypeKey
132
103
  });
133
104
  changed = true;
134
- } catch {
105
+ } catch (error) {
135
106
  item.attempt = attempt;
136
- item.exhausted = attempt >= this.maxRetries;
137
- item.nextAttemptAt = item.exhausted ? Number.MAX_SAFE_INTEGER : Date.now() + this.retryBackoffMs * 2 ** (attempt - 1);
107
+ item.exhausted = attempt >= maxRetries;
108
+ item.nextAttemptAt = item.exhausted ? Number.MAX_SAFE_INTEGER : Date.now() + retryBackoffMs * 2 ** (attempt - 1);
109
+ const errorCode = error instanceof _bluetoothError.BluetoothError ? error.code : _bluetoothError.BluetoothErrorCode.BACKGROUND_SYNC;
138
110
  (0, _telemetry.recordOvokMetric)("ovok.queue.retries", 1, {
139
- attempt
111
+ attempt,
112
+ errorCode,
113
+ willRetry: !item.exhausted,
114
+ exhausted: item.exhausted
140
115
  });
116
+ syncOptions.onError?.(new _bluetoothError.BluetoothError(_bluetoothError.BluetoothErrorCode.BACKGROUND_SYNC, "Background result delivery failed.", undefined, error));
141
117
  if (item.exhausted) {
142
118
  (0, _telemetry.recordOvokMetric)("ovok.queue.exhausted", 1, {
143
119
  attempt,
120
+ errorCode,
121
+ willRetry: false,
144
122
  exhausted: true
145
123
  });
146
124
  }
@@ -148,9 +126,15 @@ class BackgroundSyncCoordinator {
148
126
  }
149
127
  }
150
128
  if (changed) {
151
- await this.writeQueue(queue);
129
+ await (0, _backgroundSyncQueue.writeBackgroundSyncQueue)(queue, syncOptions);
152
130
  (0, _telemetry.recordOvokMetric)("ovok.queue.depth", queue.length);
153
131
  }
132
+ if (droppedLegacy > 0) {
133
+ (0, _telemetry.recordOvokMetric)("ovok.queue.legacy.dropped", droppedLegacy, {
134
+ errorCode: _bluetoothError.BluetoothErrorCode.BACKGROUND_SYNC
135
+ });
136
+ syncOptions.onError?.(new _bluetoothError.BluetoothError(_bluetoothError.BluetoothErrorCode.BACKGROUND_SYNC, `Dropped ${droppedLegacy} legacy background result${droppedLegacy === 1 ? "" : "s"} without an account owner to prevent cross-account delivery.`));
137
+ }
154
138
  };
155
139
  }
156
140
  exports.BackgroundSyncCoordinator = BackgroundSyncCoordinator;