@ovok/native 1.10.2 → 1.10.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (136) hide show
  1. package/README.md +5 -5
  2. package/lib/commonjs/modules/auth/default-translation.js +5 -0
  3. package/lib/commonjs/modules/auth/default-translation.js.map +1 -1
  4. package/lib/commonjs/modules/auth/profile/components/profile-form-provider.js +3 -6
  5. package/lib/commonjs/modules/auth/profile/components/profile-form-provider.js.map +1 -1
  6. package/lib/commonjs/modules/auth/reset-password/components/form/reset-password-form-provider.js +3 -3
  7. package/lib/commonjs/modules/auth/reset-password/components/form/reset-password-form-provider.js.map +1 -1
  8. package/lib/commonjs/modules/auth/session/logout-session.js +5 -2
  9. package/lib/commonjs/modules/auth/session/logout-session.js.map +1 -1
  10. package/lib/commonjs/modules/auth/session/session-store-types.js +17 -0
  11. package/lib/commonjs/modules/auth/session/session-store-types.js.map +1 -0
  12. package/lib/commonjs/modules/auth/session/session-store.js +25 -13
  13. package/lib/commonjs/modules/auth/session/session-store.js.map +1 -1
  14. package/lib/commonjs/modules/auth/utils/sign-in-error.js +6 -2
  15. package/lib/commonjs/modules/auth/utils/sign-in-error.js.map +1 -1
  16. package/lib/commonjs/modules/bt-management/components/bt-provider-child-wrapper.js +5 -0
  17. package/lib/commonjs/modules/bt-management/components/bt-provider-child-wrapper.js.map +1 -1
  18. package/lib/commonjs/modules/bt-management/hooks/declined-device-storage.js +36 -1
  19. package/lib/commonjs/modules/bt-management/hooks/declined-device-storage.js.map +1 -1
  20. package/lib/commonjs/modules/bt-management/hooks/nearby-device-offer-state.js +25 -0
  21. package/lib/commonjs/modules/bt-management/hooks/nearby-device-offer-state.js.map +1 -0
  22. package/lib/commonjs/modules/bt-management/hooks/nearby-device-offer-types.js +6 -0
  23. package/lib/commonjs/modules/bt-management/hooks/nearby-device-offer-types.js.map +1 -0
  24. package/lib/commonjs/modules/bt-management/hooks/use-nearby-device-offer.js +22 -36
  25. package/lib/commonjs/modules/bt-management/hooks/use-nearby-device-offer.js.map +1 -1
  26. package/lib/commonjs/modules/bt-management/services/background-sync/background-sync-coordinator.js +11 -0
  27. package/lib/commonjs/modules/bt-management/services/background-sync/background-sync-coordinator.js.map +1 -1
  28. package/lib/commonjs/modules/data-sync/utils/convert-generic-health-data.js +33 -19
  29. package/lib/commonjs/modules/data-sync/utils/convert-generic-health-data.js.map +1 -1
  30. package/lib/commonjs/modules/data-sync/utils/health-data-catalog.js +51 -11
  31. package/lib/commonjs/modules/data-sync/utils/health-data-catalog.js.map +1 -1
  32. package/lib/commonjs/modules/data-sync/utils/health-units.js +1 -0
  33. package/lib/commonjs/modules/data-sync/utils/health-units.js.map +1 -1
  34. package/lib/commonjs/modules/ui/components/bluetooth-state-notice.js +31 -15
  35. package/lib/commonjs/modules/ui/components/bluetooth-state-notice.js.map +1 -1
  36. package/lib/commonjs/modules/ui/default-translation.js +50 -0
  37. package/lib/commonjs/modules/ui/default-translation.js.map +1 -0
  38. package/lib/module/modules/auth/default-translation.js +5 -0
  39. package/lib/module/modules/auth/default-translation.js.map +1 -1
  40. package/lib/module/modules/auth/profile/components/profile-form-provider.js +3 -6
  41. package/lib/module/modules/auth/profile/components/profile-form-provider.js.map +1 -1
  42. package/lib/module/modules/auth/reset-password/components/form/reset-password-form-provider.js +2 -3
  43. package/lib/module/modules/auth/reset-password/components/form/reset-password-form-provider.js.map +1 -1
  44. package/lib/module/modules/auth/session/logout-session.js +5 -2
  45. package/lib/module/modules/auth/session/logout-session.js.map +1 -1
  46. package/lib/module/modules/auth/session/session-store-types.js +13 -0
  47. package/lib/module/modules/auth/session/session-store-types.js.map +1 -0
  48. package/lib/module/modules/auth/session/session-store.js +22 -10
  49. package/lib/module/modules/auth/session/session-store.js.map +1 -1
  50. package/lib/module/modules/auth/utils/sign-in-error.js +5 -2
  51. package/lib/module/modules/auth/utils/sign-in-error.js.map +1 -1
  52. package/lib/module/modules/bt-management/components/bt-provider-child-wrapper.js +5 -0
  53. package/lib/module/modules/bt-management/components/bt-provider-child-wrapper.js.map +1 -1
  54. package/lib/module/modules/bt-management/hooks/declined-device-storage.js +33 -1
  55. package/lib/module/modules/bt-management/hooks/declined-device-storage.js.map +1 -1
  56. package/lib/module/modules/bt-management/hooks/nearby-device-offer-state.js +20 -0
  57. package/lib/module/modules/bt-management/hooks/nearby-device-offer-state.js.map +1 -0
  58. package/lib/module/modules/bt-management/hooks/nearby-device-offer-types.js +4 -0
  59. package/lib/module/modules/bt-management/hooks/nearby-device-offer-types.js.map +1 -0
  60. package/lib/module/modules/bt-management/hooks/use-nearby-device-offer.js +21 -35
  61. package/lib/module/modules/bt-management/hooks/use-nearby-device-offer.js.map +1 -1
  62. package/lib/module/modules/bt-management/services/background-sync/background-sync-coordinator.js +11 -0
  63. package/lib/module/modules/bt-management/services/background-sync/background-sync-coordinator.js.map +1 -1
  64. package/lib/module/modules/data-sync/utils/convert-generic-health-data.js +33 -19
  65. package/lib/module/modules/data-sync/utils/convert-generic-health-data.js.map +1 -1
  66. package/lib/module/modules/data-sync/utils/health-data-catalog.js +51 -11
  67. package/lib/module/modules/data-sync/utils/health-data-catalog.js.map +1 -1
  68. package/lib/module/modules/data-sync/utils/health-units.js +1 -0
  69. package/lib/module/modules/data-sync/utils/health-units.js.map +1 -1
  70. package/lib/module/modules/ui/components/bluetooth-state-notice.js +31 -15
  71. package/lib/module/modules/ui/components/bluetooth-state-notice.js.map +1 -1
  72. package/lib/module/modules/ui/default-translation.js +45 -0
  73. package/lib/module/modules/ui/default-translation.js.map +1 -0
  74. package/lib/typescript/commonjs/src/modules/auth/default-translation.d.ts +5 -0
  75. package/lib/typescript/commonjs/src/modules/auth/default-translation.d.ts.map +1 -1
  76. package/lib/typescript/commonjs/src/modules/auth/profile/components/profile-form-provider.d.ts.map +1 -1
  77. package/lib/typescript/commonjs/src/modules/auth/reset-password/components/form/reset-password-form-provider.d.ts.map +1 -1
  78. package/lib/typescript/commonjs/src/modules/auth/session/logout-session.d.ts.map +1 -1
  79. package/lib/typescript/commonjs/src/modules/auth/session/session-store-types.d.ts +27 -0
  80. package/lib/typescript/commonjs/src/modules/auth/session/session-store-types.d.ts.map +1 -0
  81. package/lib/typescript/commonjs/src/modules/auth/session/session-store.d.ts +1 -18
  82. package/lib/typescript/commonjs/src/modules/auth/session/session-store.d.ts.map +1 -1
  83. package/lib/typescript/commonjs/src/modules/auth/utils/sign-in-error.d.ts +2 -1
  84. package/lib/typescript/commonjs/src/modules/auth/utils/sign-in-error.d.ts.map +1 -1
  85. package/lib/typescript/commonjs/src/modules/bt-management/components/bt-provider-child-wrapper.d.ts.map +1 -1
  86. package/lib/typescript/commonjs/src/modules/bt-management/hooks/declined-device-storage.d.ts +10 -1
  87. package/lib/typescript/commonjs/src/modules/bt-management/hooks/declined-device-storage.d.ts.map +1 -1
  88. package/lib/typescript/commonjs/src/modules/bt-management/hooks/nearby-device-offer-state.d.ts +6 -0
  89. package/lib/typescript/commonjs/src/modules/bt-management/hooks/nearby-device-offer-state.d.ts.map +1 -0
  90. package/lib/typescript/commonjs/src/modules/bt-management/hooks/nearby-device-offer-types.d.ts +15 -0
  91. package/lib/typescript/commonjs/src/modules/bt-management/hooks/nearby-device-offer-types.d.ts.map +1 -0
  92. package/lib/typescript/commonjs/src/modules/bt-management/hooks/use-nearby-device-offer.d.ts +6 -14
  93. package/lib/typescript/commonjs/src/modules/bt-management/hooks/use-nearby-device-offer.d.ts.map +1 -1
  94. package/lib/typescript/commonjs/src/modules/bt-management/services/background-sync/background-sync-coordinator.d.ts.map +1 -1
  95. package/lib/typescript/commonjs/src/modules/bt-management/types/background-sync.d.ts +7 -0
  96. package/lib/typescript/commonjs/src/modules/bt-management/types/background-sync.d.ts.map +1 -1
  97. package/lib/typescript/commonjs/src/modules/data-sync/utils/convert-generic-health-data.d.ts.map +1 -1
  98. package/lib/typescript/commonjs/src/modules/data-sync/utils/health-data-catalog.d.ts +2 -0
  99. package/lib/typescript/commonjs/src/modules/data-sync/utils/health-data-catalog.d.ts.map +1 -1
  100. package/lib/typescript/commonjs/src/modules/data-sync/utils/health-units.d.ts.map +1 -1
  101. package/lib/typescript/commonjs/src/modules/ui/components/bluetooth-state-notice.d.ts +8 -5
  102. package/lib/typescript/commonjs/src/modules/ui/components/bluetooth-state-notice.d.ts.map +1 -1
  103. package/lib/typescript/commonjs/src/modules/ui/default-translation.d.ts +30 -0
  104. package/lib/typescript/commonjs/src/modules/ui/default-translation.d.ts.map +1 -0
  105. package/lib/typescript/module/src/modules/auth/default-translation.d.ts +5 -0
  106. package/lib/typescript/module/src/modules/auth/default-translation.d.ts.map +1 -1
  107. package/lib/typescript/module/src/modules/auth/profile/components/profile-form-provider.d.ts.map +1 -1
  108. package/lib/typescript/module/src/modules/auth/reset-password/components/form/reset-password-form-provider.d.ts.map +1 -1
  109. package/lib/typescript/module/src/modules/auth/session/logout-session.d.ts.map +1 -1
  110. package/lib/typescript/module/src/modules/auth/session/session-store-types.d.ts +27 -0
  111. package/lib/typescript/module/src/modules/auth/session/session-store-types.d.ts.map +1 -0
  112. package/lib/typescript/module/src/modules/auth/session/session-store.d.ts +1 -18
  113. package/lib/typescript/module/src/modules/auth/session/session-store.d.ts.map +1 -1
  114. package/lib/typescript/module/src/modules/auth/utils/sign-in-error.d.ts +2 -1
  115. package/lib/typescript/module/src/modules/auth/utils/sign-in-error.d.ts.map +1 -1
  116. package/lib/typescript/module/src/modules/bt-management/components/bt-provider-child-wrapper.d.ts.map +1 -1
  117. package/lib/typescript/module/src/modules/bt-management/hooks/declined-device-storage.d.ts +10 -1
  118. package/lib/typescript/module/src/modules/bt-management/hooks/declined-device-storage.d.ts.map +1 -1
  119. package/lib/typescript/module/src/modules/bt-management/hooks/nearby-device-offer-state.d.ts +6 -0
  120. package/lib/typescript/module/src/modules/bt-management/hooks/nearby-device-offer-state.d.ts.map +1 -0
  121. package/lib/typescript/module/src/modules/bt-management/hooks/nearby-device-offer-types.d.ts +15 -0
  122. package/lib/typescript/module/src/modules/bt-management/hooks/nearby-device-offer-types.d.ts.map +1 -0
  123. package/lib/typescript/module/src/modules/bt-management/hooks/use-nearby-device-offer.d.ts +6 -14
  124. package/lib/typescript/module/src/modules/bt-management/hooks/use-nearby-device-offer.d.ts.map +1 -1
  125. package/lib/typescript/module/src/modules/bt-management/services/background-sync/background-sync-coordinator.d.ts.map +1 -1
  126. package/lib/typescript/module/src/modules/bt-management/types/background-sync.d.ts +7 -0
  127. package/lib/typescript/module/src/modules/bt-management/types/background-sync.d.ts.map +1 -1
  128. package/lib/typescript/module/src/modules/data-sync/utils/convert-generic-health-data.d.ts.map +1 -1
  129. package/lib/typescript/module/src/modules/data-sync/utils/health-data-catalog.d.ts +2 -0
  130. package/lib/typescript/module/src/modules/data-sync/utils/health-data-catalog.d.ts.map +1 -1
  131. package/lib/typescript/module/src/modules/data-sync/utils/health-units.d.ts.map +1 -1
  132. package/lib/typescript/module/src/modules/ui/components/bluetooth-state-notice.d.ts +8 -5
  133. package/lib/typescript/module/src/modules/ui/components/bluetooth-state-notice.d.ts.map +1 -1
  134. package/lib/typescript/module/src/modules/ui/default-translation.d.ts +30 -0
  135. package/lib/typescript/module/src/modules/ui/default-translation.d.ts.map +1 -0
  136. package/package.json +4 -7
