@ovok/native 1.5.5 → 1.6.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.
- package/README.md +27 -17
- package/app.plugin.js +104 -0
- package/lib/commonjs/index.js +11 -0
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/modules/auth/delete-account-button/components/delete-account-button.js +2 -0
- package/lib/commonjs/modules/auth/delete-account-button/components/delete-account-button.js.map +1 -1
- package/lib/commonjs/modules/auth/hooks/use-rate-limit-cooldown.js +23 -0
- package/lib/commonjs/modules/auth/hooks/use-rate-limit-cooldown.js.map +1 -0
- package/lib/commonjs/modules/auth/hooks/use-session.js +91 -0
- package/lib/commonjs/modules/auth/hooks/use-session.js.map +1 -0
- package/lib/commonjs/modules/auth/index.js +44 -0
- package/lib/commonjs/modules/auth/index.js.map +1 -1
- package/lib/commonjs/modules/auth/logout-button/components/logout-button.js +3 -1
- package/lib/commonjs/modules/auth/logout-button/components/logout-button.js.map +1 -1
- package/lib/commonjs/modules/auth/register/components/form/inputs.js +48 -1
- package/lib/commonjs/modules/auth/register/components/form/inputs.js.map +1 -1
- package/lib/commonjs/modules/auth/register/components/form/register-button.js +4 -0
- package/lib/commonjs/modules/auth/register/components/form/register-button.js.map +1 -1
- package/lib/commonjs/modules/auth/register/components/form/register-form-provider.js +6 -0
- package/lib/commonjs/modules/auth/register/components/form/register-form-provider.js.map +1 -1
- package/lib/commonjs/modules/auth/reset-password/components/form/inputs.js +12 -0
- package/lib/commonjs/modules/auth/reset-password/components/form/inputs.js.map +1 -1
- package/lib/commonjs/modules/auth/reset-password/components/form/reset-password-button.js +4 -0
- package/lib/commonjs/modules/auth/reset-password/components/form/reset-password-button.js.map +1 -1
- package/lib/commonjs/modules/auth/reset-password/components/form/reset-password-form-provider.js +7 -1
- package/lib/commonjs/modules/auth/reset-password/components/form/reset-password-form-provider.js.map +1 -1
- package/lib/commonjs/modules/auth/session/components/session-list.js +82 -0
- package/lib/commonjs/modules/auth/session/components/session-list.js.map +1 -0
- package/lib/commonjs/modules/auth/session/events.js +19 -0
- package/lib/commonjs/modules/auth/session/events.js.map +1 -0
- package/lib/commonjs/modules/auth/session/index.js +13 -0
- package/lib/commonjs/modules/auth/session/index.js.map +1 -0
- package/lib/commonjs/modules/auth/session/types/session-list-props.js +6 -0
- package/lib/commonjs/modules/auth/session/types/session-list-props.js.map +1 -0
- package/lib/commonjs/modules/auth/sign-in/components/form/inputs.js +25 -0
- package/lib/commonjs/modules/auth/sign-in/components/form/inputs.js.map +1 -1
- package/lib/commonjs/modules/auth/sign-in/components/form/login-form-provider.js +48 -1
- package/lib/commonjs/modules/auth/sign-in/components/form/login-form-provider.js.map +1 -1
- package/lib/commonjs/modules/auth/sign-in/components/form/mfa-code-input.js +58 -0
- package/lib/commonjs/modules/auth/sign-in/components/form/mfa-code-input.js.map +1 -0
- package/lib/commonjs/modules/auth/sign-in/components/form/sign-in-with-email.js +2 -0
- package/lib/commonjs/modules/auth/sign-in/components/form/sign-in-with-email.js.map +1 -1
- package/lib/commonjs/modules/auth/sign-in/components/form/signin-button.js +13 -5
- package/lib/commonjs/modules/auth/sign-in/components/form/signin-button.js.map +1 -1
- package/lib/commonjs/modules/auth/types/session.js +2 -0
- package/lib/commonjs/modules/auth/types/session.js.map +1 -0
- package/lib/commonjs/modules/auth/utils/rate-limit.js +37 -0
- package/lib/commonjs/modules/auth/utils/rate-limit.js.map +1 -0
- package/lib/commonjs/modules/background-sync/android-bluetooth-foreground-service.js +3 -2
- package/lib/commonjs/modules/background-sync/android-bluetooth-foreground-service.js.map +1 -1
- package/lib/commonjs/modules/background-sync/background-safe-storage.js +79 -0
- package/lib/commonjs/modules/background-sync/background-safe-storage.js.map +1 -0
- package/lib/commonjs/modules/background-sync/index.js +11 -0
- package/lib/commonjs/modules/background-sync/index.js.map +1 -1
- package/lib/commonjs/modules/bt-management/components/bt-provider-child-wrapper.js +123 -21
- package/lib/commonjs/modules/bt-management/components/bt-provider-child-wrapper.js.map +1 -1
- package/lib/commonjs/modules/bt-management/hooks/runtime-context.js +91 -0
- package/lib/commonjs/modules/bt-management/hooks/runtime-context.js.map +1 -0
- package/lib/commonjs/modules/bt-management/hooks/use-background-sync.js +47 -0
- package/lib/commonjs/modules/bt-management/hooks/use-background-sync.js.map +1 -0
- package/lib/commonjs/modules/bt-management/hooks/use-bluetooth-state.js +51 -0
- package/lib/commonjs/modules/bt-management/hooks/use-bluetooth-state.js.map +1 -0
- package/lib/commonjs/modules/bt-management/hooks/use-device-connection.js +36 -0
- package/lib/commonjs/modules/bt-management/hooks/use-device-connection.js.map +1 -0
- package/lib/commonjs/modules/bt-management/hooks/use-health-import.js +46 -0
- package/lib/commonjs/modules/bt-management/hooks/use-health-import.js.map +1 -0
- package/lib/commonjs/modules/bt-management/hooks/use-measurements.js +57 -0
- package/lib/commonjs/modules/bt-management/hooks/use-measurements.js.map +1 -0
- package/lib/commonjs/modules/bt-management/hooks/use-nearby-devices.js +26 -0
- package/lib/commonjs/modules/bt-management/hooks/use-nearby-devices.js.map +1 -0
- package/lib/commonjs/modules/bt-management/hooks/use-paired-devices.js +49 -0
- package/lib/commonjs/modules/bt-management/hooks/use-paired-devices.js.map +1 -0
- package/lib/commonjs/modules/bt-management/index.js +143 -0
- package/lib/commonjs/modules/bt-management/index.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/background-sync/background-sync-coordinator.js +41 -4
- package/lib/commonjs/modules/bt-management/services/background-sync/background-sync-coordinator.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/bt-manager.js +75 -4
- package/lib/commonjs/modules/bt-management/services/bt-manager.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/devices/bt-connection-handler.js +57 -0
- package/lib/commonjs/modules/bt-management/services/devices/bt-connection-handler.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/devices/bt-managed-device.js +111 -3
- package/lib/commonjs/modules/bt-management/services/devices/bt-managed-device.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/devices/measurement-state-machine.js +5 -3
- package/lib/commonjs/modules/bt-management/services/devices/measurement-state-machine.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/devices/spo/spo2.main-services.js +12 -0
- package/lib/commonjs/modules/bt-management/services/devices/spo/spo2.main-services.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/devices/veroval/veroval-activity-sequencer.js +9 -3
- package/lib/commonjs/modules/bt-management/services/devices/veroval/veroval-activity-sequencer.js.map +1 -1
- package/lib/commonjs/modules/bt-management/testing/fake-ble-manager.js +52 -0
- package/lib/commonjs/modules/bt-management/testing/fake-ble-manager.js.map +1 -0
- package/lib/commonjs/modules/bt-management/testing/index.js +28 -0
- package/lib/commonjs/modules/bt-management/testing/index.js.map +1 -0
- package/lib/commonjs/modules/bt-management/testing/recorded-frames.js +23 -0
- package/lib/commonjs/modules/bt-management/testing/recorded-frames.js.map +1 -0
- package/lib/commonjs/modules/bt-management/types/bluetooth-error.js +80 -0
- package/lib/commonjs/modules/bt-management/types/bluetooth-error.js.map +1 -0
- package/lib/commonjs/modules/bt-management/types/device-connection-event.js +6 -0
- package/lib/commonjs/modules/bt-management/types/device-connection-event.js.map +1 -0
- package/lib/commonjs/modules/bt-management/types/result-policy.js +6 -0
- package/lib/commonjs/modules/bt-management/types/result-policy.js.map +1 -0
- package/lib/commonjs/modules/bt-management/utils/result-identity.js +63 -0
- package/lib/commonjs/modules/bt-management/utils/result-identity.js.map +1 -0
- package/lib/commonjs/modules/data-sync/components/android/android-health-connect-authorization-provider.js +8 -2
- package/lib/commonjs/modules/data-sync/components/android/android-health-connect-authorization-provider.js.map +1 -1
- package/lib/commonjs/modules/data-sync/services/base-health-sync-service.js +23 -4
- package/lib/commonjs/modules/data-sync/services/base-health-sync-service.js.map +1 -1
- package/lib/commonjs/modules/data-sync/services/managers/data-processor.js +2 -2
- package/lib/commonjs/modules/data-sync/services/managers/data-processor.js.map +1 -1
- package/lib/commonjs/modules/data-sync/services/managers/sync-progress-manager.js +1 -1
- package/lib/commonjs/modules/data-sync/services/managers/sync-progress-manager.js.map +1 -1
- package/lib/commonjs/modules/data-sync/utils/retry-save.js +65 -0
- package/lib/commonjs/modules/data-sync/utils/retry-save.js.map +1 -0
- package/lib/commonjs/modules/helpers/form-items/form-field.js +2 -0
- package/lib/commonjs/modules/helpers/form-items/form-field.js.map +1 -1
- package/lib/commonjs/modules/helpers/index.js +12 -0
- package/lib/commonjs/modules/helpers/index.js.map +1 -1
- package/lib/commonjs/modules/helpers/utils/s-log.js +4 -13
- package/lib/commonjs/modules/helpers/utils/s-log.js.map +1 -1
- package/lib/commonjs/modules/helpers/utils/sentry-logger.js +28 -17
- package/lib/commonjs/modules/helpers/utils/sentry-logger.js.map +1 -1
- package/lib/commonjs/modules/helpers/utils/telemetry.js +143 -0
- package/lib/commonjs/modules/helpers/utils/telemetry.js.map +1 -0
- package/lib/commonjs/modules/image/components/optimized-image.js +24 -2
- package/lib/commonjs/modules/image/components/optimized-image.js.map +1 -1
- package/lib/commonjs/modules/questionnaire-response-form/components/content/questionnaire-content-error.js +18 -9
- package/lib/commonjs/modules/questionnaire-response-form/components/content/questionnaire-content-error.js.map +1 -1
- package/lib/commonjs/modules/questionnaire-response-form/components/navigation/questionnaire-navigation-next-button.js +3 -2
- package/lib/commonjs/modules/questionnaire-response-form/components/navigation/questionnaire-navigation-next-button.js.map +1 -1
- package/lib/commonjs/modules/questionnaire-response-form/components/navigation/questionnaire-navigation-submit-button.js +4 -2
- package/lib/commonjs/modules/questionnaire-response-form/components/navigation/questionnaire-navigation-submit-button.js.map +1 -1
- package/lib/commonjs/modules/questionnaire-response-form/components/questionnaire-form-provider.js +42 -17
- package/lib/commonjs/modules/questionnaire-response-form/components/questionnaire-form-provider.js.map +1 -1
- package/lib/commonjs/modules/questionnaire-response-form/components/questionnaire-navigation-provider.js +2 -1
- package/lib/commonjs/modules/questionnaire-response-form/components/questionnaire-navigation-provider.js.map +1 -1
- package/lib/commonjs/modules/questionnaire-response-form/contexts/questionnaire-navigation-context.js.map +1 -1
- package/lib/commonjs/modules/tile/components/task-icon.js +2 -1
- package/lib/commonjs/modules/tile/components/task-icon.js.map +1 -1
- package/lib/commonjs/modules/ui/components/background-sync-setting.js +113 -0
- package/lib/commonjs/modules/ui/components/background-sync-setting.js.map +1 -0
- package/lib/commonjs/modules/ui/components/bluetooth-state-notice.js +105 -0
- package/lib/commonjs/modules/ui/components/bluetooth-state-notice.js.map +1 -0
- package/lib/commonjs/modules/ui/components/ecg-strip-viewer.js +165 -0
- package/lib/commonjs/modules/ui/components/ecg-strip-viewer.js.map +1 -0
- package/lib/commonjs/modules/ui/components/health-import-card.js +130 -0
- package/lib/commonjs/modules/ui/components/health-import-card.js.map +1 -0
- package/lib/commonjs/modules/ui/components/manual-entry-form.js +123 -0
- package/lib/commonjs/modules/ui/components/manual-entry-form.js.map +1 -0
- package/lib/commonjs/modules/ui/components/pairing-flow.js +222 -0
- package/lib/commonjs/modules/ui/components/pairing-flow.js.map +1 -0
- package/lib/commonjs/modules/ui/components/supported-devices-catalog-list.js +99 -0
- package/lib/commonjs/modules/ui/components/supported-devices-catalog-list.js.map +1 -0
- package/lib/commonjs/modules/ui/components/urine-test-result.js +94 -0
- package/lib/commonjs/modules/ui/components/urine-test-result.js.map +1 -0
- package/lib/commonjs/modules/ui/index.js +116 -0
- package/lib/commonjs/modules/ui/index.js.map +1 -0
- package/lib/commonjs/modules/ui/types.js +6 -0
- package/lib/commonjs/modules/ui/types.js.map +1 -0
- package/lib/commonjs/modules/ui/use-ovok-ui.js +51 -0
- package/lib/commonjs/modules/ui/use-ovok-ui.js.map +1 -0
- package/lib/module/index.js +1 -0
- package/lib/module/index.js.map +1 -1
- package/lib/module/modules/auth/delete-account-button/components/delete-account-button.js +2 -0
- package/lib/module/modules/auth/delete-account-button/components/delete-account-button.js.map +1 -1
- package/lib/module/modules/auth/hooks/use-rate-limit-cooldown.js +17 -0
- package/lib/module/modules/auth/hooks/use-rate-limit-cooldown.js.map +1 -0
- package/lib/module/modules/auth/hooks/use-session.js +85 -0
- package/lib/module/modules/auth/hooks/use-session.js.map +1 -0
- package/lib/module/modules/auth/index.js +4 -0
- package/lib/module/modules/auth/index.js.map +1 -1
- package/lib/module/modules/auth/logout-button/components/logout-button.js +3 -1
- package/lib/module/modules/auth/logout-button/components/logout-button.js.map +1 -1
- package/lib/module/modules/auth/register/components/form/inputs.js +48 -1
- package/lib/module/modules/auth/register/components/form/inputs.js.map +1 -1
- package/lib/module/modules/auth/register/components/form/register-button.js +4 -0
- package/lib/module/modules/auth/register/components/form/register-button.js.map +1 -1
- package/lib/module/modules/auth/register/components/form/register-form-provider.js +6 -0
- package/lib/module/modules/auth/register/components/form/register-form-provider.js.map +1 -1
- package/lib/module/modules/auth/reset-password/components/form/inputs.js +12 -0
- package/lib/module/modules/auth/reset-password/components/form/inputs.js.map +1 -1
- package/lib/module/modules/auth/reset-password/components/form/reset-password-button.js +4 -0
- package/lib/module/modules/auth/reset-password/components/form/reset-password-button.js.map +1 -1
- package/lib/module/modules/auth/reset-password/components/form/reset-password-form-provider.js +7 -1
- package/lib/module/modules/auth/reset-password/components/form/reset-password-form-provider.js.map +1 -1
- package/lib/module/modules/auth/session/components/session-list.js +76 -0
- package/lib/module/modules/auth/session/components/session-list.js.map +1 -0
- package/lib/module/modules/auth/session/events.js +13 -0
- package/lib/module/modules/auth/session/events.js.map +1 -0
- package/lib/module/modules/auth/session/index.js +4 -0
- package/lib/module/modules/auth/session/index.js.map +1 -0
- package/lib/module/modules/auth/session/types/session-list-props.js +4 -0
- package/lib/module/modules/auth/session/types/session-list-props.js.map +1 -0
- package/lib/module/modules/auth/sign-in/components/form/inputs.js +25 -0
- package/lib/module/modules/auth/sign-in/components/form/inputs.js.map +1 -1
- package/lib/module/modules/auth/sign-in/components/form/login-form-provider.js +48 -1
- package/lib/module/modules/auth/sign-in/components/form/login-form-provider.js.map +1 -1
- package/lib/module/modules/auth/sign-in/components/form/mfa-code-input.js +52 -0
- package/lib/module/modules/auth/sign-in/components/form/mfa-code-input.js.map +1 -0
- package/lib/module/modules/auth/sign-in/components/form/sign-in-with-email.js +2 -0
- package/lib/module/modules/auth/sign-in/components/form/sign-in-with-email.js.map +1 -1
- package/lib/module/modules/auth/sign-in/components/form/signin-button.js +13 -5
- package/lib/module/modules/auth/sign-in/components/form/signin-button.js.map +1 -1
- package/lib/module/modules/auth/types/session.js +2 -0
- package/lib/module/modules/auth/types/session.js.map +1 -0
- package/lib/module/modules/auth/utils/rate-limit.js +31 -0
- package/lib/module/modules/auth/utils/rate-limit.js.map +1 -0
- package/lib/module/modules/background-sync/android-bluetooth-foreground-service.js +3 -2
- package/lib/module/modules/background-sync/android-bluetooth-foreground-service.js.map +1 -1
- package/lib/module/modules/background-sync/background-safe-storage.js +74 -0
- package/lib/module/modules/background-sync/background-safe-storage.js.map +1 -0
- package/lib/module/modules/background-sync/index.js +1 -0
- package/lib/module/modules/background-sync/index.js.map +1 -1
- package/lib/module/modules/bt-management/components/bt-provider-child-wrapper.js +123 -21
- package/lib/module/modules/bt-management/components/bt-provider-child-wrapper.js.map +1 -1
- package/lib/module/modules/bt-management/hooks/runtime-context.js +82 -0
- package/lib/module/modules/bt-management/hooks/runtime-context.js.map +1 -0
- package/lib/module/modules/bt-management/hooks/use-background-sync.js +41 -0
- package/lib/module/modules/bt-management/hooks/use-background-sync.js.map +1 -0
- package/lib/module/modules/bt-management/hooks/use-bluetooth-state.js +45 -0
- package/lib/module/modules/bt-management/hooks/use-bluetooth-state.js.map +1 -0
- package/lib/module/modules/bt-management/hooks/use-device-connection.js +30 -0
- package/lib/module/modules/bt-management/hooks/use-device-connection.js.map +1 -0
- package/lib/module/modules/bt-management/hooks/use-health-import.js +40 -0
- package/lib/module/modules/bt-management/hooks/use-health-import.js.map +1 -0
- package/lib/module/modules/bt-management/hooks/use-measurements.js +51 -0
- package/lib/module/modules/bt-management/hooks/use-measurements.js.map +1 -0
- package/lib/module/modules/bt-management/hooks/use-nearby-devices.js +20 -0
- package/lib/module/modules/bt-management/hooks/use-nearby-devices.js.map +1 -0
- package/lib/module/modules/bt-management/hooks/use-paired-devices.js +43 -0
- package/lib/module/modules/bt-management/hooks/use-paired-devices.js.map +1 -0
- package/lib/module/modules/bt-management/index.js +13 -0
- package/lib/module/modules/bt-management/index.js.map +1 -1
- package/lib/module/modules/bt-management/services/background-sync/background-sync-coordinator.js +41 -4
- package/lib/module/modules/bt-management/services/background-sync/background-sync-coordinator.js.map +1 -1
- package/lib/module/modules/bt-management/services/bt-manager.js +75 -4
- package/lib/module/modules/bt-management/services/bt-manager.js.map +1 -1
- package/lib/module/modules/bt-management/services/devices/bt-connection-handler.js +57 -0
- package/lib/module/modules/bt-management/services/devices/bt-connection-handler.js.map +1 -1
- package/lib/module/modules/bt-management/services/devices/bt-managed-device.js +111 -3
- package/lib/module/modules/bt-management/services/devices/bt-managed-device.js.map +1 -1
- package/lib/module/modules/bt-management/services/devices/measurement-state-machine.js +5 -3
- package/lib/module/modules/bt-management/services/devices/measurement-state-machine.js.map +1 -1
- package/lib/module/modules/bt-management/services/devices/spo/spo2.main-services.js +12 -0
- package/lib/module/modules/bt-management/services/devices/spo/spo2.main-services.js.map +1 -1
- package/lib/module/modules/bt-management/services/devices/veroval/veroval-activity-sequencer.js +9 -3
- package/lib/module/modules/bt-management/services/devices/veroval/veroval-activity-sequencer.js.map +1 -1
- package/lib/module/modules/bt-management/testing/fake-ble-manager.js +48 -0
- package/lib/module/modules/bt-management/testing/fake-ble-manager.js.map +1 -0
- package/lib/module/modules/bt-management/testing/index.js +5 -0
- package/lib/module/modules/bt-management/testing/index.js.map +1 -0
- package/lib/module/modules/bt-management/testing/recorded-frames.js +17 -0
- package/lib/module/modules/bt-management/testing/recorded-frames.js.map +1 -0
- package/lib/module/modules/bt-management/types/bluetooth-error.js +74 -0
- package/lib/module/modules/bt-management/types/bluetooth-error.js.map +1 -0
- package/lib/module/modules/bt-management/types/device-connection-event.js +4 -0
- package/lib/module/modules/bt-management/types/device-connection-event.js.map +1 -0
- package/lib/module/modules/bt-management/types/device-measurement-map.js.map +1 -1
- package/lib/module/modules/bt-management/types/result-policy.js +4 -0
- package/lib/module/modules/bt-management/types/result-policy.js.map +1 -0
- package/lib/module/modules/bt-management/utils/result-identity.js +57 -0
- package/lib/module/modules/bt-management/utils/result-identity.js.map +1 -0
- package/lib/module/modules/data-sync/components/android/android-health-connect-authorization-provider.js +8 -2
- package/lib/module/modules/data-sync/components/android/android-health-connect-authorization-provider.js.map +1 -1
- package/lib/module/modules/data-sync/services/base-health-sync-service.js +23 -4
- package/lib/module/modules/data-sync/services/base-health-sync-service.js.map +1 -1
- package/lib/module/modules/data-sync/services/managers/data-processor.js +2 -2
- package/lib/module/modules/data-sync/services/managers/data-processor.js.map +1 -1
- package/lib/module/modules/data-sync/services/managers/sync-progress-manager.js +1 -1
- package/lib/module/modules/data-sync/services/managers/sync-progress-manager.js.map +1 -1
- package/lib/module/modules/data-sync/utils/retry-save.js +60 -0
- package/lib/module/modules/data-sync/utils/retry-save.js.map +1 -0
- package/lib/module/modules/helpers/form-items/form-field.js +2 -0
- package/lib/module/modules/helpers/form-items/form-field.js.map +1 -1
- package/lib/module/modules/helpers/index.js +1 -0
- package/lib/module/modules/helpers/index.js.map +1 -1
- package/lib/module/modules/helpers/utils/s-log.js +4 -12
- package/lib/module/modules/helpers/utils/s-log.js.map +1 -1
- package/lib/module/modules/helpers/utils/sentry-logger.js +26 -14
- package/lib/module/modules/helpers/utils/sentry-logger.js.map +1 -1
- package/lib/module/modules/helpers/utils/telemetry.js +131 -0
- package/lib/module/modules/helpers/utils/telemetry.js.map +1 -0
- package/lib/module/modules/image/components/optimized-image.js +25 -3
- package/lib/module/modules/image/components/optimized-image.js.map +1 -1
- package/lib/module/modules/questionnaire-response-form/components/content/questionnaire-content-error.js +20 -11
- package/lib/module/modules/questionnaire-response-form/components/content/questionnaire-content-error.js.map +1 -1
- package/lib/module/modules/questionnaire-response-form/components/navigation/questionnaire-navigation-next-button.js +3 -2
- package/lib/module/modules/questionnaire-response-form/components/navigation/questionnaire-navigation-next-button.js.map +1 -1
- package/lib/module/modules/questionnaire-response-form/components/navigation/questionnaire-navigation-submit-button.js +4 -2
- package/lib/module/modules/questionnaire-response-form/components/navigation/questionnaire-navigation-submit-button.js.map +1 -1
- package/lib/module/modules/questionnaire-response-form/components/questionnaire-form-provider.js +42 -17
- package/lib/module/modules/questionnaire-response-form/components/questionnaire-form-provider.js.map +1 -1
- package/lib/module/modules/questionnaire-response-form/components/questionnaire-navigation-provider.js +2 -1
- package/lib/module/modules/questionnaire-response-form/components/questionnaire-navigation-provider.js.map +1 -1
- package/lib/module/modules/questionnaire-response-form/contexts/questionnaire-navigation-context.js.map +1 -1
- package/lib/module/modules/tile/components/task-icon.js +2 -1
- package/lib/module/modules/tile/components/task-icon.js.map +1 -1
- package/lib/module/modules/ui/components/background-sync-setting.js +107 -0
- package/lib/module/modules/ui/components/background-sync-setting.js.map +1 -0
- package/lib/module/modules/ui/components/bluetooth-state-notice.js +99 -0
- package/lib/module/modules/ui/components/bluetooth-state-notice.js.map +1 -0
- package/lib/module/modules/ui/components/ecg-strip-viewer.js +159 -0
- package/lib/module/modules/ui/components/ecg-strip-viewer.js.map +1 -0
- package/lib/module/modules/ui/components/health-import-card.js +124 -0
- package/lib/module/modules/ui/components/health-import-card.js.map +1 -0
- package/lib/module/modules/ui/components/manual-entry-form.js +117 -0
- package/lib/module/modules/ui/components/manual-entry-form.js.map +1 -0
- package/lib/module/modules/ui/components/pairing-flow.js +216 -0
- package/lib/module/modules/ui/components/pairing-flow.js.map +1 -0
- package/lib/module/modules/ui/components/supported-devices-catalog-list.js +93 -0
- package/lib/module/modules/ui/components/supported-devices-catalog-list.js.map +1 -0
- package/lib/module/modules/ui/components/urine-test-result.js +89 -0
- package/lib/module/modules/ui/components/urine-test-result.js.map +1 -0
- package/lib/module/modules/ui/index.js +13 -0
- package/lib/module/modules/ui/index.js.map +1 -0
- package/lib/module/modules/ui/types.js +4 -0
- package/lib/module/modules/ui/types.js.map +1 -0
- package/lib/module/modules/ui/use-ovok-ui.js +45 -0
- package/lib/module/modules/ui/use-ovok-ui.js.map +1 -0
- package/lib/typescript/commonjs/src/index.d.ts +1 -0
- package/lib/typescript/commonjs/src/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/auth/delete-account-button/components/delete-account-button.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/auth/hooks/use-rate-limit-cooldown.d.ts +2 -0
- package/lib/typescript/commonjs/src/modules/auth/hooks/use-rate-limit-cooldown.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/auth/hooks/use-session.d.ts +16 -0
- package/lib/typescript/commonjs/src/modules/auth/hooks/use-session.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/auth/index.d.ts +4 -0
- package/lib/typescript/commonjs/src/modules/auth/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/auth/logout-button/components/logout-button.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/auth/register/components/form/inputs.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/auth/register/components/form/register-button.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/auth/register/components/form/register-form-provider.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/auth/reset-password/components/form/inputs.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/auth/reset-password/components/form/reset-password-button.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/auth/reset-password/components/form/reset-password-form-provider.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/auth/session/components/session-list.d.ts +4 -0
- package/lib/typescript/commonjs/src/modules/auth/session/components/session-list.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/auth/session/events.d.ts +5 -0
- package/lib/typescript/commonjs/src/modules/auth/session/events.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/auth/session/index.d.ts +3 -0
- package/lib/typescript/commonjs/src/modules/auth/session/index.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/auth/session/types/session-list-props.d.ts +5 -0
- package/lib/typescript/commonjs/src/modules/auth/session/types/session-list-props.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/auth/sign-in/components/form/inputs.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/auth/sign-in/components/form/login-form-provider.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/auth/sign-in/components/form/mfa-code-input.d.ts +9 -0
- package/lib/typescript/commonjs/src/modules/auth/sign-in/components/form/mfa-code-input.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/auth/sign-in/components/form/sign-in-with-email.d.ts +4 -0
- package/lib/typescript/commonjs/src/modules/auth/sign-in/components/form/sign-in-with-email.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/auth/sign-in/components/form/signin-button.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/auth/sign-in/components/sign-in.d.ts +4 -0
- package/lib/typescript/commonjs/src/modules/auth/sign-in/components/sign-in.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/auth/sign-in/contexts/login-form-context.d.ts +2 -46
- package/lib/typescript/commonjs/src/modules/auth/sign-in/contexts/login-form-context.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/auth/sign-in/hooks/use-login-form.d.ts +1 -47
- package/lib/typescript/commonjs/src/modules/auth/sign-in/hooks/use-login-form.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/auth/sign-in/types/login-form-context-type.d.ts +11 -1
- package/lib/typescript/commonjs/src/modules/auth/sign-in/types/login-form-context-type.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/auth/types/session.d.ts +13 -0
- package/lib/typescript/commonjs/src/modules/auth/types/session.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/auth/utils/rate-limit.d.ts +11 -0
- package/lib/typescript/commonjs/src/modules/auth/utils/rate-limit.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/background-sync/android-bluetooth-foreground-service.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/background-sync/background-safe-storage.d.ts +29 -0
- package/lib/typescript/commonjs/src/modules/background-sync/background-safe-storage.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/background-sync/index.d.ts +1 -0
- package/lib/typescript/commonjs/src/modules/background-sync/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/components/bt-provider-child-wrapper.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/hooks/runtime-context.d.ts +46 -0
- package/lib/typescript/commonjs/src/modules/bt-management/hooks/runtime-context.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/hooks/use-background-sync.d.ts +14 -0
- package/lib/typescript/commonjs/src/modules/bt-management/hooks/use-background-sync.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/hooks/use-bluetooth-state.d.ts +11 -0
- package/lib/typescript/commonjs/src/modules/bt-management/hooks/use-bluetooth-state.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/hooks/use-device-connection.d.ts +7 -0
- package/lib/typescript/commonjs/src/modules/bt-management/hooks/use-device-connection.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/hooks/use-health-import.d.ts +16 -0
- package/lib/typescript/commonjs/src/modules/bt-management/hooks/use-health-import.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/hooks/use-measurements.d.ts +11 -0
- package/lib/typescript/commonjs/src/modules/bt-management/hooks/use-measurements.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/hooks/use-nearby-devices.d.ts +8 -0
- package/lib/typescript/commonjs/src/modules/bt-management/hooks/use-nearby-devices.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/hooks/use-paired-devices.d.ts +16 -0
- package/lib/typescript/commonjs/src/modules/bt-management/hooks/use-paired-devices.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/index.d.ts +13 -0
- package/lib/typescript/commonjs/src/modules/bt-management/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/background-sync/background-sync-coordinator.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/bt-manager.d.ts +22 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/bt-manager.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bt-connection-handler.d.ts +4 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bt-connection-handler.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bt-managed-device.d.ts +9 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bt-managed-device.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/measurement-state-machine.d.ts +3 -2
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/measurement-state-machine.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/spo/spo2.main-services.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/veroval/veroval-activity-sequencer.d.ts +2 -0
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/veroval/veroval-activity-sequencer.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/testing/fake-ble-manager.d.ts +16 -0
- package/lib/typescript/commonjs/src/modules/bt-management/testing/fake-ble-manager.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/testing/index.d.ts +3 -0
- package/lib/typescript/commonjs/src/modules/bt-management/testing/index.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/testing/recorded-frames.d.ts +12 -0
- package/lib/typescript/commonjs/src/modules/bt-management/testing/recorded-frames.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/types/background-sync.d.ts +3 -1
- package/lib/typescript/commonjs/src/modules/bt-management/types/background-sync.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/types/bluetooth-error.d.ts +23 -0
- package/lib/typescript/commonjs/src/modules/bt-management/types/bluetooth-error.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/types/btprovider-children-props.d.ts +4 -0
- package/lib/typescript/commonjs/src/modules/bt-management/types/btprovider-children-props.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/types/create-device-params.d.ts +4 -0
- package/lib/typescript/commonjs/src/modules/bt-management/types/create-device-params.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/types/device-connection-event.d.ts +16 -0
- package/lib/typescript/commonjs/src/modules/bt-management/types/device-connection-event.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/types/device-measurement-map.d.ts +2 -0
- package/lib/typescript/commonjs/src/modules/bt-management/types/device-measurement-map.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/types/error-callback.d.ts +5 -2
- package/lib/typescript/commonjs/src/modules/bt-management/types/error-callback.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/types/i-bt-managed-device.d.ts +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/types/i-bt-managed-device.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/types/result-callback.d.ts +2 -0
- package/lib/typescript/commonjs/src/modules/bt-management/types/result-callback.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/types/result-policy.d.ts +8 -0
- package/lib/typescript/commonjs/src/modules/bt-management/types/result-policy.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/utils/result-identity.d.ts +10 -0
- package/lib/typescript/commonjs/src/modules/bt-management/utils/result-identity.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/data-sync/components/android/android-health-connect-authorization-provider.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/data-sync/services/base-health-sync-service.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/data-sync/services/managers/data-processor.d.ts +4 -0
- package/lib/typescript/commonjs/src/modules/data-sync/services/managers/data-processor.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/data-sync/services/managers/sync-progress-manager.d.ts +1 -1
- package/lib/typescript/commonjs/src/modules/data-sync/types/health-authorization-status.d.ts +2 -0
- package/lib/typescript/commonjs/src/modules/data-sync/types/health-authorization-status.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/data-sync/types/sync-progress.d.ts +1 -1
- package/lib/typescript/commonjs/src/modules/data-sync/types/sync-progress.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/data-sync/utils/retry-save.d.ts +5 -0
- package/lib/typescript/commonjs/src/modules/data-sync/utils/retry-save.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/helpers/form-items/form-field.d.ts +4 -1
- package/lib/typescript/commonjs/src/modules/helpers/form-items/form-field.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/helpers/index.d.ts +1 -0
- package/lib/typescript/commonjs/src/modules/helpers/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/helpers/utils/s-log.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/helpers/utils/sentry-logger.d.ts +7 -1
- package/lib/typescript/commonjs/src/modules/helpers/utils/sentry-logger.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/helpers/utils/telemetry.d.ts +68 -0
- package/lib/typescript/commonjs/src/modules/helpers/utils/telemetry.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/image/components/optimized-image.d.ts +1 -1
- package/lib/typescript/commonjs/src/modules/image/components/optimized-image.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/image/types/optimized-image-props.d.ts +4 -0
- package/lib/typescript/commonjs/src/modules/image/types/optimized-image-props.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/questionnaire-response-form/components/content/questionnaire-content-error.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/questionnaire-response-form/components/navigation/questionnaire-navigation-next-button.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/questionnaire-response-form/components/navigation/questionnaire-navigation-submit-button.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/questionnaire-response-form/components/questionnaire-form-provider.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/questionnaire-response-form/components/questionnaire-navigation-provider.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/questionnaire-response-form/contexts/questionnaire-navigation-context.d.ts +1 -0
- package/lib/typescript/commonjs/src/modules/questionnaire-response-form/contexts/questionnaire-navigation-context.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/questionnaire-response-form/hooks/use-navigation-handlers.d.ts +1 -0
- package/lib/typescript/commonjs/src/modules/questionnaire-response-form/hooks/use-navigation-handlers.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/questionnaire-response-form/hooks/use-questionnaire-navigation.d.ts +1 -0
- package/lib/typescript/commonjs/src/modules/questionnaire-response-form/hooks/use-questionnaire-navigation.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/questionnaire-response-form/types/questionnaire-form-context-type.d.ts +2 -0
- package/lib/typescript/commonjs/src/modules/questionnaire-response-form/types/questionnaire-form-context-type.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/questionnaire-response-form/types/questionnaire-navigation-provider-props.d.ts +1 -0
- package/lib/typescript/commonjs/src/modules/questionnaire-response-form/types/questionnaire-navigation-provider-props.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/tile/components/task-icon.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/ui/components/background-sync-setting.d.ts +9 -0
- package/lib/typescript/commonjs/src/modules/ui/components/background-sync-setting.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/ui/components/bluetooth-state-notice.d.ts +12 -0
- package/lib/typescript/commonjs/src/modules/ui/components/bluetooth-state-notice.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/ui/components/ecg-strip-viewer.d.ts +17 -0
- package/lib/typescript/commonjs/src/modules/ui/components/ecg-strip-viewer.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/ui/components/health-import-card.d.ts +13 -0
- package/lib/typescript/commonjs/src/modules/ui/components/health-import-card.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/ui/components/manual-entry-form.d.ts +20 -0
- package/lib/typescript/commonjs/src/modules/ui/components/manual-entry-form.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/ui/components/pairing-flow.d.ts +15 -0
- package/lib/typescript/commonjs/src/modules/ui/components/pairing-flow.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/ui/components/supported-devices-catalog-list.d.ts +16 -0
- package/lib/typescript/commonjs/src/modules/ui/components/supported-devices-catalog-list.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/ui/components/urine-test-result.d.ts +10 -0
- package/lib/typescript/commonjs/src/modules/ui/components/urine-test-result.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/ui/index.d.ts +11 -0
- package/lib/typescript/commonjs/src/modules/ui/index.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/ui/types.d.ts +24 -0
- package/lib/typescript/commonjs/src/modules/ui/types.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/ui/use-ovok-ui.d.ts +7 -0
- package/lib/typescript/commonjs/src/modules/ui/use-ovok-ui.d.ts.map +1 -0
- package/lib/typescript/module/src/index.d.ts +1 -0
- package/lib/typescript/module/src/index.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/auth/delete-account-button/components/delete-account-button.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/auth/hooks/use-rate-limit-cooldown.d.ts +2 -0
- package/lib/typescript/module/src/modules/auth/hooks/use-rate-limit-cooldown.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/auth/hooks/use-session.d.ts +16 -0
- package/lib/typescript/module/src/modules/auth/hooks/use-session.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/auth/index.d.ts +4 -0
- package/lib/typescript/module/src/modules/auth/index.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/auth/logout-button/components/logout-button.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/auth/register/components/form/inputs.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/auth/register/components/form/register-button.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/auth/register/components/form/register-form-provider.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/auth/reset-password/components/form/inputs.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/auth/reset-password/components/form/reset-password-button.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/auth/reset-password/components/form/reset-password-form-provider.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/auth/session/components/session-list.d.ts +4 -0
- package/lib/typescript/module/src/modules/auth/session/components/session-list.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/auth/session/events.d.ts +5 -0
- package/lib/typescript/module/src/modules/auth/session/events.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/auth/session/index.d.ts +3 -0
- package/lib/typescript/module/src/modules/auth/session/index.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/auth/session/types/session-list-props.d.ts +5 -0
- package/lib/typescript/module/src/modules/auth/session/types/session-list-props.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/auth/sign-in/components/form/inputs.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/auth/sign-in/components/form/login-form-provider.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/auth/sign-in/components/form/mfa-code-input.d.ts +9 -0
- package/lib/typescript/module/src/modules/auth/sign-in/components/form/mfa-code-input.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/auth/sign-in/components/form/sign-in-with-email.d.ts +4 -0
- package/lib/typescript/module/src/modules/auth/sign-in/components/form/sign-in-with-email.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/auth/sign-in/components/form/signin-button.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/auth/sign-in/components/sign-in.d.ts +4 -0
- package/lib/typescript/module/src/modules/auth/sign-in/components/sign-in.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/auth/sign-in/contexts/login-form-context.d.ts +2 -46
- package/lib/typescript/module/src/modules/auth/sign-in/contexts/login-form-context.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/auth/sign-in/hooks/use-login-form.d.ts +1 -47
- package/lib/typescript/module/src/modules/auth/sign-in/hooks/use-login-form.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/auth/sign-in/types/login-form-context-type.d.ts +11 -1
- package/lib/typescript/module/src/modules/auth/sign-in/types/login-form-context-type.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/auth/types/session.d.ts +13 -0
- package/lib/typescript/module/src/modules/auth/types/session.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/auth/utils/rate-limit.d.ts +11 -0
- package/lib/typescript/module/src/modules/auth/utils/rate-limit.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/background-sync/android-bluetooth-foreground-service.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/background-sync/background-safe-storage.d.ts +29 -0
- package/lib/typescript/module/src/modules/background-sync/background-safe-storage.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/background-sync/index.d.ts +1 -0
- package/lib/typescript/module/src/modules/background-sync/index.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/components/bt-provider-child-wrapper.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/hooks/runtime-context.d.ts +46 -0
- package/lib/typescript/module/src/modules/bt-management/hooks/runtime-context.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/hooks/use-background-sync.d.ts +14 -0
- package/lib/typescript/module/src/modules/bt-management/hooks/use-background-sync.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/hooks/use-bluetooth-state.d.ts +11 -0
- package/lib/typescript/module/src/modules/bt-management/hooks/use-bluetooth-state.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/hooks/use-device-connection.d.ts +7 -0
- package/lib/typescript/module/src/modules/bt-management/hooks/use-device-connection.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/hooks/use-health-import.d.ts +16 -0
- package/lib/typescript/module/src/modules/bt-management/hooks/use-health-import.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/hooks/use-measurements.d.ts +11 -0
- package/lib/typescript/module/src/modules/bt-management/hooks/use-measurements.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/hooks/use-nearby-devices.d.ts +8 -0
- package/lib/typescript/module/src/modules/bt-management/hooks/use-nearby-devices.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/hooks/use-paired-devices.d.ts +16 -0
- package/lib/typescript/module/src/modules/bt-management/hooks/use-paired-devices.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/index.d.ts +13 -0
- package/lib/typescript/module/src/modules/bt-management/index.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/background-sync/background-sync-coordinator.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/bt-manager.d.ts +22 -0
- package/lib/typescript/module/src/modules/bt-management/services/bt-manager.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/devices/bt-connection-handler.d.ts +4 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/bt-connection-handler.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/devices/bt-managed-device.d.ts +9 -1
- package/lib/typescript/module/src/modules/bt-management/services/devices/bt-managed-device.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/devices/measurement-state-machine.d.ts +3 -2
- package/lib/typescript/module/src/modules/bt-management/services/devices/measurement-state-machine.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/devices/spo/spo2.main-services.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/devices/veroval/veroval-activity-sequencer.d.ts +2 -0
- package/lib/typescript/module/src/modules/bt-management/services/devices/veroval/veroval-activity-sequencer.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/testing/fake-ble-manager.d.ts +16 -0
- package/lib/typescript/module/src/modules/bt-management/testing/fake-ble-manager.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/testing/index.d.ts +3 -0
- package/lib/typescript/module/src/modules/bt-management/testing/index.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/testing/recorded-frames.d.ts +12 -0
- package/lib/typescript/module/src/modules/bt-management/testing/recorded-frames.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/types/background-sync.d.ts +3 -1
- package/lib/typescript/module/src/modules/bt-management/types/background-sync.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/types/bluetooth-error.d.ts +23 -0
- package/lib/typescript/module/src/modules/bt-management/types/bluetooth-error.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/types/btprovider-children-props.d.ts +4 -0
- package/lib/typescript/module/src/modules/bt-management/types/btprovider-children-props.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/types/create-device-params.d.ts +4 -0
- package/lib/typescript/module/src/modules/bt-management/types/create-device-params.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/types/device-connection-event.d.ts +16 -0
- package/lib/typescript/module/src/modules/bt-management/types/device-connection-event.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/types/device-measurement-map.d.ts +2 -0
- package/lib/typescript/module/src/modules/bt-management/types/device-measurement-map.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/types/error-callback.d.ts +5 -2
- package/lib/typescript/module/src/modules/bt-management/types/error-callback.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/types/i-bt-managed-device.d.ts +1 -0
- package/lib/typescript/module/src/modules/bt-management/types/i-bt-managed-device.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/types/result-callback.d.ts +2 -0
- package/lib/typescript/module/src/modules/bt-management/types/result-callback.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/types/result-policy.d.ts +8 -0
- package/lib/typescript/module/src/modules/bt-management/types/result-policy.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/utils/result-identity.d.ts +10 -0
- package/lib/typescript/module/src/modules/bt-management/utils/result-identity.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/data-sync/components/android/android-health-connect-authorization-provider.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/data-sync/services/base-health-sync-service.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/data-sync/services/managers/data-processor.d.ts +4 -0
- package/lib/typescript/module/src/modules/data-sync/services/managers/data-processor.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/data-sync/services/managers/sync-progress-manager.d.ts +1 -1
- package/lib/typescript/module/src/modules/data-sync/types/health-authorization-status.d.ts +2 -0
- package/lib/typescript/module/src/modules/data-sync/types/health-authorization-status.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/data-sync/types/sync-progress.d.ts +1 -1
- package/lib/typescript/module/src/modules/data-sync/types/sync-progress.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/data-sync/utils/retry-save.d.ts +5 -0
- package/lib/typescript/module/src/modules/data-sync/utils/retry-save.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/helpers/form-items/form-field.d.ts +4 -1
- package/lib/typescript/module/src/modules/helpers/form-items/form-field.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/helpers/index.d.ts +1 -0
- package/lib/typescript/module/src/modules/helpers/index.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/helpers/utils/s-log.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/helpers/utils/sentry-logger.d.ts +7 -1
- package/lib/typescript/module/src/modules/helpers/utils/sentry-logger.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/helpers/utils/telemetry.d.ts +68 -0
- package/lib/typescript/module/src/modules/helpers/utils/telemetry.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/image/components/optimized-image.d.ts +1 -1
- package/lib/typescript/module/src/modules/image/components/optimized-image.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/image/types/optimized-image-props.d.ts +4 -0
- package/lib/typescript/module/src/modules/image/types/optimized-image-props.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/questionnaire-response-form/components/content/questionnaire-content-error.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/questionnaire-response-form/components/navigation/questionnaire-navigation-next-button.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/questionnaire-response-form/components/navigation/questionnaire-navigation-submit-button.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/questionnaire-response-form/components/questionnaire-form-provider.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/questionnaire-response-form/components/questionnaire-navigation-provider.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/questionnaire-response-form/contexts/questionnaire-navigation-context.d.ts +1 -0
- package/lib/typescript/module/src/modules/questionnaire-response-form/contexts/questionnaire-navigation-context.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/questionnaire-response-form/hooks/use-navigation-handlers.d.ts +1 -0
- package/lib/typescript/module/src/modules/questionnaire-response-form/hooks/use-navigation-handlers.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/questionnaire-response-form/hooks/use-questionnaire-navigation.d.ts +1 -0
- package/lib/typescript/module/src/modules/questionnaire-response-form/hooks/use-questionnaire-navigation.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/questionnaire-response-form/types/questionnaire-form-context-type.d.ts +2 -0
- package/lib/typescript/module/src/modules/questionnaire-response-form/types/questionnaire-form-context-type.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/questionnaire-response-form/types/questionnaire-navigation-provider-props.d.ts +1 -0
- package/lib/typescript/module/src/modules/questionnaire-response-form/types/questionnaire-navigation-provider-props.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/tile/components/task-icon.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/ui/components/background-sync-setting.d.ts +9 -0
- package/lib/typescript/module/src/modules/ui/components/background-sync-setting.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/ui/components/bluetooth-state-notice.d.ts +12 -0
- package/lib/typescript/module/src/modules/ui/components/bluetooth-state-notice.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/ui/components/ecg-strip-viewer.d.ts +17 -0
- package/lib/typescript/module/src/modules/ui/components/ecg-strip-viewer.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/ui/components/health-import-card.d.ts +13 -0
- package/lib/typescript/module/src/modules/ui/components/health-import-card.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/ui/components/manual-entry-form.d.ts +20 -0
- package/lib/typescript/module/src/modules/ui/components/manual-entry-form.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/ui/components/pairing-flow.d.ts +15 -0
- package/lib/typescript/module/src/modules/ui/components/pairing-flow.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/ui/components/supported-devices-catalog-list.d.ts +16 -0
- package/lib/typescript/module/src/modules/ui/components/supported-devices-catalog-list.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/ui/components/urine-test-result.d.ts +10 -0
- package/lib/typescript/module/src/modules/ui/components/urine-test-result.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/ui/index.d.ts +11 -0
- package/lib/typescript/module/src/modules/ui/index.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/ui/types.d.ts +24 -0
- package/lib/typescript/module/src/modules/ui/types.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/ui/use-ovok-ui.d.ts +7 -0
- package/lib/typescript/module/src/modules/ui/use-ovok-ui.d.ts.map +1 -0
- package/package.json +145 -6
|
@@ -8,12 +8,15 @@ var _reactNative = require("react-native");
|
|
|
8
8
|
var _reactNativeBlePlx = require("react-native-ble-plx");
|
|
9
9
|
var _index = require("../../helpers/index.js");
|
|
10
10
|
var _sentryLogger = require("../../helpers/utils/sentry-logger.js");
|
|
11
|
+
var _telemetry = require("../../helpers/utils/telemetry.js");
|
|
12
|
+
var _bluetoothError = require("../types/bluetooth-error.js");
|
|
11
13
|
var _deviceCreator = require("./device-creator.js");
|
|
12
14
|
/* eslint-disable max-lines */
|
|
13
15
|
|
|
14
16
|
class BTManager {
|
|
15
17
|
static MAX_DEVICES = 15; // Safety limit to prevent unbounded growth
|
|
16
18
|
devices = new Map();
|
|
19
|
+
forgottenDeviceIds = new Set();
|
|
17
20
|
eventSubscriptions = [];
|
|
18
21
|
scanGeneration = 0;
|
|
19
22
|
scanActive = false;
|
|
@@ -41,10 +44,12 @@ class BTManager {
|
|
|
41
44
|
this.onDeviceFoundCallback = undefined;
|
|
42
45
|
this.onResultCallback = undefined;
|
|
43
46
|
this.onDeviceStatusChangedCallback = undefined;
|
|
47
|
+
this.onConnectionEventCallback = undefined;
|
|
44
48
|
this.devices.forEach(device => {
|
|
45
49
|
device.destroy();
|
|
46
50
|
});
|
|
47
51
|
this.devices.clear();
|
|
52
|
+
this.forgottenDeviceIds.clear();
|
|
48
53
|
this.deviceCreator.destroy();
|
|
49
54
|
};
|
|
50
55
|
startScan = () => {
|
|
@@ -82,7 +87,7 @@ class BTManager {
|
|
|
82
87
|
subscription = this.bleManager.onStateChange(onStateChange, true);
|
|
83
88
|
} catch (error) {
|
|
84
89
|
this.onErrorCallback?.({
|
|
85
|
-
error:
|
|
90
|
+
error: (0, _bluetoothError.toBluetoothError)(error)
|
|
86
91
|
});
|
|
87
92
|
return;
|
|
88
93
|
}
|
|
@@ -121,11 +126,44 @@ class BTManager {
|
|
|
121
126
|
this.onDeviceFoundCallback = undefined;
|
|
122
127
|
this.onResultCallback = undefined;
|
|
123
128
|
this.onDeviceStatusChangedCallback = undefined;
|
|
129
|
+
this.onConnectionEventCallback = undefined;
|
|
124
130
|
this.devices.forEach(device => {
|
|
125
131
|
device.destroy();
|
|
126
132
|
});
|
|
127
133
|
this.devices.clear();
|
|
128
134
|
};
|
|
135
|
+
|
|
136
|
+
/**
|
|
137
|
+
* Pauses discovery without tearing down devices or their callbacks.
|
|
138
|
+
*
|
|
139
|
+
* Use this when an app temporarily stops scanning, for example while it is in the
|
|
140
|
+
* background but an already-connected device may still deliver a measurement.
|
|
141
|
+
*/
|
|
142
|
+
pauseScan = () => {
|
|
143
|
+
if (this.destroyed) {
|
|
144
|
+
return;
|
|
145
|
+
}
|
|
146
|
+
(0, _sentryLogger.sentryLogger)("info", "BT_MANAGER: Pausing scan");
|
|
147
|
+
this.scanGeneration += 1;
|
|
148
|
+
this.scanActive = false;
|
|
149
|
+
this.scanStarting = false;
|
|
150
|
+
this.removeStateChangeListener();
|
|
151
|
+
this.bleManager.stopDeviceScan();
|
|
152
|
+
};
|
|
153
|
+
|
|
154
|
+
/**
|
|
155
|
+
* Resumes discovery without clearing devices or callbacks.
|
|
156
|
+
*
|
|
157
|
+
* Restarting unconditionally also recovers when an app stopped the underlying BLE scan
|
|
158
|
+
* directly while BTManager still believed it was active.
|
|
159
|
+
*/
|
|
160
|
+
resumeScan = () => {
|
|
161
|
+
if (this.destroyed) {
|
|
162
|
+
return;
|
|
163
|
+
}
|
|
164
|
+
(0, _sentryLogger.sentryLogger)("info", "BT_MANAGER: Resuming scan");
|
|
165
|
+
this.restartScan();
|
|
166
|
+
};
|
|
129
167
|
restartScan = () => {
|
|
130
168
|
if (this.destroyed) {
|
|
131
169
|
return;
|
|
@@ -176,16 +214,35 @@ class BTManager {
|
|
|
176
214
|
});
|
|
177
215
|
this.scanActive = true;
|
|
178
216
|
(0, _sentryLogger.sentryLogger)("info", "BT_MANAGER: Scan started (continuous mode)");
|
|
217
|
+
(0, _telemetry.addOvokSpanEvent)("bluetooth.scan.started", {
|
|
218
|
+
platform: _reactNative.Platform.OS,
|
|
219
|
+
background: this.backgroundScanEnabled
|
|
220
|
+
});
|
|
179
221
|
} catch (error) {
|
|
180
222
|
this.onErrorCallback?.({
|
|
181
|
-
error:
|
|
223
|
+
error: (0, _bluetoothError.toBluetoothError)(error)
|
|
182
224
|
});
|
|
183
225
|
} finally {
|
|
184
226
|
this.scanStarting = false;
|
|
185
227
|
}
|
|
186
228
|
};
|
|
187
229
|
restoreDevices = devices => {
|
|
188
|
-
devices.forEach(device =>
|
|
230
|
+
devices.forEach(device => {
|
|
231
|
+
this.forgottenDeviceIds.delete(device.id);
|
|
232
|
+
this.onScanResult(null, device);
|
|
233
|
+
});
|
|
234
|
+
};
|
|
235
|
+
|
|
236
|
+
/** Disconnects one device and prevents it from being re-created by later advertisements. */
|
|
237
|
+
forget = async deviceId => {
|
|
238
|
+
this.forgottenDeviceIds.add(deviceId);
|
|
239
|
+
this.autoConnectCandidates.delete(deviceId);
|
|
240
|
+
const device = this.devices.get(deviceId);
|
|
241
|
+
if (!device) {
|
|
242
|
+
return;
|
|
243
|
+
}
|
|
244
|
+
this.devices.delete(deviceId);
|
|
245
|
+
await device.disconnect();
|
|
189
246
|
};
|
|
190
247
|
onDeviceFound = callback => {
|
|
191
248
|
(0, _sentryLogger.sentryLogger)("info", "BT_MANAGER: Setting onDeviceFound callback");
|
|
@@ -199,6 +256,10 @@ class BTManager {
|
|
|
199
256
|
(0, _sentryLogger.sentryLogger)("info", "BT_MANAGER: Setting onDeviceStatusChanged callback");
|
|
200
257
|
this.onDeviceStatusChangedCallback = callback;
|
|
201
258
|
};
|
|
259
|
+
onConnectionEvent = callback => {
|
|
260
|
+
(0, _sentryLogger.sentryLogger)("info", "BT_MANAGER: Setting onConnectionEvent callback");
|
|
261
|
+
this.onConnectionEventCallback = callback;
|
|
262
|
+
};
|
|
202
263
|
onResult = callback => {
|
|
203
264
|
(0, _sentryLogger.sentryLogger)("info", "BT_MANAGER: Setting onResult callback");
|
|
204
265
|
this.onResultCallback = callback;
|
|
@@ -210,7 +271,7 @@ class BTManager {
|
|
|
210
271
|
try {
|
|
211
272
|
if (error) {
|
|
212
273
|
this.onErrorCallback?.({
|
|
213
|
-
error: error
|
|
274
|
+
error: (0, _bluetoothError.toBluetoothError)(error)
|
|
214
275
|
});
|
|
215
276
|
(0, _sentryLogger.sentryLogger)("error", "BT_MANAGER: Scan result error", {
|
|
216
277
|
error: error instanceof Error ? error.message : error
|
|
@@ -231,6 +292,9 @@ class BTManager {
|
|
|
231
292
|
if (!device) {
|
|
232
293
|
return;
|
|
233
294
|
}
|
|
295
|
+
if (this.forgottenDeviceIds.has(device.id)) {
|
|
296
|
+
return;
|
|
297
|
+
}
|
|
234
298
|
if (this.devices.has(device.id)) {
|
|
235
299
|
return;
|
|
236
300
|
}
|
|
@@ -253,14 +317,21 @@ class BTManager {
|
|
|
253
317
|
deviceName,
|
|
254
318
|
onError: this.onErrorCallback?.bind(this),
|
|
255
319
|
onDeviceStatusChanged: this.onDeviceStatusChangedCallback?.bind(this),
|
|
320
|
+
onConnectionEvent: this.onConnectionEventCallback?.bind(this),
|
|
256
321
|
onResult: this.onResultCallback?.bind(this),
|
|
257
322
|
oneReadingPerConnection: this.options.oneReadingPerConnection,
|
|
258
323
|
deliveredEcgFileNames: this.options.deliveredEcgFileNames,
|
|
324
|
+
resultPolicy: this.options.resultPolicies?.[deviceName],
|
|
259
325
|
onDeviceDisconnected: () => {
|
|
260
326
|
this.removeDeviceFromFoundedDevices?.bind(this)(device.id);
|
|
261
327
|
}
|
|
262
328
|
});
|
|
263
329
|
this.devices.set(device.id, deviceClass);
|
|
330
|
+
(0, _telemetry.recordOvokMetric)("ovok.devices.found", 1, {
|
|
331
|
+
deviceId: device.id,
|
|
332
|
+
model: deviceName,
|
|
333
|
+
platform: _reactNative.Platform.OS
|
|
334
|
+
});
|
|
264
335
|
this.onDeviceFoundCallback?.(deviceClass, this);
|
|
265
336
|
this.queueAutoConnect(deviceClass);
|
|
266
337
|
} catch (error) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNative","require","_reactNativeBlePlx","_index","_sentryLogger","_deviceCreator","BTManager","MAX_DEVICES","devices","Map","eventSubscriptions","scanGeneration","scanActive","scanStarting","destroyed","autoConnectCandidates","constructor","bleManager","acceptedDevices","options","deviceCreator","DeviceCreator","backgroundScanEnabled","backgroundEnabled","destroy","sentryLogger","stopScan","autoConnectTimer","clearTimeout","undefined","onErrorCallback","onDeviceFoundCallback","onResultCallback","onDeviceStatusChangedCallback","forEach","device","clear","startScan","stateChangeListener","generation","subscription","poweredOnBeforeSubscription","onStateChange","state","State","PoweredOn","removeStateChangeListener","startDeviceScan","Platform","OS","Linking","sendIntent","error","Error","String","push","setBackgroundScanEnabled","enabled","restartScan","stopDeviceScan","sub","remove","index","indexOf","splice","serviceUUIDs","length","scanMode","ScanMode","LowPower","Balanced","onScanResult","restoreDevices","onDeviceFound","callback","onError","onDeviceStatusChanged","onResult","message","slog","advertisedName","name","trim","localName","has","id","deviceName","getDeviceName","size","deviceId","currentSize","deviceClass","createDevice","bind","oneReadingPerConnection","deliveredEcgFileNames","onDeviceDisconnected","removeDeviceFromFoundedDevices","set","queueAutoConnect","autoConnect","setTimeout","values","connect","onDeviceSelectionRequired","select","selected","Math","max","autoConnectDelayMs","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","_telemetry","_bluetoothError","_deviceCreator","BTManager","MAX_DEVICES","devices","Map","forgottenDeviceIds","Set","eventSubscriptions","scanGeneration","scanActive","scanStarting","destroyed","autoConnectCandidates","constructor","bleManager","acceptedDevices","options","deviceCreator","DeviceCreator","backgroundScanEnabled","backgroundEnabled","destroy","sentryLogger","stopScan","autoConnectTimer","clearTimeout","undefined","onErrorCallback","onDeviceFoundCallback","onResultCallback","onDeviceStatusChangedCallback","onConnectionEventCallback","forEach","device","clear","startScan","stateChangeListener","generation","subscription","poweredOnBeforeSubscription","onStateChange","state","State","PoweredOn","removeStateChangeListener","startDeviceScan","Platform","OS","Linking","sendIntent","error","toBluetoothError","push","setBackgroundScanEnabled","enabled","restartScan","stopDeviceScan","sub","remove","pauseScan","resumeScan","index","indexOf","splice","serviceUUIDs","length","scanMode","ScanMode","LowPower","Balanced","onScanResult","addOvokSpanEvent","platform","background","restoreDevices","delete","id","forget","deviceId","add","get","disconnect","onDeviceFound","callback","onError","onDeviceStatusChanged","onConnectionEvent","onResult","Error","message","slog","advertisedName","name","trim","localName","has","deviceName","getDeviceName","size","currentSize","deviceClass","createDevice","bind","oneReadingPerConnection","deliveredEcgFileNames","resultPolicy","resultPolicies","onDeviceDisconnected","removeDeviceFromFoundedDevices","set","recordOvokMetric","model","queueAutoConnect","autoConnect","setTimeout","values","connect","onDeviceSelectionRequired","select","selected","Math","max","autoConnectDelayMs","exports"],"sourceRoot":"../../../../../src","sources":["modules/bt-management/services/bt-manager.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -5,10 +5,13 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.BTConnectionHandler = void 0;
|
|
7
7
|
var _sentryLogger = require("../../../helpers/utils/sentry-logger.js");
|
|
8
|
+
var _telemetry = require("../../../helpers/utils/telemetry.js");
|
|
8
9
|
var _deviceStatus = require("../../types/device-status.js");
|
|
9
10
|
var _base64ToHex = require("../../utils/base-64-to-hex.js");
|
|
10
11
|
var _btCommandWriter = require("./bt-command-writer.js");
|
|
11
12
|
var _btDeviceInformation = require("./bt-device-information.js");
|
|
13
|
+
/* eslint-disable max-lines */
|
|
14
|
+
|
|
12
15
|
class BTConnectionHandler {
|
|
13
16
|
characteristicSubscriptions = [];
|
|
14
17
|
constructor(device, mainServices, callbacks, preferredMtu) {
|
|
@@ -19,21 +22,55 @@ class BTConnectionHandler {
|
|
|
19
22
|
this.writer = new _btCommandWriter.BTCommandWriter(device, callbacks.onError);
|
|
20
23
|
}
|
|
21
24
|
connect = async () => {
|
|
25
|
+
const startedAt = Date.now();
|
|
26
|
+
const span = (0, _telemetry.startOvokSpan)("bluetooth.connect", {
|
|
27
|
+
deviceId: this.device.id,
|
|
28
|
+
deviceName: this.device.name ?? "unknown"
|
|
29
|
+
});
|
|
22
30
|
try {
|
|
23
31
|
await this.connectWithRetries();
|
|
24
32
|
await this.requestPreferredMtu();
|
|
25
33
|
await this.device.discoverAllServicesAndCharacteristics();
|
|
26
34
|
await (0, _btDeviceInformation.readDeviceInformation)(this.device, this.callbacks.onDeviceInfo);
|
|
35
|
+
await this.readBatteryLevel();
|
|
27
36
|
this.callbacks.onStatusChanged?.(_deviceStatus.DeviceStatus.CONNECTED);
|
|
28
37
|
this.onDisconnectSubscription = this.device.onDisconnected(this.onDeviceDisconnected);
|
|
29
38
|
await this.subscribeToAllCharacteristics();
|
|
39
|
+
span?.setStatus?.({
|
|
40
|
+
code: 1
|
|
41
|
+
});
|
|
30
42
|
} catch (error) {
|
|
31
43
|
(0, _sentryLogger.sentryLogger)("error", "BT_MANAGER: Error connecting to device", {
|
|
32
44
|
error: error instanceof Error ? error.message : error,
|
|
33
45
|
deviceName: this.device.name
|
|
34
46
|
});
|
|
35
47
|
this.callbacks.onError?.(error);
|
|
48
|
+
if (/pair|bond|authentication|passkey|pin/i.test(String(error))) {
|
|
49
|
+
(0, _telemetry.recordOvokMetric)("ovok.pairing.failures", 1, {
|
|
50
|
+
deviceId: this.device.id,
|
|
51
|
+
deviceName: this.device.name ?? "unknown"
|
|
52
|
+
});
|
|
53
|
+
(0, _telemetry.addOvokSpanEvent)("pairing.failed", {
|
|
54
|
+
deviceId: this.device.id,
|
|
55
|
+
deviceName: this.device.name ?? "unknown"
|
|
56
|
+
});
|
|
57
|
+
this.callbacks.onConnectionEvent?.({
|
|
58
|
+
kind: "pairing",
|
|
59
|
+
pairingCodeRequired: true
|
|
60
|
+
});
|
|
61
|
+
}
|
|
36
62
|
this.callbacks.onStatusChanged?.(_deviceStatus.DeviceStatus.DISCONNECTED);
|
|
63
|
+
span?.recordException?.(error instanceof Error ? error : String(error));
|
|
64
|
+
span?.setStatus?.({
|
|
65
|
+
code: 2,
|
|
66
|
+
message: error instanceof Error ? error.message : String(error)
|
|
67
|
+
});
|
|
68
|
+
} finally {
|
|
69
|
+
(0, _telemetry.recordOvokDuration)("ovok.device.connection.duration", Date.now() - startedAt, {
|
|
70
|
+
deviceId: this.device.id,
|
|
71
|
+
deviceName: this.device.name ?? "unknown"
|
|
72
|
+
});
|
|
73
|
+
span?.end();
|
|
37
74
|
}
|
|
38
75
|
};
|
|
39
76
|
destroy = () => {
|
|
@@ -68,6 +105,26 @@ class BTConnectionHandler {
|
|
|
68
105
|
});
|
|
69
106
|
}
|
|
70
107
|
};
|
|
108
|
+
|
|
109
|
+
/** Reads the standard Battery Service when a peripheral exposes it. */
|
|
110
|
+
readBatteryLevel = async () => {
|
|
111
|
+
try {
|
|
112
|
+
const characteristic = await this.device.readCharacteristicForService("180F", "2A19");
|
|
113
|
+
if (!characteristic.value) {
|
|
114
|
+
return;
|
|
115
|
+
}
|
|
116
|
+
const value = Number.parseInt((0, _base64ToHex.base64ToHex)(characteristic.value)[0] ?? "", 16);
|
|
117
|
+
if (value === undefined || value > 100) {
|
|
118
|
+
return;
|
|
119
|
+
}
|
|
120
|
+
this.callbacks.onConnectionEvent?.({
|
|
121
|
+
kind: "battery",
|
|
122
|
+
batteryLevel: value
|
|
123
|
+
});
|
|
124
|
+
} catch {
|
|
125
|
+
// Battery is optional. A device without the standard service must still connect.
|
|
126
|
+
}
|
|
127
|
+
};
|
|
71
128
|
connectWithRetries = async () => {
|
|
72
129
|
const maxRetries = 5;
|
|
73
130
|
const retryDelay = 1000;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_sentryLogger","require","_deviceStatus","_base64ToHex","_btCommandWriter","_btDeviceInformation","BTConnectionHandler","characteristicSubscriptions","constructor","device","mainServices","callbacks","preferredMtu","writer","BTCommandWriter","onError","connect","connectWithRetries","requestPreferredMtu","discoverAllServicesAndCharacteristics","readDeviceInformation","onDeviceInfo","onStatusChanged","DeviceStatus","CONNECTED","onDisconnectSubscription","onDisconnected","onDeviceDisconnected","subscribeToAllCharacteristics","error","sentryLogger","Error","message","
|
|
1
|
+
{"version":3,"names":["_sentryLogger","require","_telemetry","_deviceStatus","_base64ToHex","_btCommandWriter","_btDeviceInformation","BTConnectionHandler","characteristicSubscriptions","constructor","device","mainServices","callbacks","preferredMtu","writer","BTCommandWriter","onError","connect","startedAt","Date","now","span","startOvokSpan","deviceId","id","deviceName","name","connectWithRetries","requestPreferredMtu","discoverAllServicesAndCharacteristics","readDeviceInformation","onDeviceInfo","readBatteryLevel","onStatusChanged","DeviceStatus","CONNECTED","onDisconnectSubscription","onDisconnected","onDeviceDisconnected","subscribeToAllCharacteristics","setStatus","code","error","sentryLogger","Error","message","test","String","recordOvokMetric","addOvokSpanEvent","onConnectionEvent","kind","pairingCodeRequired","DISCONNECTED","recordException","recordOvokDuration","end","destroy","forEach","sub","remove","reset","sendCommands","commands","send","negotiated","requestMTU","useNegotiatedMtu","mtu","requestedMtu","characteristic","readCharacteristicForService","value","Number","parseInt","base64ToHex","undefined","batteryLevel","maxRetries","retryDelay","maxDelay","connected","retryCount","isConnected","errorCode","willRetry","Promise","resolve","setTimeout","Math","min","pow","isNormalDisconnect","mainService","monitorUuid","monitorUuids","subscription","monitorCharacteristicForService","uuid","result","hexValue","onDataReceived","push","initialCommands","length","onCommandSent","exports"],"sourceRoot":"../../../../../../src","sources":["modules/bt-management/services/devices/bt-connection-handler.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -5,7 +5,10 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.BTManagedDevice = void 0;
|
|
7
7
|
var _sentryLogger = require("../../../helpers/utils/sentry-logger.js");
|
|
8
|
+
var _telemetry = require("../../../helpers/utils/telemetry.js");
|
|
9
|
+
var _bluetoothError = require("../../types/bluetooth-error.js");
|
|
8
10
|
var _deviceStatus = require("../../types/device-status.js");
|
|
11
|
+
var _resultIdentity = require("../../utils/result-identity.js");
|
|
9
12
|
var _summariseMeasurementForLog = require("../../utils/summarise-measurement-for-log.js");
|
|
10
13
|
var _supportedMeasurementTypeKeys = require("../../utils/supported-measurement-type-keys.js");
|
|
11
14
|
var _btConnectionHandler = require("./bt-connection-handler.js");
|
|
@@ -15,6 +18,9 @@ var _pollingCommandSequencer = require("./polling-command-sequencer.js");
|
|
|
15
18
|
|
|
16
19
|
class BTManagedDevice {
|
|
17
20
|
resultReportedThisConnection = false;
|
|
21
|
+
reportedMeasurementKinds = new Set();
|
|
22
|
+
reportedDailyTotals = new Set();
|
|
23
|
+
historyResultCount = 0;
|
|
18
24
|
|
|
19
25
|
/**
|
|
20
26
|
* The timeout in milliseconds for the stuck data.
|
|
@@ -67,11 +73,14 @@ class BTManagedDevice {
|
|
|
67
73
|
onError: onErrorCallback,
|
|
68
74
|
onDeviceStatusChanged: onDeviceStatusChangedCallback,
|
|
69
75
|
onResult: onResultCallback,
|
|
76
|
+
onConnectionEvent: onConnectionEventCallback,
|
|
70
77
|
onDeviceDisconnected: onDeviceDisconnectedCallback,
|
|
71
|
-
oneReadingPerConnection
|
|
78
|
+
oneReadingPerConnection,
|
|
79
|
+
resultPolicy
|
|
72
80
|
}) {
|
|
73
81
|
this.device = device;
|
|
74
82
|
this.oneReadingPerConnection = oneReadingPerConnection === true;
|
|
83
|
+
this.resultPolicy = resultPolicy;
|
|
75
84
|
(0, _sentryLogger.sentryLogger)("info", "BT_MANAGER: Creating BTManagedDevice", {
|
|
76
85
|
deviceId: device.id,
|
|
77
86
|
deviceName: deviceName
|
|
@@ -93,6 +102,12 @@ class BTManagedDevice {
|
|
|
93
102
|
deviceData: this.deviceData,
|
|
94
103
|
deviceName: this.deviceData.name
|
|
95
104
|
});
|
|
105
|
+
(0, _telemetry.addOvokSpanEvent)("device.status_changed", {
|
|
106
|
+
deviceId: this.deviceData.id,
|
|
107
|
+
model: this.deviceData.name,
|
|
108
|
+
status,
|
|
109
|
+
measurementTypeKey: measurementTypeKey ?? "unknown"
|
|
110
|
+
});
|
|
96
111
|
onDeviceStatusChangedCallback?.({
|
|
97
112
|
deviceData: this.deviceData,
|
|
98
113
|
status: status,
|
|
@@ -105,9 +120,21 @@ class BTManagedDevice {
|
|
|
105
120
|
deviceData: this.deviceData,
|
|
106
121
|
deviceName: this.deviceData.name
|
|
107
122
|
});
|
|
123
|
+
const normalized = (0, _bluetoothError.toBluetoothError)(error);
|
|
124
|
+
if (error && (typeof error === "object" || typeof error === "function")) {
|
|
125
|
+
try {
|
|
126
|
+
Object.defineProperty(error, "ovokCode", {
|
|
127
|
+
value: normalized.code,
|
|
128
|
+
configurable: true,
|
|
129
|
+
enumerable: false
|
|
130
|
+
});
|
|
131
|
+
} catch {
|
|
132
|
+
// Some native error objects are frozen; the original error is still delivered.
|
|
133
|
+
}
|
|
134
|
+
}
|
|
108
135
|
onErrorCallback?.({
|
|
109
136
|
deviceData: this.deviceData,
|
|
110
|
-
error: error
|
|
137
|
+
error: error instanceof _bluetoothError.BluetoothError ? normalized : error
|
|
111
138
|
});
|
|
112
139
|
};
|
|
113
140
|
this.onResult = ({
|
|
@@ -117,18 +144,73 @@ class BTManagedDevice {
|
|
|
117
144
|
if (this.oneReadingPerConnection && this.resultReportedThisConnection) {
|
|
118
145
|
return;
|
|
119
146
|
}
|
|
147
|
+
const measurementTypeKey = data.measurementTypeKey;
|
|
148
|
+
const policy = this.resultPolicy?.byMeasurement?.[measurementTypeKey] ?? this.resultPolicy?.default ?? "all";
|
|
149
|
+
if (policy === "first-reading-per-kind-per-connection") {
|
|
150
|
+
if (this.reportedMeasurementKinds.has(measurementTypeKey)) {
|
|
151
|
+
return;
|
|
152
|
+
}
|
|
153
|
+
this.reportedMeasurementKinds.add(measurementTypeKey);
|
|
154
|
+
}
|
|
155
|
+
if (policy === "daily-totals-only") {
|
|
156
|
+
const temporal = data;
|
|
157
|
+
const end = temporal.end instanceof Date ? temporal.end : undefined;
|
|
158
|
+
const now = new Date();
|
|
159
|
+
|
|
160
|
+
// Activity totals are useful only after their day has closed. Devices that
|
|
161
|
+
// do not expose an interval are not filtered by this policy.
|
|
162
|
+
if (end && end.getTime() > now.getTime()) {
|
|
163
|
+
return;
|
|
164
|
+
}
|
|
165
|
+
const day = temporal.end ?? temporal.start ?? temporal.recordedAt;
|
|
166
|
+
if (day instanceof Date) {
|
|
167
|
+
const key = `${measurementTypeKey}:${day.toISOString().slice(0, 10)}`;
|
|
168
|
+
if (this.reportedDailyTotals.has(key)) {
|
|
169
|
+
return;
|
|
170
|
+
}
|
|
171
|
+
this.reportedDailyTotals.add(key);
|
|
172
|
+
}
|
|
173
|
+
}
|
|
120
174
|
this.resultReportedThisConnection = true;
|
|
175
|
+
this.historyResultCount += 1;
|
|
176
|
+
(0, _telemetry.recordOvokMetric)("ovok.readings.received", 1, {
|
|
177
|
+
deviceId: this.deviceData.id,
|
|
178
|
+
model: this.deviceData.name,
|
|
179
|
+
measurementTypeKey
|
|
180
|
+
});
|
|
181
|
+
(0, _telemetry.addOvokSpanEvent)("reading.received", {
|
|
182
|
+
deviceId: this.deviceData.id,
|
|
183
|
+
model: this.deviceData.name,
|
|
184
|
+
measurementTypeKey
|
|
185
|
+
});
|
|
121
186
|
(0, _sentryLogger.sentryLogger)("info", "BT_MANAGER: Calling onResult callback", {
|
|
122
187
|
data: (0, _summariseMeasurementForLog.summariseMeasurementForLog)(data),
|
|
123
188
|
deviceData: this.deviceData,
|
|
124
189
|
deviceName: this.deviceData.name
|
|
125
190
|
});
|
|
126
|
-
|
|
191
|
+
onConnectionEventCallback?.({
|
|
192
|
+
deviceData: this.deviceData,
|
|
193
|
+
kind: "history-download",
|
|
194
|
+
progress: {
|
|
195
|
+
current: this.historyResultCount
|
|
196
|
+
}
|
|
197
|
+
});
|
|
198
|
+
const result = {
|
|
127
199
|
deviceData: this.deviceData,
|
|
128
200
|
data
|
|
201
|
+
};
|
|
202
|
+
|
|
203
|
+
// Keep the new identity available to consumers while preserving the enumerable
|
|
204
|
+
// callback shape used by 1.5 integrations. Queue adapters materialize it below.
|
|
205
|
+
Object.defineProperty(result, "id", {
|
|
206
|
+
value: (0, _resultIdentity.createStableResultId)(this.deviceData, data),
|
|
207
|
+
enumerable: false,
|
|
208
|
+
writable: false
|
|
129
209
|
});
|
|
210
|
+
onResultCallback?.(result);
|
|
130
211
|
};
|
|
131
212
|
this.onDeviceDisconnected = onDeviceDisconnectedCallback;
|
|
213
|
+
this.onConnectionEvent = onConnectionEventCallback;
|
|
132
214
|
}
|
|
133
215
|
destroy = () => {
|
|
134
216
|
(0, _sentryLogger.sentryLogger)("info", "BT_MANAGER: Destroying device", {
|
|
@@ -140,9 +222,25 @@ class BTManagedDevice {
|
|
|
140
222
|
this.onError = undefined;
|
|
141
223
|
this.onDeviceStatusChanged = undefined;
|
|
142
224
|
this.onResult = undefined;
|
|
225
|
+
this.onConnectionEvent = undefined;
|
|
226
|
+
};
|
|
227
|
+
|
|
228
|
+
/** Stops this device's subscriptions and closes its BLE connection. */
|
|
229
|
+
disconnect = async () => {
|
|
230
|
+
this.destroy();
|
|
231
|
+
try {
|
|
232
|
+
await this.device.cancelConnection();
|
|
233
|
+
} catch (error) {
|
|
234
|
+
(0, _sentryLogger.sentryLogger)("info", "BT_MANAGER: Device was already disconnected", {
|
|
235
|
+
deviceId: this.device.id,
|
|
236
|
+
error: error instanceof Error ? error.message : String(error)
|
|
237
|
+
});
|
|
238
|
+
}
|
|
143
239
|
};
|
|
144
240
|
connect = async () => {
|
|
145
241
|
this.resultReportedThisConnection = false;
|
|
242
|
+
this.reportedMeasurementKinds.clear();
|
|
243
|
+
this.historyResultCount = 0;
|
|
146
244
|
|
|
147
245
|
// To access the abstract property in the constructor, we need to set it here
|
|
148
246
|
this.deviceData.measurementTypes = (0, _supportedMeasurementTypeKeys.supportedMeasurementTypeKeys)(this.mainServices);
|
|
@@ -150,12 +248,22 @@ class BTManagedDevice {
|
|
|
150
248
|
this.connectionHandler = new _btConnectionHandler.BTConnectionHandler(this.device, this.mainServices, {
|
|
151
249
|
onStatusChanged: status => {
|
|
152
250
|
this.onDeviceStatusChanged?.bind(this)(status);
|
|
251
|
+
if (status === _deviceStatus.DeviceStatus.CONNECTED) {
|
|
252
|
+
this.onConnectionEvent?.({
|
|
253
|
+
deviceData: this.deviceData,
|
|
254
|
+
kind: "bonded"
|
|
255
|
+
});
|
|
256
|
+
}
|
|
153
257
|
if (status === _deviceStatus.DeviceStatus.DISCONNECTED) {
|
|
154
258
|
this.onDeviceDisconnected?.();
|
|
155
259
|
this.destroy();
|
|
156
260
|
}
|
|
157
261
|
},
|
|
158
262
|
onError: error => this.onError?.bind(this)(error),
|
|
263
|
+
onConnectionEvent: event => this.onConnectionEvent?.({
|
|
264
|
+
deviceData: this.deviceData,
|
|
265
|
+
...event
|
|
266
|
+
}),
|
|
159
267
|
onDataReceived: (uuid, hexValue) => {
|
|
160
268
|
this.dataProcessor?.processData(uuid, hexValue);
|
|
161
269
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_sentryLogger","require","_deviceStatus","_summariseMeasurementForLog","_supportedMeasurementTypeKeys","_btConnectionHandler","_btDataProcessor","_pollingCommandSequencer","BTManagedDevice","resultReportedThisConnection","constructor","device","deviceName","onError","onErrorCallback","onDeviceStatusChanged","onDeviceStatusChangedCallback","onResult","onResultCallback","onDeviceDisconnected","onDeviceDisconnectedCallback","oneReadingPerConnection","sentryLogger","deviceId","id","deviceData","name","localName","manufacturerData","sn","measurementTypes","status","measurementTypeKey","error","Error","message","caseType","_","data","summariseMeasurementForLog","destroy","connectionHandler","dataProcessor","undefined","connect","supportedMeasurementTypeKeys","mainServices","sequencer","createCommandSequencer","pollingSequencerFor","BTConnectionHandler","onStatusChanged","bind","DeviceStatus","DISCONNECTED","onDataReceived","uuid","hexValue","processData","onDeviceInfo","info","manufacturerName","model","serialNumber","initialCommands","onCommandSent","armStuckTimeout","isNormalDisconnect","preferredMtu","BTDataProcessor","stuckDataTimeout","onStreamStart","validatePackage","parsedData","collectedValues","handleSuccessResult","nextCommand","frame","sendCommands","commands","handleDependentResult","frameReader","exports"],"sourceRoot":"../../../../../../src","sources":["modules/bt-management/services/devices/bt-managed-device.ts"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_sentryLogger","require","_telemetry","_bluetoothError","_deviceStatus","_resultIdentity","_summariseMeasurementForLog","_supportedMeasurementTypeKeys","_btConnectionHandler","_btDataProcessor","_pollingCommandSequencer","BTManagedDevice","resultReportedThisConnection","reportedMeasurementKinds","Set","reportedDailyTotals","historyResultCount","constructor","device","deviceName","onError","onErrorCallback","onDeviceStatusChanged","onDeviceStatusChangedCallback","onResult","onResultCallback","onConnectionEvent","onConnectionEventCallback","onDeviceDisconnected","onDeviceDisconnectedCallback","oneReadingPerConnection","resultPolicy","sentryLogger","deviceId","id","deviceData","name","localName","manufacturerData","sn","measurementTypes","status","measurementTypeKey","addOvokSpanEvent","model","error","Error","message","normalized","toBluetoothError","Object","defineProperty","value","code","configurable","enumerable","BluetoothError","caseType","_","data","policy","byMeasurement","default","has","add","temporal","end","Date","undefined","now","getTime","day","start","recordedAt","key","toISOString","slice","recordOvokMetric","summariseMeasurementForLog","kind","progress","current","result","createStableResultId","writable","destroy","connectionHandler","dataProcessor","disconnect","cancelConnection","String","connect","clear","supportedMeasurementTypeKeys","mainServices","sequencer","createCommandSequencer","pollingSequencerFor","BTConnectionHandler","onStatusChanged","bind","DeviceStatus","CONNECTED","DISCONNECTED","event","onDataReceived","uuid","hexValue","processData","onDeviceInfo","info","manufacturerName","serialNumber","initialCommands","onCommandSent","armStuckTimeout","isNormalDisconnect","preferredMtu","BTDataProcessor","stuckDataTimeout","onStreamStart","validatePackage","parsedData","collectedValues","handleSuccessResult","nextCommand","frame","sendCommands","commands","handleDependentResult","frameReader","exports"],"sourceRoot":"../../../../../../src","sources":["modules/bt-management/services/devices/bt-managed-device.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -12,8 +12,8 @@ var _deviceStatus = require("../../types/device-status.js");
|
|
|
12
12
|
*
|
|
13
13
|
* A result is reported whether or not a stream preceded it, because a device already
|
|
14
14
|
* holding a finished measurement when the app connects has a real reading to hand over.
|
|
15
|
-
*
|
|
16
|
-
*
|
|
15
|
+
* Identical result frames are suppressed, while a changed frame in the same case is still
|
|
16
|
+
* reported as a new measurement.
|
|
17
17
|
*/
|
|
18
18
|
class MeasurementStateMachine {
|
|
19
19
|
isMeasuring = false;
|
|
@@ -23,6 +23,7 @@ class MeasurementStateMachine {
|
|
|
23
23
|
reset = () => {
|
|
24
24
|
this.isMeasuring = false;
|
|
25
25
|
this.lastCaseValue = undefined;
|
|
26
|
+
this.lastFrame = undefined;
|
|
26
27
|
};
|
|
27
28
|
advance = ({
|
|
28
29
|
parsingCase,
|
|
@@ -30,8 +31,9 @@ class MeasurementStateMachine {
|
|
|
30
31
|
parsedData
|
|
31
32
|
}, frame) => {
|
|
32
33
|
const isResult = parsingCase.caseType === _caseType.CaseType.RESULT;
|
|
33
|
-
const isRepeatedResult = isResult && parsingCase.caseValue === this.lastCaseValue;
|
|
34
|
+
const isRepeatedResult = isResult && parsingCase.caseValue === this.lastCaseValue && this.lastFrame?.join("").toLowerCase() === frame.join("").toLowerCase();
|
|
34
35
|
this.lastCaseValue = parsingCase.caseValue;
|
|
36
|
+
this.lastFrame = [...frame];
|
|
35
37
|
if (parsingCase.caseType === _caseType.CaseType.STREAM && !this.isMeasuring) {
|
|
36
38
|
this.startMeasuring(measurementTypeKey);
|
|
37
39
|
}
|