项目文件夹

文件
2026-07-13 12:20:06 +08:00

1.9 KiB

Probe SDK Common Issues

Permissions denied or missing streams

Symptoms:

  • Permission request returns error.
  • No stream returned for diagnostics.

Checks:

  • HTTPS/secure context is used.
  • Not in insecure context (http://, mixed content, blocked iframe permissions policy).
  • Browser-level camera/mic permissions are granted.
  • Device is not locked by another app.

No media devices detected

Symptoms:

  • requestMediaDevices returns empty sets for mic/camera/speaker.

Checks:

  • OS-level privacy settings allow browser device access.
  • External USB/Bluetooth devices are connected before page load.
  • Virtual device drivers are installed and recognized by the browser.
  • Browser enterprise policies are not blocking media device enumeration.

Video diagnostic fails to render

Symptoms:

  • diagnoseVideo error or blank target.

Checks:

  • Renderer option key and target match selected renderer.
  • video-tag renderer uses HTMLVideoElement target.
  • WebGL/WebGL2/WebGPU renderers use canvas/offscreen canvas target.

Network diagnostic never completes

Symptoms:

  • startToDiagnose does not return final report in expected duration.

Checks:

  • probeDuration and connectTimeout values are reasonable.
  • Domain and optional JS/WASM URLs are reachable.
  • Browser/network policies do not block probing paths.

Report field mismatch in app code

Symptoms:

  • Undefined fields when parsing final report.

Checks:

  • Add compatibility adapter for basicInfo vs basicInfoEntries.
  • Add compatibility adapter for supportedFeatures vs featureEntries.
  • Pin SDK version and align parser tests to that version.

Residual resource usage after diagnostics

Symptoms:

  • Camera indicator remains active.
  • Memory/network usage persists after leaving page.

Checks:

  • Call stopToDiagnoseVideo and/or releaseMediaStream.
  • Call stopToDiagnose on early exit.
  • Call cleanup() on route/page teardown.