Tracking issue surfaced during PR #166.
Gap
PR #166 wires server-side (API) exceptions into App Insights via UseExceptionHandler + OTel. Mobile app unhandled .NET exceptions are wired via AppDomain.CurrentDomain.UnhandledException + iOS/Android platform handlers (PR #165).
Unhandled JavaScript exceptions inside the Blazor WebView are NOT captured. A JS-side throw or unhandled Promise rejection is invisible to App Insights.
Work required
Context: PR #166
Tracking issue surfaced during PR #166.
Gap
PR #166 wires server-side (API) exceptions into App Insights via
UseExceptionHandler+ OTel. Mobile app unhandled .NET exceptions are wired viaAppDomain.CurrentDomain.UnhandledException+ iOS/Android platform handlers (PR #165).Unhandled JavaScript exceptions inside the Blazor WebView are NOT captured. A JS-side
throwor unhandledPromiserejection is invisible to App Insights.Work required
wwwroot/index.htmlor an injected bootstrap script), register:window.addEventListener('error', ...)— synchronous and resource errorswindow.addEventListener('unhandledrejection', ...)— async/Promise errorsDotNet.invokeMethodAsyncor the existing JS-interop channeloperation_Idwith the API call that triggered them) and emit as an exception to App Insightsexceptionstable with correctcloud_RoleNameandoperation_IdContext: PR #166