@shenai/sdk 3.1.19-alpha.0, Web

A scan finishes without blood pressure after the session that downloaded the models ends early

This page uses only the public Web SDK, unmodified, with nothing else on the page. Each run clears this site's storage, reloads the page and starts the SDK twice: first a short session that only downloads the models, then the scan.

What goes wrong

  1. getRequiredModelsDownloadProgressPercentage() reaches 100 after 11 of the 16 model files from plumbus.shen.ai. Blood pressure needs a file among the other 5.
  2. If the session that started the download is deinitialized at that moment, a later session in the same page never requests the remaining 5 files. Only a page reload fetches them again.
  3. The scan then stays in FINALIZING for about 60 seconds and finishes with systolic_blood_pressure_mmhg and diastolic_blood_pressure_mmhg null, with no error and no log line.
Expected: blood pressure models count as required (or there is a way to know that every model is ready), a new session resumes missing downloads, and a missing model surfaces as an error. A browser that already cached all 16 files never shows the bug, so it hits phones and first visits most.

Run it

  • 1Clear site storage and reload the page
  • 2Session 1: initialize with the camera off and download the models
  • 3Session 1: deinitialize
  • 4Session 2: initialize, turn the camera on and scan your face for 30 seconds
  • 5Read the result

Bug run: session 1 ends as soon as required models report 100. Control run: session 1 waits until model downloads stop, then ends. Everything else is the same.

Model files fetched in this page
0
of 16 a full download takes
Required models
n/a
getRequiredModelsDownloadProgressPercentage
Time in FINALIZING
n/a
about 2 s when every model is present
Blood pressure
n/a
from getMeasurementResults

Camera

The camera turns on in session 2. Sit in good light and keep your face in the frame.
Runnone
SDK sessionnone
Measurement staten/a
Face staten/a
Progressn/a

Result

Heart rate, bpmn/a
Systolic, mmHgn/a
Diastolic, mmHgn/a
HRV SDNN, msn/a
Breathing, per minuten/a
Blood pressure quality indexn/a
Average signal qualityn/a

Environment

Log

Model file names are the content hashes the SDK requests from plumbus.shen.ai. The last 5 in a control run are the files a bug run never requests.