@@ -12,8 +12,11 @@ export const logoutSession = client => {
12
12
  return pending;
13
13
  }
14
14
  const request = (async () => {
15
- await client.logout();
16
- await signOutGoogleIfNeeded();
15
+ try {
16
+ await client.logout();
17
+ } finally {
18
+ await signOutGoogleIfNeeded();
19
+ }
17
20
  })().finally(() => {
18
21
  notifySessionChanged();
19
22
  logoutRequests.delete(key);
@@ -1 +1 @@
1
- {"version":3,"names":["signOutGoogleIfNeeded","notifySessionChanged","logoutRequests","WeakMap","logoutSession","client","key","pending","get","request","logout","finally","delete","set"],"sourceRoot":"../../../../../src","sources":["modules/auth/session/logout-session.ts"],"mappings":";;AAAA,SAASA,qBAAqB,QAAQ,6BAA0B;AAEhE,SAASC,oBAAoB,QAAQ,aAAU;AAM/C,MAAMC,cAAc,GAAG,IAAIC,OAAO,CAAwB,CAAC;;AAE3D;AACA,OAAO,MAAMC,aAAa,GAAIC,MAA2B,IAAoB;EAC3E,MAAMC,GAAG,GAAGD,MAAgB;EAC5B,MAAME,OAAO,GAAGL,cAAc,CAACM,GAAG,CAACF,GAAG,CAAC;EAEvC,IAAIC,OAAO,EAAE;IACX,OAAOA,OAAO;EAChB;EAEA,MAAME,OAAO,GAAG,CAAC,YAAY;IAC3B,MAAMJ,MAAM,CAACK,MAAM,CAAC,CAAC;IACrB,MAAMV,qBAAqB,CAAC,CAAC;EAC/B,CAAC,EAAE,CAAC,CAACW,OAAO,CAAC,MAAM;IACjBV,oBAAoB,CAAC,CAAC;IACtBC,cAAc,CAACU,MAAM,CAACN,GAAG,CAAC;EAC5B,CAAC,CAAC;EAEFJ,cAAc,CAACW,GAAG,CAACP,GAAG,EAAEG,OAAO,CAAC;EAEhC,OAAOA,OAAO;AAChB,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["signOutGoogleIfNeeded","notifySessionChanged","logoutRequests","WeakMap","logoutSession","client","key","pending","get","request","logout","finally","delete","set"],"sourceRoot":"../../../../../src","sources":["modules/auth/session/logout-session.ts"],"mappings":";;AAAA,SAASA,qBAAqB,QAAQ,6BAA0B;AAEhE,SAASC,oBAAoB,QAAQ,aAAU;AAM/C,MAAMC,cAAc,GAAG,IAAIC,OAAO,CAAwB,CAAC;;AAE3D;AACA,OAAO,MAAMC,aAAa,GAAIC,MAA2B,IAAoB;EAC3E,MAAMC,GAAG,GAAGD,MAAgB;EAC5B,MAAME,OAAO,GAAGL,cAAc,CAACM,GAAG,CAACF,GAAG,CAAC;EAEvC,IAAIC,OAAO,EAAE;IACX,OAAOA,OAAO;EAChB;EAEA,MAAME,OAAO,GAAG,CAAC,YAAY;IAC3B,IAAI;MACF,MAAMJ,MAAM,CAACK,MAAM,CAAC,CAAC;IACvB,CAAC,SAAS;MACR,MAAMV,qBAAqB,CAAC,CAAC;IAC/B;EACF,CAAC,EAAE,CAAC,CAACW,OAAO,CAAC,MAAM;IACjBV,oBAAoB,CAAC,CAAC;IACtBC,cAAc,CAACU,MAAM,CAACN,GAAG,CAAC;EAC5B,CAAC,CAAC;EAEFJ,cAAc,CAACW,GAAG,CAACP,GAAG,EAAEG,OAAO,CAAC;EAEhC,OAAOA,OAAO;AAChB,CAAC","ignoreList":[]}
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+
3
+ const normalizeSession = session => {
4
+ const legacy = session;
5
+ return {
6
+ id: session.id,
7
+ authMethod: session.authMethod,
8
+ remoteAddress: session.remoteAddress ?? legacy.ip,
9
+ lastUpdated: session.lastUpdated ?? legacy.lastActiveAt ?? legacy.createdAt
10
+ };
11
+ };
12
+ export { normalizeSession };
13
+ //# sourceMappingURL=session-store-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["normalizeSession","session","legacy","id","authMethod","remoteAddress","ip","lastUpdated","lastActiveAt","createdAt"],"sourceRoot":"../../../../../src","sources":["modules/auth/session/session-store-types.ts"],"mappings":";;AAgCA,MAAMA,gBAAgB,GAAIC,OAA0B,IAAwB;EAC1E,MAAMC,MAAM,GAAGD,OAId;EAED,OAAO;IACLE,EAAE,EAAEF,OAAO,CAACE,EAAE;IACdC,UAAU,EAAEH,OAAO,CAACG,UAAU;IAC9BC,aAAa,EAAEJ,OAAO,CAACI,aAAa,IAAIH,MAAM,CAACI,EAAE;IACjDC,WAAW,EAAEN,OAAO,CAACM,WAAW,IAAIL,MAAM,CAACM,YAAY,IAAIN,MAAM,CAACO;EACpE,CAAC;AACH,CAAC;AAED,SAAST,gBAAgB","ignoreList":[]}
@@ -1,20 +1,15 @@
1
1
  "use strict";
2
2
 
3
+ import { addEventListener as addNetworkEventListener } from "@react-native-community/netinfo";
3
4
  import { logoutSession } from "./logout-session.js";
4
5
  import { getHttpStatus, toError } from "./session-errors.js";
6
+ import { normalizeSession } from "./session-store-types.js";
5
7
  const stores = new WeakMap();
6
- const normalizeSession = session => {
7
- const legacy = session;
8
- return {
9
- id: session.id,
10
- authMethod: session.authMethod,
11
- remoteAddress: session.remoteAddress ?? legacy.ip,
12
- lastUpdated: session.lastUpdated ?? legacy.lastActiveAt ?? legacy.createdAt
13
- };
14
- };
15
8
  const createSessionStore = client => {
16
9
  const sessionClient = client;
17
10
  const listeners = new Set();
11
+ let unsubscribeNetwork;
12
+ let wasConnected;
18
13
  let profileRequest;
19
14
  let sessionsRequest;
20
15
  let logoutRequest;
@@ -27,7 +22,24 @@ const createSessionStore = client => {
27
22
  },
28
23
  subscribe: listener => {
29
24
  listeners.add(listener);
30
- return () => listeners.delete(listener);
25
+ if (!unsubscribeNetwork) {
26
+ unsubscribeNetwork = addNetworkEventListener(state => {
27
+ const isConnected = state.isConnected === true && state.isInternetReachable !== false;
28
+ const shouldRefresh = isConnected && wasConnected !== true && store.snapshot.status === "offline";
29
+ wasConnected = isConnected;
30
+ if (shouldRefresh) {
31
+ void store.refresh(false);
32
+ }
33
+ });
34
+ }
35
+ return () => {
36
+ listeners.delete(listener);
37
+ if (listeners.size === 0) {
38
+ unsubscribeNetwork?.();
39
+ unsubscribeNetwork = undefined;
40
+ wasConnected = undefined;
41
+ }
42
+ };
31
43
  },
32
44
  refresh: async includeSessions => {
33
45
  if (!client.getActiveLogin()) {
@@ -1 +1 @@
1
- {"version":3,"names":["logoutSession","getHttpStatus","toError","stores","WeakMap","normalizeSession","session","legacy","id","authMethod","remoteAddress","ip","lastUpdated","lastActiveAt","createdAt","createSessionStore","client","sessionClient","listeners","Set","profileRequest","sessionsRequest","logoutRequest","profileNeedsRefresh","authRevision","store","snapshot","status","sessions","subscribe","listener","add","delete","refresh","includeSessions","getActiveLogin","forEach","revision","previousSnapshot","error","undefined","refetchProfile","getProfileAsync","then","profile","catch","cause","finally","currentProfileRequest","getSessions","currentSessionsRequest","profileResult","sessionsResult","Promise","all","resolve","map","refreshSessions","logout","revokeSessions","option","getSessionStore","key","existing","get","next","set"],"sourceRoot":"../../../../../src","sources":["modules/auth/session/session-store.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["addEventListener","addNetworkEventListener","logoutSession","getHttpStatus","toError","normalizeSession","stores","WeakMap","createSessionStore","client","sessionClient","listeners","Set","unsubscribeNetwork","wasConnected","profileRequest","sessionsRequest","logoutRequest","profileNeedsRefresh","authRevision","store","snapshot","status","sessions","subscribe","listener","add","state","isConnected","isInternetReachable","shouldRefresh","refresh","delete","size","undefined","includeSessions","getActiveLogin","forEach","revision","previousSnapshot","error","refetchProfile","getProfileAsync","then","profile","catch","cause","finally","currentProfileRequest","getSessions","currentSessionsRequest","profileResult","sessionsResult","Promise","all","resolve","map","refreshSessions","logout","revokeSessions","option","getSessionStore","key","existing","get","next","set"],"sourceRoot":"../../../../../src","sources":["modules/auth/session/session-store.ts"],"mappings":"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","ignoreList":[]}
@@ -33,7 +33,10 @@ const messageKeyForStatus = (status, isMfaVerification, isSignIn) => {
33
33
  return undefined;
34
34
  }
35
35
  };
36
- const isNetworkError = (error, message) => error instanceof TypeError || typeof message === "string" && /network request failed|network error|failed to fetch/i.test(message);
36
+ const isNetworkError = (error, message) => {
37
+ const errorMessage = message ?? (error instanceof Error ? error.message : asRecord(error)?.message);
38
+ return error instanceof TypeError || typeof errorMessage === "string" && /network request failed|network error|failed to fetch|fetch failed|unknownhostexception|no route to host|network is unreachable|unable to resolve host|could not resolve host|name resolution/i.test(errorMessage);
39
+ };
37
40
 
38
41
  /** Converts transport/server failures to safe, translatable sign-in errors. */
39
42
  const parseSignInError = (error, options = {}) => {
@@ -62,5 +65,5 @@ const parseSignInError = (error, options = {}) => {
62
65
  fieldErrors
63
66
  };
64
67
  };
65
- export { parseSignInError };
68
+ export { isNetworkError, parseSignInError };
66
69
  //# sourceMappingURL=sign-in-error.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["asRecord","value","undefined","parseJsonRecord","JSON","parse","numberValue","values","find","candidate","Number","isFinite","stringValue","length","messageKeyForStatus","status","isMfaVerification","isSignIn","isNetworkError","error","message","TypeError","test","parseSignInError","options","root","originalMessage","Error","response","body","data","nestedError","statusCode","code","requestId","fieldErrors","Array","isArray","errors","signInError"],"sourceRoot":"../../../../../src","sources":["modules/auth/utils/sign-in-error.ts"],"mappings":";;AAeA,MAAMA,QAAQ,GAAIC,KAAc,IAC9B,OAAOA,KAAK,KAAK,QAAQ,IAAIA,KAAK,KAAK,IAAI,GACtCA,KAAK,GACNC,SAAS;AAEf,MAAMC,eAAe,GAAIF,KAAc,IAA8B;EACnE,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE;IAC7B,OAAOC,SAAS;EAClB;EAEA,IAAI;IACF,OAAOF,QAAQ,CAACI,IAAI,CAACC,KAAK,CAACJ,KAAK,CAAC,CAAC;EACpC,CAAC,CAAC,MAAM;IACN,OAAOC,SAAS;EAClB;AACF,CAAC;AAED,MAAMI,WAAW,GAAGA,CAAC,GAAGC,MAAiB,KAAyB;EAChE,MAAMN,KAAK,GAAGM,MAAM,CAACC,IAAI,CACtBC,SAAS,IACR,OAAOA,SAAS,KAAK,QAAQ,IAAIC,MAAM,CAACC,QAAQ,CAACF,SAAS,CAC9D,CAAC;EAED,OAAO,OAAOR,KAAK,KAAK,QAAQ,GAAGA,KAAK,GAAGC,SAAS;AACtD,CAAC;AAED,MAAMU,WAAW,GAAGA,CAAC,GAAGL,MAAiB,KAAyB;EAChE,MAAMN,KAAK,GAAGM,MAAM,CAACC,IAAI,CACtBC,SAAS,IAAK,OAAOA,SAAS,KAAK,QAAQ,IAAIA,SAAS,CAACI,MAAM,GAAG,CACrE,CAAC;EAED,OAAO,OAAOZ,KAAK,KAAK,QAAQ,GAAGA,KAAK,GAAGC,SAAS;AACtD,CAAC;AAED,MAAMY,mBAAmB,GAAGA,CAC1BC,MAA0B,EAC1BC,iBAA0B,EAC1BC,QAAiB,KACd;EACH,QAAQF,MAAM;IACZ,KAAK,GAAG;IACR,KAAK,GAAG;MACN,OAAOE,QAAQ,GACXD,iBAAiB,GACf,qBAAqB,GACrB,oCAAoC,GACtCd,SAAS;IACf,KAAK,GAAG;IACR,KAAK,GAAG;MACN,OAAOe,QAAQ,GAAG,4BAA4B,GAAGf,SAAS;IAC5D,KAAK,GAAG;MACN,OAAO,iBAAiB;IAC1B;MACE,OAAOA,SAAS;EACpB;AACF,CAAC;AAED,MAAMgB,cAAc,GAAGA,CAACC,KAAc,EAAEC,OAAgB,KACtDD,KAAK,YAAYE,SAAS,IACzB,OAAOD,OAAO,KAAK,QAAQ,IAC1B,uDAAuD,CAACE,IAAI,CAACF,OAAO,CAAE;;AAE1E;AACA,MAAMG,gBAAgB,GAAGA,CACvBJ,KAAc,EACdK,OAA4D,GAAG,CAAC,CAAC,KAC3C;EACtB,MAAMC,IAAI,GAAGzB,QAAQ,CAACmB,KAAK,CAAC;EAE5B,MAAMO,eAAe,GACnBP,KAAK,YAAYQ,KAAK,GAAGR,KAAK,CAACC,OAAO,GAAGK,IAAI,EAAEL,OAAO;EAExD,MAAMQ,QAAQ,GAAG5B,QAAQ,CAACyB,IAAI,EAAEG,QAAQ,CAAC;EAEzC,MAAMC,IAAI,GACR1B,eAAe,CAACuB,eAAe,CAAC,IAChC1B,QAAQ,CAACyB,IAAI,EAAEI,IAAI,CAAC,IACpB7B,QAAQ,CAACyB,IAAI,EAAEK,IAAI,CAAC,IACpB9B,QAAQ,CAAC4B,QAAQ,EAAEE,IAAI,CAAC,IACxB9B,QAAQ,CAAC4B,QAAQ,EAAEC,IAAI,CAAC,IACxBJ,IAAI;EAEN,MAAMM,WAAW,GAAG/B,QAAQ,CAAC6B,IAAI,EAAEV,KAAK,CAAC;EAEzC,MAAMJ,MAAM,GAAGT,WAAW,CACxBmB,IAAI,EAAEV,MAAM,EACZU,IAAI,EAAEO,UAAU,EAChBJ,QAAQ,EAAEb,MAAM,EAChBc,IAAI,EAAEd,MAAM,EACZc,IAAI,EAAEG,UACR,CAAC;EAED,MAAMC,IAAI,GAAGrB,WAAW,CAACiB,IAAI,EAAEI,IAAI,EAAEF,WAAW,EAAEE,IAAI,EAAER,IAAI,EAAEQ,IAAI,CAAC;EACnE,MAAMC,SAAS,GAAGtB,WAAW,CAACiB,IAAI,EAAEK,SAAS,EAAET,IAAI,EAAES,SAAS,CAAC;EAE/D,MAAMC,WAAW,GAAIC,KAAK,CAACC,OAAO,CAACR,IAAI,EAAES,MAAM,CAAC,GAC5CT,IAAI,CAACS,MAAM,GACXF,KAAK,CAACC,OAAO,CAACN,WAAW,EAAEO,MAAM,CAAC,GAChCP,WAAW,CAACO,MAAM,GAClB,EAAwB;EAE9B,MAAMlB,OAAO,GACXN,mBAAmB,CACjBC,MAAM,EACNS,OAAO,CAACR,iBAAiB,KAAK,IAAI,EAClCQ,OAAO,CAACP,QAAQ,KAAK,KACvB,CAAC,KACAC,cAAc,CAACC,KAAK,EAAEO,eAAe,CAAC,GACnC,wBAAwB,GACxB,wBAAwB,CAAC;EAE/B,MAAMa,WAAW,GAAG,IAAIZ,KAAK,CAACP,OAAO,CAAgB;EAErD,IAAIL,MAAM,KAAKb,SAAS,EAAE;IACxBqC,WAAW,CAACxB,MAAM,GAAGA,MAAM;EAC7B;EACA,IAAImB,SAAS,KAAKhC,SAAS,EAAE;IAC3BqC,WAAW,CAACL,SAAS,GAAGA,SAAS;EACnC;EACA,IAAID,IAAI,KAAK/B,SAAS,EAAE;IACtBqC,WAAW,CAACN,IAAI,GAAGA,IAAI;EACzB;EAEA,OAAO;IAAEd,KAAK,EAAEoB,WAAW;IAAEJ;EAAY,CAAC;AAC5C,CAAC;AAED,SAASZ,gBAAgB","ignoreList":[]}
1
+ {"version":3,"names":["asRecord","value","undefined","parseJsonRecord","JSON","parse","numberValue","values","find","candidate","Number","isFinite","stringValue","length","messageKeyForStatus","status","isMfaVerification","isSignIn","isNetworkError","error","message","errorMessage","Error","TypeError","test","parseSignInError","options","root","originalMessage","response","body","data","nestedError","statusCode","code","requestId","fieldErrors","Array","isArray","errors","signInError"],"sourceRoot":"../../../../../src","sources":["modules/auth/utils/sign-in-error.ts"],"mappings":"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","ignoreList":[]}
@@ -196,6 +196,7 @@ export const BTProviderChildWrapper = ({
196
196
  }
197
197
  const coordinator = new BackgroundSyncCoordinator({
198
198
  ...current,
199
+ getOwnerKey: () => backgroundSyncRef.current?.getOwnerKey?.(),
199
200
  enabled: true,
200
201
  onError: error => {
201
202
  backgroundSyncRef.current?.onError?.(error);
@@ -212,9 +213,13 @@ export const BTProviderChildWrapper = ({
212
213
  if (latest.notifications?.enabled !== true) {
213
214
  return;
214
215
  }
216
+ const shouldNotify = latest.notifications.shouldNotify;
215
217
  const body = latest.notifications.body;
216
218
  const data = latest.notifications.data;
217
219
  try {
220
+ if (shouldNotify && !shouldNotify(result)) {
221
+ return;
222
+ }
218
223
  await showBackgroundPushNotification({
219
224
  title: latest.notifications.title ?? "New health measurement",
220
225
  body: body === undefined ? `${result.deviceData.name} reported a measurement` : typeof body === "function" ? body(result) : body,
@@ -1 +1 @@
1
- {"version":3,"names":["React","AppState","State","BleState","sentryLogger","BluetoothRuntimeProvider","createBluetoothRuntime","getRestoredBleState","getBackgroundServiceUUIDs","BackgroundSyncCoordinator","BTManager","showBackgroundPushNotification","BluetoothErrorCode","toBluetoothError","DeviceStatus","AndroidBluetoothForegroundService","jsx","_jsx","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","enabled","runtime","permissionErrorReportedRef","runtimePermissionStatus","useSyncExternalStore","subscribeState","getSnapshot","bluetoothPermissionStatus","backgroundSyncRef","propsRef","acceptedDevicesRef","backgroundSyncCoordinatorRef","useEffect","setBluetoothPermissionStatus","setBluetoothState","subscription","onStateChange","state","PoweredOn","Unsupported","Unauthorized","remove","acceptedDevicesSignature","managerOptionsSignature","timezone","serviceUUIDs","undefined","backgroundScanEnabled","getBackgroundScanEnabled","currentAcceptedDevices","length","currentProps","currentBackgroundSync","backgroundOptions","backgroundEnabled","managerOptions","now","Date","btManager","Object","keys","destroy","backgroundCoordinatorSignature","storageKey","maxRetries","retryBackoffMs","notifications","title","body","coordinator","error","result","latest","Error","data","deviceData","name","storage","setAutoConnect","manager","device","deviceManager","upsertDevice","runtimeDevice","devices","find","item","id","emit","Promise","resolve","normalized","code","PERMISSION_DENIED","callback","enqueue","catch","setDeviceResult","status","measurementTypeKey","DISCONNECTED","removeDevice","setDeviceStatus","event","setDeviceConnectionEvent","setBackgroundScanEnabled","currentState","startScan","restoredState","restoreStateIdentifier","connectedPeripherals","restoreDevices","flush","includeExhausted","resetExhausted","listener","addEventListener","options","android","foregroundService"],"sourceRoot":"../../../../../src","sources":["modules/bt-management/components/bt-provider-child-wrapper.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","AppState","State","BleState","sentryLogger","BluetoothRuntimeProvider","createBluetoothRuntime","getRestoredBleState","getBackgroundServiceUUIDs","BackgroundSyncCoordinator","BTManager","showBackgroundPushNotification","BluetoothErrorCode","toBluetoothError","DeviceStatus","AndroidBluetoothForegroundService","jsx","_jsx","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","enabled","runtime","permissionErrorReportedRef","runtimePermissionStatus","useSyncExternalStore","subscribeState","getSnapshot","bluetoothPermissionStatus","backgroundSyncRef","propsRef","acceptedDevicesRef","backgroundSyncCoordinatorRef","useEffect","setBluetoothPermissionStatus","setBluetoothState","subscription","onStateChange","state","PoweredOn","Unsupported","Unauthorized","remove","acceptedDevicesSignature","managerOptionsSignature","timezone","serviceUUIDs","undefined","backgroundScanEnabled","getBackgroundScanEnabled","currentAcceptedDevices","length","currentProps","currentBackgroundSync","backgroundOptions","backgroundEnabled","managerOptions","now","Date","btManager","Object","keys","destroy","backgroundCoordinatorSignature","storageKey","maxRetries","retryBackoffMs","notifications","title","body","coordinator","getOwnerKey","error","result","latest","Error","shouldNotify","data","deviceData","name","storage","setAutoConnect","manager","device","deviceManager","upsertDevice","runtimeDevice","devices","find","item","id","emit","Promise","resolve","normalized","code","PERMISSION_DENIED","callback","enqueue","catch","setDeviceResult","status","measurementTypeKey","DISCONNECTED","removeDevice","setDeviceStatus","event","setDeviceConnectionEvent","setBackgroundScanEnabled","currentState","startScan","restoredState","restoreStateIdentifier","connectedPeripherals","restoreDevices","flush","includeExhausted","resetExhausted","listener","addEventListener","options","android","foregroundService"],"sourceRoot":"../../../../../src","sources":["modules/bt-management/components/bt-provider-child-wrapper.tsx"],"mappings":"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","ignoreList":[]}
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
 
3
+ const declinedByRuntime = new WeakMap();
3
4
  const writesByStorage = new WeakMap();
4
5
  const parseDeclinedDeviceIds = value => {
5
6
  if (!value) {
@@ -12,6 +13,37 @@ const parseDeclinedDeviceIds = value => {
12
13
  return [];
13
14
  }
14
15
  };
16
+ const getDeclinedDeviceState = (runtime, storageKey) => {
17
+ let byStorageKey = declinedByRuntime.get(runtime);
18
+ if (!byStorageKey) {
19
+ byStorageKey = new Map();
20
+ declinedByRuntime.set(runtime, byStorageKey);
21
+ }
22
+ let state = byStorageKey.get(storageKey);
23
+ if (!state) {
24
+ state = {
25
+ listeners: new Set()
26
+ };
27
+ byStorageKey.set(storageKey, state);
28
+ }
29
+ return state;
30
+ };
31
+ const publishDeclinedDeviceIds = (state, ids) => {
32
+ state.ids = ids;
33
+ state.listeners.forEach(listener => listener());
34
+ };
35
+ const loadDeclinedDeviceIds = (state, storage, storageKey) => {
36
+ if (state.ids) {
37
+ return Promise.resolve(state.ids);
38
+ }
39
+ state.loading ??= Promise.resolve().then(() => storage.getItem(storageKey)).then(parseDeclinedDeviceIds).then(ids => {
40
+ publishDeclinedDeviceIds(state, ids);
41
+ return ids;
42
+ }).finally(() => {
43
+ state.loading = undefined;
44
+ });
45
+ return state.loading;
46
+ };
15
47
  const updateDeclinedDeviceIds = async (storage, storageKey, update) => {
16
48
  let writes = writesByStorage.get(storage);
17
49
  if (!writes) {
@@ -35,5 +67,5 @@ const updateDeclinedDeviceIds = async (storage, storageKey, update) => {
35
67
  }
36
68
  }
37
69
  };
38
- export { parseDeclinedDeviceIds, updateDeclinedDeviceIds };
70
+ export { getDeclinedDeviceState, loadDeclinedDeviceIds, parseDeclinedDeviceIds, publishDeclinedDeviceIds, updateDeclinedDeviceIds };
39
71
  //# sourceMappingURL=declined-device-storage.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["writesByStorage","WeakMap","parseDeclinedDeviceIds","value","parsed","JSON","parse","Array","isArray","Set","filter","id","updateDeclinedDeviceIds","storage","storageKey","update","writes","get","Map","set","previousWrite","nextIds","write","Promise","resolve","catch","undefined","then","currentIds","getItem","setItem","stringify","delete"],"sourceRoot":"../../../../../src","sources":["modules/bt-management/hooks/declined-device-storage.ts"],"mappings":";;AAEA,MAAMA,eAAe,GAAG,IAAIC,OAAO,CAAkD,CAAC;AAEtF,MAAMC,sBAAsB,GAAIC,KAAoB,IAAe;EACjE,IAAI,CAACA,KAAK,EAAE;IACV,OAAO,EAAE;EACX;EAEA,IAAI;IACF,MAAMC,MAAe,GAAGC,IAAI,CAACC,KAAK,CAACH,KAAK,CAAC;IAEzC,OAAOI,KAAK,CAACC,OAAO,CAACJ,MAAM,CAAC,GACxB,CAAC,GAAG,IAAIK,GAAG,CAACL,MAAM,CAACM,MAAM,CAAEC,EAAE,IAAmB,OAAOA,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,GACzE,EAAE;EACR,CAAC,CAAC,MAAM;IACN,OAAO,EAAE;EACX;AACF,CAAC;AAED,MAAMC,uBAAuB,GAAG,MAAAA,CAC9BC,OAA4B,EAC5BC,UAAkB,EAClBC,MAA4C,KACtB;EACtB,IAAIC,MAAM,GAAGhB,eAAe,CAACiB,GAAG,CAACJ,OAAO,CAAC;EAEzC,IAAI,CAACG,MAAM,EAAE;IACXA,MAAM,GAAG,IAAIE,GAAG,CAAC,CAAC;IAClBlB,eAAe,CAACmB,GAAG,CAACN,OAAO,EAAEG,MAAM,CAAC;EACtC;EAEA,MAAMI,aAAa,GAAGJ,MAAM,CAACC,GAAG,CAACH,UAAU,CAAC;EAC5C,IAAIO,OAAiB,GAAG,EAAE;EAE1B,MAAMC,KAAK,GAAG,CAACF,aAAa,IAAIG,OAAO,CAACC,OAAO,CAAC,CAAC,EAC9CC,KAAK,CAAC,MAAMC,SAAS,CAAC,CACtBC,IAAI,CAAC,YAAY;IAChB,MAAMC,UAAU,GAAG1B,sBAAsB,CAAC,MAAMW,OAAO,CAACgB,OAAO,CAACf,UAAU,CAAC,CAAC;IAE5EO,OAAO,GAAGN,MAAM,CAACa,UAAU,CAAC;IAC5B,MAAMf,OAAO,CAACiB,OAAO,CAAChB,UAAU,EAAET,IAAI,CAAC0B,SAAS,CAACV,OAAO,CAAC,CAAC;EAC5D,CAAC,CAAC;EAEJL,MAAM,CAACG,GAAG,CAACL,UAAU,EAAEQ,KAAK,CAAC;EAE7B,IAAI;IACF,MAAMA,KAAK;IAEX,OAAOD,OAAO;EAChB,CAAC,SAAS;IACR,IAAIL,MAAM,CAACC,GAAG,CAACH,UAAU,CAAC,KAAKQ,KAAK,EAAE;MACpCN,MAAM,CAACgB,MAAM,CAAClB,UAAU,CAAC;IAC3B;EACF;AACF,CAAC;AAED,SAASZ,sBAAsB,EAAEU,uBAAuB","ignoreList":[]}
1
+ {"version":3,"names":["declinedByRuntime","WeakMap","writesByStorage","parseDeclinedDeviceIds","value","parsed","JSON","parse","Array","isArray","Set","filter","id","getDeclinedDeviceState","runtime","storageKey","byStorageKey","get","Map","set","state","listeners","publishDeclinedDeviceIds","ids","forEach","listener","loadDeclinedDeviceIds","storage","Promise","resolve","loading","then","getItem","finally","undefined","updateDeclinedDeviceIds","update","writes","previousWrite","nextIds","write","catch","currentIds","setItem","stringify","delete"],"sourceRoot":"../../../../../src","sources":["modules/bt-management/hooks/declined-device-storage.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+
3
+ import { BluetoothError, BluetoothErrorCode } from "../types/bluetooth-error.js";
4
+ const dismissedLaterByRuntime = new WeakMap();
5
+ const getDismissedLater = (runtime, storageKey) => {
6
+ let byStorageKey = dismissedLaterByRuntime.get(runtime);
7
+ if (!byStorageKey) {
8
+ byStorageKey = new Map();
9
+ dismissedLaterByRuntime.set(runtime, byStorageKey);
10
+ }
11
+ let dismissed = byStorageKey.get(storageKey);
12
+ if (!dismissed) {
13
+ dismissed = new Set();
14
+ byStorageKey.set(storageKey, dismissed);
15
+ }
16
+ return dismissed;
17
+ };
18
+ const notNearbyError = () => new BluetoothError(BluetoothErrorCode.CONNECTION_FAILED, "The device is no longer nearby.");
19
+ export { getDismissedLater, notNearbyError };
20
+ //# sourceMappingURL=nearby-device-offer-state.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["BluetoothError","BluetoothErrorCode","dismissedLaterByRuntime","WeakMap","getDismissedLater","runtime","storageKey","byStorageKey","get","Map","set","dismissed","Set","notNearbyError","CONNECTION_FAILED"],"sourceRoot":"../../../../../src","sources":["modules/bt-management/hooks/nearby-device-offer-state.ts"],"mappings":";;AAEA,SAASA,cAAc,EAAEC,kBAAkB,QAAQ,6BAA0B;AAE7E,MAAMC,uBAAuB,GAAG,IAAIC,OAAO,CAGzC,CAAC;AAEH,MAAMC,iBAAiB,GAAGA,CACxBC,OAAyB,EACzBC,UAAkB,KACF;EAChB,IAAIC,YAAY,GAAGL,uBAAuB,CAACM,GAAG,CAACH,OAAO,CAAC;EAEvD,IAAI,CAACE,YAAY,EAAE;IACjBA,YAAY,GAAG,IAAIE,GAAG,CAAC,CAAC;IACxBP,uBAAuB,CAACQ,GAAG,CAACL,OAAO,EAAEE,YAAY,CAAC;EACpD;EAEA,IAAII,SAAS,GAAGJ,YAAY,CAACC,GAAG,CAACF,UAAU,CAAC;EAE5C,IAAI,CAACK,SAAS,EAAE;IACdA,SAAS,GAAG,IAAIC,GAAG,CAAC,CAAC;IACrBL,YAAY,CAACG,GAAG,CAACJ,UAAU,EAAEK,SAAS,CAAC;EACzC;EAEA,OAAOA,SAAS;AAClB,CAAC;AAED,MAAME,cAAc,GAAGA,CAAA,KACrB,IAAIb,cAAc,CAChBC,kBAAkB,CAACa,iBAAiB,EACpC,iCACF,CAAC;AAEH,SAASV,iBAAiB,EAAES,cAAc","ignoreList":[]}
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+
3
+ export {};
4
+ //# sourceMappingURL=nearby-device-offer-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sourceRoot":"../../../../../src","sources":["modules/bt-management/hooks/nearby-device-offer-types.ts"],"mappings":"","ignoreList":[]}
@@ -1,33 +1,18 @@
1
1
  "use strict";
2
2
 
3
- /* eslint-disable import/group-exports */
4
-
5
3
  import * as React from "react";
6
- import { BluetoothError, BluetoothErrorCode, toBluetoothError } from "../types/bluetooth-error.js";
7
- import { parseDeclinedDeviceIds, updateDeclinedDeviceIds } from "./declined-device-storage.js";
4
+ import { toBluetoothError } from "../types/bluetooth-error.js";
5
+ import { getDeclinedDeviceState, loadDeclinedDeviceIds, publishDeclinedDeviceIds, updateDeclinedDeviceIds } from "./declined-device-storage.js";
6
+ import { getDismissedLater, notNearbyError } from "./nearby-device-offer-state.js";
8
7
  import { useBluetoothRuntime, useBluetoothSelector } from "./runtime-context.js";
9
8
  import { useNearbyDevices } from "./use-nearby-devices.js";
10
9
  import { DEFAULT_PAIRED_DEVICE_STORAGE_KEY, usePairedDevices } from "./use-paired-devices.js";
11
- const dismissedLaterByRuntime = new WeakMap();
12
- const getDismissedLater = (runtime, storageKey) => {
13
- let byStorageKey = dismissedLaterByRuntime.get(runtime);
14
- if (!byStorageKey) {
15
- byStorageKey = new Map();
16
- dismissedLaterByRuntime.set(runtime, byStorageKey);
17
- }
18
- let dismissed = byStorageKey.get(storageKey);
19
- if (!dismissed) {
20
- dismissed = new Set();
21
- byStorageKey.set(storageKey, dismissed);
22
- }
23
- return dismissed;
24
- };
25
- const notNearbyError = () => new BluetoothError(BluetoothErrorCode.CONNECTION_FAILED, "The device is no longer nearby.");
26
10
  export const useNearbyDeviceOffer = ({
27
11
  storage,
28
12
  storageKey = DEFAULT_PAIRED_DEVICE_STORAGE_KEY,
29
13
  declinedStorageKey = `${storageKey}.declined-nearby-devices`,
30
14
  enabled = true,
15
+ shouldOffer,
31
16
  onPaired,
32
17
  onError
33
18
  }) => {
@@ -43,7 +28,8 @@ export const useNearbyDeviceOffer = ({
43
28
  storage,
44
29
  storageKey
45
30
  });
46
- const [declinedIds, setDeclinedIds] = React.useState(undefined);
31
+ const declinedState = React.useMemo(() => getDeclinedDeviceState(runtime, declinedStorageKey), [runtime, declinedStorageKey]);
32
+ const declinedIds = declinedState.ids;
47
33
  const [status, setStatus] = React.useState("idle");
48
34
  const [error, setError] = React.useState(undefined);
49
35
  const [, redraw] = React.useReducer(value => value + 1, 0);
@@ -56,11 +42,9 @@ export const useNearbyDeviceOffer = ({
56
42
  const pairedIdsLoaded = runtime.getPairedDeviceIds(storageKey) !== undefined;
57
43
  React.useEffect(() => {
58
44
  let active = true;
59
- void Promise.resolve().then(() => storage.getItem(declinedStorageKey)).then(parseDeclinedDeviceIds).then(ids => {
60
- if (active) {
61
- setDeclinedIds(ids);
62
- }
63
- }).catch(cause => {
45
+ const notify = () => redraw();
46
+ declinedState.listeners.add(notify);
47
+ void loadDeclinedDeviceIds(declinedState, storage, declinedStorageKey).catch(cause => {
64
48
  if (active) {
65
49
  const normalized = toBluetoothError(cause);
66
50
  setError(normalized);
@@ -70,9 +54,10 @@ export const useNearbyDeviceOffer = ({
70
54
  });
71
55
  return () => {
72
56
  active = false;
57
+ declinedState.listeners.delete(notify);
73
58
  };
74
- }, [declinedStorageKey, storage]);
75
- const device = enabled && pairedIdsLoaded && declinedIds !== undefined ? devices.find(candidate => !paired.includes(candidate.id) && !declinedIds.includes(candidate.id) && !dismissedLater.has(candidate.id)) : undefined;
59
+ }, [declinedState, declinedStorageKey, storage]);
60
+ const device = enabled && pairedIdsLoaded && declinedIds !== undefined ? devices.find(candidate => !paired.includes(candidate.id) && !declinedIds.includes(candidate.id) && !dismissedLater.has(candidate.id) && (shouldOffer?.(candidate) ?? true)) : undefined;
76
61
  deviceRef.current = device;
77
62
  const deviceId = device?.id;
78
63
  const hasDevice = device !== undefined;
@@ -117,28 +102,29 @@ export const useNearbyDeviceOffer = ({
117
102
  busyRef.current = false;
118
103
  }
119
104
  }, [onError, onPaired, pair, remember]);
120
- const decline = React.useCallback(async () => {
105
+ const decline = React.useCallback(async deviceId => {
121
106
  const selected = deviceRef.current;
122
- if (!selected) {
107
+ const selectedId = deviceId ?? selected?.id;
108
+ if (!selectedId) {
123
109
  return;
124
110
  }
125
111
  try {
126
- const next = await updateDeclinedDeviceIds(storage, declinedStorageKey, ids => [...new Set([...ids, selected.id])]);
127
- setDeclinedIds(next);
112
+ const next = await updateDeclinedDeviceIds(storage, declinedStorageKey, ids => [...new Set([...ids, selectedId])]);
113
+ publishDeclinedDeviceIds(declinedState, next);
128
114
  setError(undefined);
129
115
  setStatus("idle");
130
116
  } catch (cause) {
131
117
  const normalized = toBluetoothError(cause);
132
- onError?.(normalized, selected);
118
+ onError?.(normalized, selected?.id === selectedId ? selected : undefined);
133
119
  throw normalized;
134
120
  }
135
- }, [declinedStorageKey, onError, storage]);
121
+ }, [declinedState, declinedStorageKey, onError, storage]);
136
122
  const undecline = React.useCallback(async deviceId => {
137
123
  const next = await updateDeclinedDeviceIds(storage, declinedStorageKey, ids => ids.filter(id => id !== deviceId));
138
- setDeclinedIds(next);
124
+ publishDeclinedDeviceIds(declinedState, next);
139
125
  setError(undefined);
140
126
  setStatus("idle");
141
- }, [declinedStorageKey, storage]);
127
+ }, [declinedState, declinedStorageKey, storage]);
142
128
  const later = React.useCallback(() => {
143
129
  const selected = deviceRef.current;
144
130
  if (!selected) {
@@ -1 +1 @@
1
- {"version":3,"names":["React","BluetoothError","BluetoothErrorCode","toBluetoothError","parseDeclinedDeviceIds","updateDeclinedDeviceIds","useBluetoothRuntime","useBluetoothSelector","useNearbyDevices","DEFAULT_PAIRED_DEVICE_STORAGE_KEY","usePairedDevices","dismissedLaterByRuntime","WeakMap","getDismissedLater","runtime","storageKey","byStorageKey","get","Map","set","dismissed","Set","notNearbyError","CONNECTION_FAILED","useNearbyDeviceOffer","storage","declinedStorageKey","enabled","onPaired","onError","devices","snapshot","pair","paired","remember","declinedIds","setDeclinedIds","useState","undefined","status","setStatus","error","setError","redraw","useReducer","value","busyRef","useRef","deviceRef","previousDeviceIdRef","onErrorRef","current","dismissedLater","useMemo","pairedIdsLoaded","getPairedDeviceIds","useEffect","active","Promise","resolve","then","getItem","ids","catch","cause","normalized","device","find","candidate","includes","id","has","deviceId","hasDevice","accept","useCallback","selected","missing","connected","decline","next","undecline","filter","later","add"],"sourceRoot":"../../../../../src","sources":["modules/bt-management/hooks/use-nearby-device-offer.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","toBluetoothError","getDeclinedDeviceState","loadDeclinedDeviceIds","publishDeclinedDeviceIds","updateDeclinedDeviceIds","getDismissedLater","notNearbyError","useBluetoothRuntime","useBluetoothSelector","useNearbyDevices","DEFAULT_PAIRED_DEVICE_STORAGE_KEY","usePairedDevices","useNearbyDeviceOffer","storage","storageKey","declinedStorageKey","enabled","shouldOffer","onPaired","onError","runtime","devices","snapshot","pair","paired","remember","declinedState","useMemo","declinedIds","ids","status","setStatus","useState","error","setError","undefined","redraw","useReducer","value","busyRef","useRef","deviceRef","previousDeviceIdRef","onErrorRef","current","dismissedLater","pairedIdsLoaded","getPairedDeviceIds","useEffect","active","notify","listeners","add","catch","cause","normalized","delete","device","find","candidate","includes","id","has","deviceId","hasDevice","accept","useCallback","selected","missing","connected","decline","selectedId","next","Set","undecline","filter","later"],"sourceRoot":"../../../../../src","sources":["modules/bt-management/hooks/use-nearby-device-offer.ts"],"mappings":"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","ignoreList":[]}
@@ -31,8 +31,13 @@ class BackgroundSyncCoordinator {
31
31
  enqueue = result => this.runExclusive(async () => {
32
32
  const queue = await this.readQueue();
33
33
  const stableId = result.id ?? createResultId();
34
+ const ownerKey = this.options.getOwnerKey?.();
35
+ if (typeof ownerKey !== "string" || !ownerKey.trim()) {
36
+ throw new Error("Background sync requires a stable owner key before queueing a result.");
37
+ }
34
38
  queue.push({
35
39
  queueId: createQueueId(),
40
+ ownerKey,
36
41
  queuedAt: new Date().toISOString(),
37
42
  attempt: 0,
38
43
  nextAttemptAt: 0,
@@ -89,7 +94,13 @@ class BackgroundSyncCoordinator {
89
94
  flushQueue = async (queue, options = {}) => {
90
95
  let changed = false;
91
96
  const now = Date.now();
97
+ const ownerKey = this.options.getOwnerKey?.();
92
98
  for (const item of [...queue]) {
99
+ // Legacy items have no owner and are deliberately retained. Guessing here
100
+ // could deliver one person's private reading to the next signed-in account.
101
+ if (!ownerKey || item.ownerKey !== ownerKey) {
102
+ continue;
103
+ }
93
104
  if (item.exhausted && options.resetExhausted) {
94
105
  item.attempt = 0;
95
106
  item.exhausted = false;