@azure/msal-browser 4.29.0 → 4.29.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (311) hide show
  1. package/README.md +25 -25
  2. package/dist/app/IPublicClientApplication.mjs +1 -1
  3. package/dist/app/PublicClientApplication.mjs +1 -1
  4. package/dist/app/PublicClientNext.mjs +1 -1
  5. package/dist/broker/nativeBroker/NativeStatusCodes.mjs +1 -1
  6. package/dist/broker/nativeBroker/PlatformAuthDOMHandler.d.ts.map +1 -1
  7. package/dist/broker/nativeBroker/PlatformAuthDOMHandler.mjs +23 -9
  8. package/dist/broker/nativeBroker/PlatformAuthDOMHandler.mjs.map +1 -1
  9. package/dist/broker/nativeBroker/PlatformAuthExtensionHandler.mjs +1 -1
  10. package/dist/broker/nativeBroker/PlatformAuthProvider.mjs +1 -1
  11. package/dist/cache/AccountManager.mjs +1 -1
  12. package/dist/cache/AsyncMemoryStorage.mjs +1 -1
  13. package/dist/cache/BrowserCacheManager.mjs +1 -1
  14. package/dist/cache/CacheHelpers.mjs +1 -1
  15. package/dist/cache/CacheKeys.mjs +1 -1
  16. package/dist/cache/CookieStorage.mjs +1 -1
  17. package/dist/cache/DatabaseStorage.mjs +1 -1
  18. package/dist/cache/EncryptedData.mjs +1 -1
  19. package/dist/cache/LocalStorage.mjs +1 -1
  20. package/dist/cache/MemoryStorage.mjs +1 -1
  21. package/dist/cache/SessionStorage.mjs +1 -1
  22. package/dist/cache/TokenCache.mjs +1 -1
  23. package/dist/config/Configuration.mjs +1 -1
  24. package/dist/controllers/ControllerFactory.mjs +1 -1
  25. package/dist/controllers/NestedAppAuthController.mjs +1 -1
  26. package/dist/controllers/StandardController.d.ts +4 -2
  27. package/dist/controllers/StandardController.d.ts.map +1 -1
  28. package/dist/controllers/StandardController.mjs +55 -21
  29. package/dist/controllers/StandardController.mjs.map +1 -1
  30. package/dist/controllers/UnknownOperatingContextController.mjs +1 -1
  31. package/dist/crypto/BrowserCrypto.mjs +1 -1
  32. package/dist/crypto/CryptoOps.mjs +1 -1
  33. package/dist/crypto/PkceGenerator.mjs +1 -1
  34. package/dist/crypto/SignedHttpRequest.mjs +1 -1
  35. package/dist/custom-auth-path/app/PublicClientApplication.mjs +1 -1
  36. package/dist/custom-auth-path/broker/nativeBroker/NativeStatusCodes.mjs +1 -1
  37. package/dist/custom-auth-path/broker/nativeBroker/PlatformAuthDOMHandler.d.ts.map +1 -1
  38. package/dist/custom-auth-path/broker/nativeBroker/PlatformAuthDOMHandler.mjs +23 -9
  39. package/dist/custom-auth-path/broker/nativeBroker/PlatformAuthDOMHandler.mjs.map +1 -1
  40. package/dist/custom-auth-path/broker/nativeBroker/PlatformAuthExtensionHandler.mjs +1 -1
  41. package/dist/custom-auth-path/broker/nativeBroker/PlatformAuthProvider.mjs +1 -1
  42. package/dist/custom-auth-path/cache/AccountManager.mjs +1 -1
  43. package/dist/custom-auth-path/cache/AsyncMemoryStorage.mjs +1 -1
  44. package/dist/custom-auth-path/cache/BrowserCacheManager.mjs +1 -1
  45. package/dist/custom-auth-path/cache/CacheHelpers.mjs +1 -1
  46. package/dist/custom-auth-path/cache/CacheKeys.mjs +1 -1
  47. package/dist/custom-auth-path/cache/CookieStorage.mjs +1 -1
  48. package/dist/custom-auth-path/cache/DatabaseStorage.mjs +1 -1
  49. package/dist/custom-auth-path/cache/EncryptedData.mjs +1 -1
  50. package/dist/custom-auth-path/cache/LocalStorage.mjs +1 -1
  51. package/dist/custom-auth-path/cache/MemoryStorage.mjs +1 -1
  52. package/dist/custom-auth-path/cache/SessionStorage.mjs +1 -1
  53. package/dist/custom-auth-path/cache/TokenCache.mjs +1 -1
  54. package/dist/custom-auth-path/config/Configuration.mjs +1 -1
  55. package/dist/custom-auth-path/controllers/ControllerFactory.mjs +1 -1
  56. package/dist/custom-auth-path/controllers/StandardController.d.ts +4 -2
  57. package/dist/custom-auth-path/controllers/StandardController.d.ts.map +1 -1
  58. package/dist/custom-auth-path/controllers/StandardController.mjs +55 -21
  59. package/dist/custom-auth-path/controllers/StandardController.mjs.map +1 -1
  60. package/dist/custom-auth-path/crypto/BrowserCrypto.mjs +1 -1
  61. package/dist/custom-auth-path/crypto/CryptoOps.mjs +1 -1
  62. package/dist/custom-auth-path/crypto/PkceGenerator.mjs +1 -1
  63. package/dist/custom-auth-path/custom_auth/CustomAuthConstants.d.ts +1 -1
  64. package/dist/custom-auth-path/custom_auth/CustomAuthConstants.mjs +1 -1
  65. package/dist/custom-auth-path/custom_auth/CustomAuthPublicClientApplication.mjs +1 -1
  66. package/dist/custom-auth-path/custom_auth/controller/CustomAuthStandardController.mjs +1 -1
  67. package/dist/custom-auth-path/custom_auth/core/CustomAuthAuthority.mjs +1 -1
  68. package/dist/custom-auth-path/custom_auth/core/auth_flow/AuthFlowErrorBase.mjs +1 -1
  69. package/dist/custom-auth-path/custom_auth/core/auth_flow/AuthFlowResultBase.mjs +1 -1
  70. package/dist/custom-auth-path/custom_auth/core/auth_flow/AuthFlowState.mjs +1 -1
  71. package/dist/custom-auth-path/custom_auth/core/auth_flow/AuthFlowStateTypes.mjs +1 -1
  72. package/dist/custom-auth-path/custom_auth/core/auth_flow/jit/error_type/AuthMethodRegistrationError.mjs +1 -1
  73. package/dist/custom-auth-path/custom_auth/core/auth_flow/jit/result/AuthMethodRegistrationChallengeMethodResult.mjs +1 -1
  74. package/dist/custom-auth-path/custom_auth/core/auth_flow/jit/result/AuthMethodRegistrationSubmitChallengeResult.mjs +1 -1
  75. package/dist/custom-auth-path/custom_auth/core/auth_flow/jit/state/AuthMethodRegistrationCompletedState.mjs +1 -1
  76. package/dist/custom-auth-path/custom_auth/core/auth_flow/jit/state/AuthMethodRegistrationFailedState.mjs +1 -1
  77. package/dist/custom-auth-path/custom_auth/core/auth_flow/jit/state/AuthMethodRegistrationState.mjs +1 -1
  78. package/dist/custom-auth-path/custom_auth/core/auth_flow/mfa/error_type/MfaError.mjs +1 -1
  79. package/dist/custom-auth-path/custom_auth/core/auth_flow/mfa/result/MfaRequestChallengeResult.mjs +1 -1
  80. package/dist/custom-auth-path/custom_auth/core/auth_flow/mfa/result/MfaSubmitChallengeResult.mjs +1 -1
  81. package/dist/custom-auth-path/custom_auth/core/auth_flow/mfa/state/MfaCompletedState.mjs +1 -1
  82. package/dist/custom-auth-path/custom_auth/core/auth_flow/mfa/state/MfaFailedState.mjs +1 -1
  83. package/dist/custom-auth-path/custom_auth/core/auth_flow/mfa/state/MfaState.mjs +1 -1
  84. package/dist/custom-auth-path/custom_auth/core/error/CustomAuthApiError.mjs +1 -1
  85. package/dist/custom-auth-path/custom_auth/core/error/CustomAuthError.mjs +1 -1
  86. package/dist/custom-auth-path/custom_auth/core/error/HttpError.mjs +1 -1
  87. package/dist/custom-auth-path/custom_auth/core/error/HttpErrorCodes.mjs +1 -1
  88. package/dist/custom-auth-path/custom_auth/core/error/InvalidArgumentError.mjs +1 -1
  89. package/dist/custom-auth-path/custom_auth/core/error/InvalidConfigurationError.mjs +1 -1
  90. package/dist/custom-auth-path/custom_auth/core/error/InvalidConfigurationErrorCodes.mjs +1 -1
  91. package/dist/custom-auth-path/custom_auth/core/error/MethodNotImplementedError.mjs +1 -1
  92. package/dist/custom-auth-path/custom_auth/core/error/MsalCustomAuthError.mjs +1 -1
  93. package/dist/custom-auth-path/custom_auth/core/error/NoCachedAccountFoundError.mjs +1 -1
  94. package/dist/custom-auth-path/custom_auth/core/error/ParsedUrlError.mjs +1 -1
  95. package/dist/custom-auth-path/custom_auth/core/error/ParsedUrlErrorCodes.mjs +1 -1
  96. package/dist/custom-auth-path/custom_auth/core/error/UnexpectedError.mjs +1 -1
  97. package/dist/custom-auth-path/custom_auth/core/error/UnsupportedEnvironmentError.mjs +1 -1
  98. package/dist/custom-auth-path/custom_auth/core/error/UserAccountAttributeError.mjs +1 -1
  99. package/dist/custom-auth-path/custom_auth/core/error/UserAlreadySignedInError.mjs +1 -1
  100. package/dist/custom-auth-path/custom_auth/core/interaction_client/CustomAuthInteractionClientBase.mjs +1 -1
  101. package/dist/custom-auth-path/custom_auth/core/interaction_client/CustomAuthInterationClientFactory.mjs +1 -1
  102. package/dist/custom-auth-path/custom_auth/core/interaction_client/jit/JitClient.mjs +1 -1
  103. package/dist/custom-auth-path/custom_auth/core/interaction_client/jit/result/JitActionResult.mjs +1 -1
  104. package/dist/custom-auth-path/custom_auth/core/interaction_client/mfa/MfaClient.mjs +1 -1
  105. package/dist/custom-auth-path/custom_auth/core/interaction_client/mfa/result/MfaActionResult.mjs +1 -1
  106. package/dist/custom-auth-path/custom_auth/core/network_client/custom_auth_api/BaseApiClient.mjs +1 -1
  107. package/dist/custom-auth-path/custom_auth/core/network_client/custom_auth_api/CustomAuthApiClient.mjs +1 -1
  108. package/dist/custom-auth-path/custom_auth/core/network_client/custom_auth_api/CustomAuthApiEndpoint.mjs +1 -1
  109. package/dist/custom-auth-path/custom_auth/core/network_client/custom_auth_api/RegisterApiClient.mjs +1 -1
  110. package/dist/custom-auth-path/custom_auth/core/network_client/custom_auth_api/ResetPasswordApiClient.mjs +1 -1
  111. package/dist/custom-auth-path/custom_auth/core/network_client/custom_auth_api/SignInApiClient.mjs +1 -1
  112. package/dist/custom-auth-path/custom_auth/core/network_client/custom_auth_api/SignupApiClient.mjs +1 -1
  113. package/dist/custom-auth-path/custom_auth/core/network_client/custom_auth_api/types/ApiErrorCodes.mjs +1 -1
  114. package/dist/custom-auth-path/custom_auth/core/network_client/custom_auth_api/types/ApiSuberrors.mjs +1 -1
  115. package/dist/custom-auth-path/custom_auth/core/network_client/http_client/FetchHttpClient.mjs +1 -1
  116. package/dist/custom-auth-path/custom_auth/core/network_client/http_client/IHttpClient.mjs +1 -1
  117. package/dist/custom-auth-path/custom_auth/core/telemetry/PublicApiId.mjs +1 -1
  118. package/dist/custom-auth-path/custom_auth/core/utils/ArgumentValidator.mjs +1 -1
  119. package/dist/custom-auth-path/custom_auth/core/utils/UrlUtils.mjs +1 -1
  120. package/dist/custom-auth-path/custom_auth/get_account/auth_flow/CustomAuthAccountData.mjs +1 -1
  121. package/dist/custom-auth-path/custom_auth/get_account/auth_flow/error_type/GetAccountError.mjs +1 -1
  122. package/dist/custom-auth-path/custom_auth/get_account/auth_flow/result/GetAccessTokenResult.mjs +1 -1
  123. package/dist/custom-auth-path/custom_auth/get_account/auth_flow/result/GetAccountResult.mjs +1 -1
  124. package/dist/custom-auth-path/custom_auth/get_account/auth_flow/result/SignOutResult.mjs +1 -1
  125. package/dist/custom-auth-path/custom_auth/get_account/auth_flow/state/GetAccessTokenState.mjs +1 -1
  126. package/dist/custom-auth-path/custom_auth/get_account/auth_flow/state/GetAccountState.mjs +1 -1
  127. package/dist/custom-auth-path/custom_auth/get_account/auth_flow/state/SignOutState.mjs +1 -1
  128. package/dist/custom-auth-path/custom_auth/get_account/interaction_client/CustomAuthSilentCacheClient.mjs +1 -1
  129. package/dist/custom-auth-path/custom_auth/index.mjs +1 -1
  130. package/dist/custom-auth-path/custom_auth/operating_context/CustomAuthOperatingContext.mjs +1 -1
  131. package/dist/custom-auth-path/custom_auth/reset_password/auth_flow/error_type/ResetPasswordError.mjs +1 -1
  132. package/dist/custom-auth-path/custom_auth/reset_password/auth_flow/result/ResetPasswordResendCodeResult.mjs +1 -1
  133. package/dist/custom-auth-path/custom_auth/reset_password/auth_flow/result/ResetPasswordStartResult.mjs +1 -1
  134. package/dist/custom-auth-path/custom_auth/reset_password/auth_flow/result/ResetPasswordSubmitCodeResult.mjs +1 -1
  135. package/dist/custom-auth-path/custom_auth/reset_password/auth_flow/result/ResetPasswordSubmitPasswordResult.mjs +1 -1
  136. package/dist/custom-auth-path/custom_auth/reset_password/auth_flow/state/ResetPasswordCodeRequiredState.mjs +1 -1
  137. package/dist/custom-auth-path/custom_auth/reset_password/auth_flow/state/ResetPasswordCompletedState.mjs +1 -1
  138. package/dist/custom-auth-path/custom_auth/reset_password/auth_flow/state/ResetPasswordFailedState.mjs +1 -1
  139. package/dist/custom-auth-path/custom_auth/reset_password/auth_flow/state/ResetPasswordPasswordRequiredState.mjs +1 -1
  140. package/dist/custom-auth-path/custom_auth/reset_password/auth_flow/state/ResetPasswordState.mjs +1 -1
  141. package/dist/custom-auth-path/custom_auth/reset_password/interaction_client/ResetPasswordClient.mjs +1 -1
  142. package/dist/custom-auth-path/custom_auth/sign_in/auth_flow/SignInScenario.mjs +1 -1
  143. package/dist/custom-auth-path/custom_auth/sign_in/auth_flow/error_type/SignInError.mjs +1 -1
  144. package/dist/custom-auth-path/custom_auth/sign_in/auth_flow/result/SignInResendCodeResult.mjs +1 -1
  145. package/dist/custom-auth-path/custom_auth/sign_in/auth_flow/result/SignInResult.mjs +1 -1
  146. package/dist/custom-auth-path/custom_auth/sign_in/auth_flow/result/SignInSubmitCodeResult.mjs +1 -1
  147. package/dist/custom-auth-path/custom_auth/sign_in/auth_flow/result/SignInSubmitPasswordResult.mjs +1 -1
  148. package/dist/custom-auth-path/custom_auth/sign_in/auth_flow/state/SignInCodeRequiredState.mjs +1 -1
  149. package/dist/custom-auth-path/custom_auth/sign_in/auth_flow/state/SignInCompletedState.mjs +1 -1
  150. package/dist/custom-auth-path/custom_auth/sign_in/auth_flow/state/SignInContinuationState.mjs +1 -1
  151. package/dist/custom-auth-path/custom_auth/sign_in/auth_flow/state/SignInFailedState.mjs +1 -1
  152. package/dist/custom-auth-path/custom_auth/sign_in/auth_flow/state/SignInPasswordRequiredState.mjs +1 -1
  153. package/dist/custom-auth-path/custom_auth/sign_in/auth_flow/state/SignInState.mjs +1 -1
  154. package/dist/custom-auth-path/custom_auth/sign_in/interaction_client/SignInClient.mjs +1 -1
  155. package/dist/custom-auth-path/custom_auth/sign_in/interaction_client/result/SignInActionResult.mjs +1 -1
  156. package/dist/custom-auth-path/custom_auth/sign_up/auth_flow/error_type/SignUpError.mjs +1 -1
  157. package/dist/custom-auth-path/custom_auth/sign_up/auth_flow/result/SignUpResendCodeResult.mjs +1 -1
  158. package/dist/custom-auth-path/custom_auth/sign_up/auth_flow/result/SignUpResult.mjs +1 -1
  159. package/dist/custom-auth-path/custom_auth/sign_up/auth_flow/result/SignUpSubmitAttributesResult.mjs +1 -1
  160. package/dist/custom-auth-path/custom_auth/sign_up/auth_flow/result/SignUpSubmitCodeResult.mjs +1 -1
  161. package/dist/custom-auth-path/custom_auth/sign_up/auth_flow/result/SignUpSubmitPasswordResult.mjs +1 -1
  162. package/dist/custom-auth-path/custom_auth/sign_up/auth_flow/state/SignUpAttributesRequiredState.mjs +1 -1
  163. package/dist/custom-auth-path/custom_auth/sign_up/auth_flow/state/SignUpCodeRequiredState.mjs +1 -1
  164. package/dist/custom-auth-path/custom_auth/sign_up/auth_flow/state/SignUpCompletedState.mjs +1 -1
  165. package/dist/custom-auth-path/custom_auth/sign_up/auth_flow/state/SignUpFailedState.mjs +1 -1
  166. package/dist/custom-auth-path/custom_auth/sign_up/auth_flow/state/SignUpPasswordRequiredState.mjs +1 -1
  167. package/dist/custom-auth-path/custom_auth/sign_up/auth_flow/state/SignUpState.mjs +1 -1
  168. package/dist/custom-auth-path/custom_auth/sign_up/interaction_client/SignUpClient.mjs +1 -1
  169. package/dist/custom-auth-path/custom_auth/sign_up/interaction_client/result/SignUpActionResult.mjs +1 -1
  170. package/dist/custom-auth-path/encode/Base64Decode.mjs +1 -1
  171. package/dist/custom-auth-path/encode/Base64Encode.mjs +1 -1
  172. package/dist/custom-auth-path/error/BrowserAuthError.mjs +1 -1
  173. package/dist/custom-auth-path/error/BrowserAuthErrorCodes.mjs +1 -1
  174. package/dist/custom-auth-path/error/BrowserConfigurationAuthError.mjs +1 -1
  175. package/dist/custom-auth-path/error/BrowserConfigurationAuthErrorCodes.mjs +1 -1
  176. package/dist/custom-auth-path/error/NativeAuthError.mjs +1 -1
  177. package/dist/custom-auth-path/error/NativeAuthErrorCodes.mjs +1 -1
  178. package/dist/custom-auth-path/event/EventHandler.mjs +1 -1
  179. package/dist/custom-auth-path/event/EventType.mjs +1 -1
  180. package/dist/custom-auth-path/interaction_client/BaseInteractionClient.mjs +1 -1
  181. package/dist/custom-auth-path/interaction_client/HybridSpaAuthorizationCodeClient.mjs +1 -1
  182. package/dist/custom-auth-path/interaction_client/PlatformAuthInteractionClient.mjs +1 -1
  183. package/dist/custom-auth-path/interaction_client/PopupClient.mjs +1 -1
  184. package/dist/custom-auth-path/interaction_client/RedirectClient.mjs +1 -1
  185. package/dist/custom-auth-path/interaction_client/SilentAuthCodeClient.mjs +1 -1
  186. package/dist/custom-auth-path/interaction_client/SilentCacheClient.mjs +1 -1
  187. package/dist/custom-auth-path/interaction_client/SilentIframeClient.mjs +1 -1
  188. package/dist/custom-auth-path/interaction_client/SilentRefreshClient.mjs +1 -1
  189. package/dist/custom-auth-path/interaction_client/StandardInteractionClient.d.ts.map +1 -1
  190. package/dist/custom-auth-path/interaction_client/StandardInteractionClient.mjs +5 -1
  191. package/dist/custom-auth-path/interaction_client/StandardInteractionClient.mjs.map +1 -1
  192. package/dist/custom-auth-path/interaction_handler/InteractionHandler.mjs +1 -1
  193. package/dist/custom-auth-path/interaction_handler/SilentHandler.d.ts.map +1 -1
  194. package/dist/custom-auth-path/interaction_handler/SilentHandler.mjs +15 -2
  195. package/dist/custom-auth-path/interaction_handler/SilentHandler.mjs.map +1 -1
  196. package/dist/custom-auth-path/navigation/NavigationClient.mjs +1 -1
  197. package/dist/custom-auth-path/network/FetchClient.mjs +1 -1
  198. package/dist/custom-auth-path/operatingcontext/BaseOperatingContext.mjs +1 -1
  199. package/dist/custom-auth-path/operatingcontext/StandardOperatingContext.mjs +1 -1
  200. package/dist/custom-auth-path/packageMetadata.d.ts +1 -1
  201. package/dist/custom-auth-path/packageMetadata.mjs +2 -2
  202. package/dist/custom-auth-path/protocol/Authorize.mjs +1 -1
  203. package/dist/custom-auth-path/request/RequestHelpers.mjs +1 -1
  204. package/dist/custom-auth-path/response/ResponseHandler.mjs +1 -1
  205. package/dist/custom-auth-path/telemetry/BrowserPerformanceClient.d.ts +1 -0
  206. package/dist/custom-auth-path/telemetry/BrowserPerformanceClient.d.ts.map +1 -1
  207. package/dist/custom-auth-path/utils/BrowserConstants.mjs +1 -1
  208. package/dist/custom-auth-path/utils/BrowserProtocolUtils.mjs +1 -1
  209. package/dist/custom-auth-path/utils/BrowserUtils.mjs +1 -1
  210. package/dist/custom-auth-path/utils/Helpers.mjs +1 -1
  211. package/dist/custom-auth-path/utils/MsalFrameStatsUtils.d.ts +10 -0
  212. package/dist/custom-auth-path/utils/MsalFrameStatsUtils.d.ts.map +1 -1
  213. package/dist/custom-auth-path/utils/MsalFrameStatsUtils.mjs +5 -1
  214. package/dist/custom-auth-path/utils/MsalFrameStatsUtils.mjs.map +1 -1
  215. package/dist/custom_auth/CustomAuthConstants.d.ts +1 -1
  216. package/dist/encode/Base64Decode.mjs +1 -1
  217. package/dist/encode/Base64Encode.mjs +1 -1
  218. package/dist/error/BrowserAuthError.mjs +1 -1
  219. package/dist/error/BrowserAuthErrorCodes.mjs +1 -1
  220. package/dist/error/BrowserConfigurationAuthError.mjs +1 -1
  221. package/dist/error/BrowserConfigurationAuthErrorCodes.mjs +1 -1
  222. package/dist/error/NativeAuthError.mjs +1 -1
  223. package/dist/error/NativeAuthErrorCodes.mjs +1 -1
  224. package/dist/error/NestedAppAuthError.mjs +1 -1
  225. package/dist/event/EventHandler.mjs +1 -1
  226. package/dist/event/EventMessage.mjs +1 -1
  227. package/dist/event/EventType.mjs +1 -1
  228. package/dist/index.mjs +1 -1
  229. package/dist/interaction_client/BaseInteractionClient.mjs +1 -1
  230. package/dist/interaction_client/HybridSpaAuthorizationCodeClient.mjs +1 -1
  231. package/dist/interaction_client/PlatformAuthInteractionClient.mjs +1 -1
  232. package/dist/interaction_client/PopupClient.mjs +1 -1
  233. package/dist/interaction_client/RedirectClient.mjs +1 -1
  234. package/dist/interaction_client/SilentAuthCodeClient.mjs +1 -1
  235. package/dist/interaction_client/SilentCacheClient.mjs +1 -1
  236. package/dist/interaction_client/SilentIframeClient.mjs +1 -1
  237. package/dist/interaction_client/SilentRefreshClient.mjs +1 -1
  238. package/dist/interaction_client/StandardInteractionClient.d.ts.map +1 -1
  239. package/dist/interaction_client/StandardInteractionClient.mjs +5 -1
  240. package/dist/interaction_client/StandardInteractionClient.mjs.map +1 -1
  241. package/dist/interaction_handler/InteractionHandler.mjs +1 -1
  242. package/dist/interaction_handler/SilentHandler.d.ts.map +1 -1
  243. package/dist/interaction_handler/SilentHandler.mjs +15 -2
  244. package/dist/interaction_handler/SilentHandler.mjs.map +1 -1
  245. package/dist/naa/BridgeError.mjs +1 -1
  246. package/dist/naa/BridgeProxy.mjs +1 -1
  247. package/dist/naa/BridgeStatusCode.mjs +1 -1
  248. package/dist/naa/mapping/NestedAppAuthAdapter.mjs +1 -1
  249. package/dist/navigation/NavigationClient.mjs +1 -1
  250. package/dist/network/FetchClient.mjs +1 -1
  251. package/dist/operatingcontext/BaseOperatingContext.mjs +1 -1
  252. package/dist/operatingcontext/NestedAppOperatingContext.mjs +1 -1
  253. package/dist/operatingcontext/StandardOperatingContext.mjs +1 -1
  254. package/dist/operatingcontext/UnknownOperatingContext.mjs +1 -1
  255. package/dist/packageMetadata.d.ts +1 -1
  256. package/dist/packageMetadata.mjs +2 -2
  257. package/dist/protocol/Authorize.mjs +1 -1
  258. package/dist/request/RequestHelpers.mjs +1 -1
  259. package/dist/response/ResponseHandler.mjs +1 -1
  260. package/dist/telemetry/BrowserPerformanceClient.d.ts +1 -0
  261. package/dist/telemetry/BrowserPerformanceClient.d.ts.map +1 -1
  262. package/dist/telemetry/BrowserPerformanceClient.mjs +10 -1
  263. package/dist/telemetry/BrowserPerformanceClient.mjs.map +1 -1
  264. package/dist/telemetry/BrowserPerformanceMeasurement.mjs +1 -1
  265. package/dist/utils/BrowserConstants.mjs +1 -1
  266. package/dist/utils/BrowserProtocolUtils.mjs +1 -1
  267. package/dist/utils/BrowserUtils.mjs +1 -1
  268. package/dist/utils/Helpers.mjs +1 -1
  269. package/dist/utils/MsalFrameStatsUtils.d.ts +10 -0
  270. package/dist/utils/MsalFrameStatsUtils.d.ts.map +1 -1
  271. package/dist/utils/MsalFrameStatsUtils.mjs +18 -2
  272. package/dist/utils/MsalFrameStatsUtils.mjs.map +1 -1
  273. package/lib/custom-auth-path/msal-custom-auth.cjs +228 -109
  274. package/lib/custom-auth-path/msal-custom-auth.cjs.map +1 -1
  275. package/lib/custom-auth-path/msal-custom-auth.js +228 -109
  276. package/lib/custom-auth-path/msal-custom-auth.js.map +1 -1
  277. package/lib/custom-auth-path/types/broker/nativeBroker/PlatformAuthDOMHandler.d.ts.map +1 -1
  278. package/lib/custom-auth-path/types/controllers/StandardController.d.ts +4 -2
  279. package/lib/custom-auth-path/types/controllers/StandardController.d.ts.map +1 -1
  280. package/lib/custom-auth-path/types/custom_auth/CustomAuthConstants.d.ts +1 -1
  281. package/lib/custom-auth-path/types/interaction_client/StandardInteractionClient.d.ts.map +1 -1
  282. package/lib/custom-auth-path/types/interaction_handler/SilentHandler.d.ts.map +1 -1
  283. package/lib/custom-auth-path/types/packageMetadata.d.ts +1 -1
  284. package/lib/custom-auth-path/types/telemetry/BrowserPerformanceClient.d.ts +1 -0
  285. package/lib/custom-auth-path/types/telemetry/BrowserPerformanceClient.d.ts.map +1 -1
  286. package/lib/custom-auth-path/types/utils/MsalFrameStatsUtils.d.ts +10 -0
  287. package/lib/custom-auth-path/types/utils/MsalFrameStatsUtils.d.ts.map +1 -1
  288. package/lib/msal-browser.cjs +255 -111
  289. package/lib/msal-browser.cjs.map +1 -1
  290. package/lib/msal-browser.js +255 -111
  291. package/lib/msal-browser.js.map +1 -1
  292. package/lib/msal-browser.min.js +62 -62
  293. package/lib/types/broker/nativeBroker/PlatformAuthDOMHandler.d.ts.map +1 -1
  294. package/lib/types/controllers/StandardController.d.ts +4 -2
  295. package/lib/types/controllers/StandardController.d.ts.map +1 -1
  296. package/lib/types/custom_auth/CustomAuthConstants.d.ts +1 -1
  297. package/lib/types/interaction_client/StandardInteractionClient.d.ts.map +1 -1
  298. package/lib/types/interaction_handler/SilentHandler.d.ts.map +1 -1
  299. package/lib/types/packageMetadata.d.ts +1 -1
  300. package/lib/types/telemetry/BrowserPerformanceClient.d.ts +1 -0
  301. package/lib/types/telemetry/BrowserPerformanceClient.d.ts.map +1 -1
  302. package/lib/types/utils/MsalFrameStatsUtils.d.ts +10 -0
  303. package/lib/types/utils/MsalFrameStatsUtils.d.ts.map +1 -1
  304. package/package.json +2 -2
  305. package/src/broker/nativeBroker/PlatformAuthDOMHandler.ts +24 -13
  306. package/src/controllers/StandardController.ts +74 -41
  307. package/src/interaction_client/StandardInteractionClient.ts +12 -0
  308. package/src/interaction_handler/SilentHandler.ts +21 -1
  309. package/src/packageMetadata.ts +1 -1
  310. package/src/telemetry/BrowserPerformanceClient.ts +10 -0
  311. package/src/utils/MsalFrameStatsUtils.ts +27 -0
@@ -1,4 +1,4 @@
1
- /*! @azure/msal-browser v4.29.0 2026-02-23 */
1
+ /*! @azure/msal-browser v4.29.1 2026-03-13 */
2
2
  'use strict';
3
3
  (function (global, factory) {
4
4
  typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :
@@ -6,7 +6,7 @@
6
6
  (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.msal = {}));
7
7
  })(this, (function (exports) { 'use strict';
8
8
 
9
- /*! @azure/msal-common v15.15.0 2026-02-23 */
9
+ /*! @azure/msal-common v15.16.1 2026-03-13 */
10
10
  /*
11
11
  * Copyright (c) Microsoft Corporation. All rights reserved.
12
12
  * Licensed under the MIT License.
@@ -283,7 +283,7 @@
283
283
  // Token renewal offset default in seconds
284
284
  const DEFAULT_TOKEN_RENEWAL_OFFSET_SEC = 300;
285
285
 
286
- /*! @azure/msal-common v15.15.0 2026-02-23 */
286
+ /*! @azure/msal-common v15.16.1 2026-03-13 */
287
287
  /*
288
288
  * Copyright (c) Microsoft Corporation. All rights reserved.
289
289
  * Licensed under the MIT License.
@@ -300,7 +300,7 @@
300
300
  unexpectedError: unexpectedError
301
301
  });
302
302
 
303
- /*! @azure/msal-common v15.15.0 2026-02-23 */
303
+ /*! @azure/msal-common v15.16.1 2026-03-13 */
304
304
 
305
305
  /*
306
306
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -349,7 +349,7 @@
349
349
  : AuthErrorMessages[code]);
350
350
  }
351
351
 
352
- /*! @azure/msal-common v15.15.0 2026-02-23 */
352
+ /*! @azure/msal-common v15.16.1 2026-03-13 */
353
353
  /*
354
354
  * Copyright (c) Microsoft Corporation. All rights reserved.
355
355
  * Licensed under the MIT License.
@@ -449,7 +449,7 @@
449
449
  userTimeoutReached: userTimeoutReached
450
450
  });
451
451
 
452
- /*! @azure/msal-common v15.15.0 2026-02-23 */
452
+ /*! @azure/msal-common v15.16.1 2026-03-13 */
453
453
 
454
454
  /*
455
455
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -706,7 +706,7 @@
706
706
  return new ClientAuthError(errorCode, additionalMessage);
707
707
  }
708
708
 
709
- /*! @azure/msal-common v15.15.0 2026-02-23 */
709
+ /*! @azure/msal-common v15.16.1 2026-03-13 */
710
710
 
711
711
  /*
712
712
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -745,7 +745,7 @@
745
745
  },
746
746
  };
747
747
 
748
- /*! @azure/msal-common v15.15.0 2026-02-23 */
748
+ /*! @azure/msal-common v15.16.1 2026-03-13 */
749
749
 
750
750
  /*
751
751
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -936,12 +936,12 @@
936
936
  }
937
937
  }
938
938
 
939
- /*! @azure/msal-common v15.15.0 2026-02-23 */
939
+ /*! @azure/msal-common v15.16.1 2026-03-13 */
940
940
  /* eslint-disable header/header */
941
941
  const name$1 = "@azure/msal-common";
942
- const version$1 = "15.15.0";
942
+ const version$1 = "15.16.1";
943
943
 
944
- /*! @azure/msal-common v15.15.0 2026-02-23 */
944
+ /*! @azure/msal-common v15.16.1 2026-03-13 */
945
945
  /*
946
946
  * Copyright (c) Microsoft Corporation. All rights reserved.
947
947
  * Licensed under the MIT License.
@@ -961,7 +961,7 @@
961
961
  AzureUsGovernment: "https://login.microsoftonline.us",
962
962
  };
963
963
 
964
- /*! @azure/msal-common v15.15.0 2026-02-23 */
964
+ /*! @azure/msal-common v15.16.1 2026-03-13 */
965
965
  /*
966
966
  * Copyright (c) Microsoft Corporation. All rights reserved.
967
967
  * Licensed under the MIT License.
@@ -1019,7 +1019,7 @@
1019
1019
  urlParseError: urlParseError
1020
1020
  });
1021
1021
 
1022
- /*! @azure/msal-common v15.15.0 2026-02-23 */
1022
+ /*! @azure/msal-common v15.16.1 2026-03-13 */
1023
1023
 
1024
1024
  /*
1025
1025
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -1167,7 +1167,7 @@
1167
1167
  return new ClientConfigurationError(errorCode);
1168
1168
  }
1169
1169
 
1170
- /*! @azure/msal-common v15.15.0 2026-02-23 */
1170
+ /*! @azure/msal-common v15.16.1 2026-03-13 */
1171
1171
  /*
1172
1172
  * Copyright (c) Microsoft Corporation. All rights reserved.
1173
1173
  * Licensed under the MIT License.
@@ -1262,9 +1262,48 @@
1262
1262
  .replace(/\?/g, "\\?"));
1263
1263
  return regex.test(input);
1264
1264
  }
1265
+ /**
1266
+ * Tests if a given string matches a given pattern using stricter, anchored matching semantics.
1267
+ *
1268
+ * Differences from `matchPattern` (legacy):
1269
+ * - All regex metacharacters (including `.`) in the pattern are treated as literals,
1270
+ * so `example.com` matches only `example.com` and not `exampleXcom`.
1271
+ * - The generated regex is anchored with `^` and `$` so partial/substring matches
1272
+ * are not allowed.
1273
+ * - `*` is the only supported wildcard. Its behaviour depends on the URL component:
1274
+ * - `host` component: `*` matches any sequence of characters that does NOT include
1275
+ * a dot (`.`), keeping wildcards within a single DNS label boundary.
1276
+ * - All other components: `*` matches any sequence of characters (including `/`).
1277
+ *
1278
+ * @param pattern - The `protectedResourceMap` key pattern to match against. `*` is a
1279
+ * multi-character wildcard; all other characters are treated as literals.
1280
+ * @param input - The URL component value (e.g. host, pathname) extracted from the
1281
+ * outgoing request URL to test against the pattern.
1282
+ * @param options - Optional. Provide `component` to enable component-aware wildcard
1283
+ * semantics. Accepted values: `"host"`, `"path"`, `"protocol"`, `"search"`,
1284
+ * `"hash"`. Defaults to path-style (permissive) matching when omitted.
1285
+ * @returns `true` if the full input string matches the pattern; `false` otherwise.
1286
+ */
1287
+ static matchPatternStrict(pattern, input, options) {
1288
+ const component = options?.component;
1289
+ // Step 1: Escape all regex special characters so literals are matched literally.
1290
+ let regexBody = pattern.replace(/[.+^${}()|[\]\\*?]/g, "\\$&");
1291
+ // Step 2: Replace the escaped '*' with its component-aware regex equivalent.
1292
+ if (component === "host") {
1293
+ regexBody = regexBody.replace(/\\\*/g, "[^.]*");
1294
+ }
1295
+ else {
1296
+ // PATH, PROTOCOL, SEARCH, HASH, or unspecified: '*' matches any characters.
1297
+ regexBody = regexBody.replace(/\\\*/g, ".*");
1298
+ }
1299
+ // Step 3: Anchor for full-string matching.
1300
+ // eslint-disable-next-line security/detect-non-literal-regexp
1301
+ const regex = new RegExp(`^${regexBody}$`);
1302
+ return regex.test(input);
1303
+ }
1265
1304
  }
1266
1305
 
1267
- /*! @azure/msal-common v15.15.0 2026-02-23 */
1306
+ /*! @azure/msal-common v15.16.1 2026-03-13 */
1268
1307
 
1269
1308
  /*
1270
1309
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -1459,7 +1498,7 @@
1459
1498
  }
1460
1499
  }
1461
1500
 
1462
- /*! @azure/msal-common v15.15.0 2026-02-23 */
1501
+ /*! @azure/msal-common v15.16.1 2026-03-13 */
1463
1502
 
1464
1503
  /*
1465
1504
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -1499,7 +1538,7 @@
1499
1538
  };
1500
1539
  }
1501
1540
 
1502
- /*! @azure/msal-common v15.15.0 2026-02-23 */
1541
+ /*! @azure/msal-common v15.16.1 2026-03-13 */
1503
1542
  /*
1504
1543
  * Copyright (c) Microsoft Corporation. All rights reserved.
1505
1544
  * Licensed under the MIT License.
@@ -1581,7 +1620,7 @@
1581
1620
  return updatedAccountInfo;
1582
1621
  }
1583
1622
 
1584
- /*! @azure/msal-common v15.15.0 2026-02-23 */
1623
+ /*! @azure/msal-common v15.16.1 2026-03-13 */
1585
1624
  /*
1586
1625
  * Copyright (c) Microsoft Corporation. All rights reserved.
1587
1626
  * Licensed under the MIT License.
@@ -1596,7 +1635,7 @@
1596
1635
  Ciam: 3,
1597
1636
  };
1598
1637
 
1599
- /*! @azure/msal-common v15.15.0 2026-02-23 */
1638
+ /*! @azure/msal-common v15.16.1 2026-03-13 */
1600
1639
  /*
1601
1640
  * Copyright (c) Microsoft Corporation. All rights reserved.
1602
1641
  * Licensed under the MIT License.
@@ -1618,7 +1657,7 @@
1618
1657
  return null;
1619
1658
  }
1620
1659
 
1621
- /*! @azure/msal-common v15.15.0 2026-02-23 */
1660
+ /*! @azure/msal-common v15.16.1 2026-03-13 */
1622
1661
  /*
1623
1662
  * Copyright (c) Microsoft Corporation. All rights reserved.
1624
1663
  * Licensed under the MIT License.
@@ -1642,7 +1681,7 @@
1642
1681
  EAR: "EAR",
1643
1682
  };
1644
1683
 
1645
- /*! @azure/msal-common v15.15.0 2026-02-23 */
1684
+ /*! @azure/msal-common v15.16.1 2026-03-13 */
1646
1685
 
1647
1686
  /*
1648
1687
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -1877,7 +1916,7 @@
1877
1916
  }
1878
1917
  }
1879
1918
 
1880
- /*! @azure/msal-common v15.15.0 2026-02-23 */
1919
+ /*! @azure/msal-common v15.16.1 2026-03-13 */
1881
1920
 
1882
1921
  /*
1883
1922
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -1958,7 +1997,7 @@
1958
1997
  }
1959
1998
  }
1960
1999
 
1961
- /*! @azure/msal-common v15.15.0 2026-02-23 */
2000
+ /*! @azure/msal-common v15.16.1 2026-03-13 */
1962
2001
 
1963
2002
  /*
1964
2003
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -2074,7 +2113,7 @@
2074
2113
  }
2075
2114
  }
2076
2115
 
2077
- /*! @azure/msal-common v15.15.0 2026-02-23 */
2116
+ /*! @azure/msal-common v15.16.1 2026-03-13 */
2078
2117
 
2079
2118
  /*
2080
2119
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -2238,7 +2277,7 @@
2238
2277
  }
2239
2278
  }
2240
2279
 
2241
- /*! @azure/msal-common v15.15.0 2026-02-23 */
2280
+ /*! @azure/msal-common v15.16.1 2026-03-13 */
2242
2281
 
2243
2282
  /*
2244
2283
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -2413,7 +2452,7 @@
2413
2452
  return null;
2414
2453
  }
2415
2454
 
2416
- /*! @azure/msal-common v15.15.0 2026-02-23 */
2455
+ /*! @azure/msal-common v15.16.1 2026-03-13 */
2417
2456
  /*
2418
2457
  * Copyright (c) Microsoft Corporation. All rights reserved.
2419
2458
  * Licensed under the MIT License.
@@ -2421,7 +2460,7 @@
2421
2460
  const cacheQuotaExceeded = "cache_quota_exceeded";
2422
2461
  const cacheErrorUnknown = "cache_error_unknown";
2423
2462
 
2424
- /*! @azure/msal-common v15.15.0 2026-02-23 */
2463
+ /*! @azure/msal-common v15.16.1 2026-03-13 */
2425
2464
 
2426
2465
  /*
2427
2466
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -2466,7 +2505,7 @@
2466
2505
  }
2467
2506
  }
2468
2507
 
2469
- /*! @azure/msal-common v15.15.0 2026-02-23 */
2508
+ /*! @azure/msal-common v15.16.1 2026-03-13 */
2470
2509
 
2471
2510
  /*
2472
2511
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -3577,7 +3616,7 @@
3577
3616
  }
3578
3617
  }
3579
3618
 
3580
- /*! @azure/msal-common v15.15.0 2026-02-23 */
3619
+ /*! @azure/msal-common v15.16.1 2026-03-13 */
3581
3620
  /*
3582
3621
  * Copyright (c) Microsoft Corporation. All rights reserved.
3583
3622
  * Licensed under the MIT License.
@@ -4108,9 +4147,14 @@
4108
4147
  "currRefreshCount",
4109
4148
  "expiredCacheRemovedCount",
4110
4149
  "upgradedCacheCount",
4150
+ "networkRtt",
4151
+ "iframePollIntervalMs",
4152
+ "iframeTimeoutMs",
4153
+ "iframeTickCount",
4154
+ "crossOriginTickCount",
4111
4155
  ]);
4112
4156
 
4113
- /*! @azure/msal-common v15.15.0 2026-02-23 */
4157
+ /*! @azure/msal-common v15.16.1 2026-03-13 */
4114
4158
 
4115
4159
  /*
4116
4160
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -4189,7 +4233,7 @@
4189
4233
  }
4190
4234
  }
4191
4235
 
4192
- /*! @azure/msal-common v15.15.0 2026-02-23 */
4236
+ /*! @azure/msal-common v15.16.1 2026-03-13 */
4193
4237
 
4194
4238
  /*
4195
4239
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -4289,7 +4333,7 @@
4289
4333
  return (config.authOptions.authority.options.protocolMode === ProtocolMode.OIDC);
4290
4334
  }
4291
4335
 
4292
- /*! @azure/msal-common v15.15.0 2026-02-23 */
4336
+ /*! @azure/msal-common v15.16.1 2026-03-13 */
4293
4337
  /*
4294
4338
  * Copyright (c) Microsoft Corporation. All rights reserved.
4295
4339
  * Licensed under the MIT License.
@@ -4299,7 +4343,7 @@
4299
4343
  UPN: "UPN",
4300
4344
  };
4301
4345
 
4302
- /*! @azure/msal-common v15.15.0 2026-02-23 */
4346
+ /*! @azure/msal-common v15.16.1 2026-03-13 */
4303
4347
  /*
4304
4348
  * Copyright (c) Microsoft Corporation. All rights reserved.
4305
4349
  * Licensed under the MIT License.
@@ -4349,7 +4393,7 @@
4349
4393
  const EAR_JWK = "ear_jwk";
4350
4394
  const EAR_JWE_CRYPTO = "ear_jwe_crypto";
4351
4395
 
4352
- /*! @azure/msal-common v15.15.0 2026-02-23 */
4396
+ /*! @azure/msal-common v15.16.1 2026-03-13 */
4353
4397
 
4354
4398
  /*
4355
4399
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -4729,7 +4773,7 @@
4729
4773
  });
4730
4774
  }
4731
4775
 
4732
- /*! @azure/msal-common v15.15.0 2026-02-23 */
4776
+ /*! @azure/msal-common v15.16.1 2026-03-13 */
4733
4777
  /*
4734
4778
  * Copyright (c) Microsoft Corporation. All rights reserved.
4735
4779
  * Licensed under the MIT License.
@@ -4741,7 +4785,7 @@
4741
4785
  response.hasOwnProperty("jwks_uri"));
4742
4786
  }
4743
4787
 
4744
- /*! @azure/msal-common v15.15.0 2026-02-23 */
4788
+ /*! @azure/msal-common v15.16.1 2026-03-13 */
4745
4789
  /*
4746
4790
  * Copyright (c) Microsoft Corporation. All rights reserved.
4747
4791
  * Licensed under the MIT License.
@@ -4751,7 +4795,7 @@
4751
4795
  response.hasOwnProperty("metadata"));
4752
4796
  }
4753
4797
 
4754
- /*! @azure/msal-common v15.15.0 2026-02-23 */
4798
+ /*! @azure/msal-common v15.16.1 2026-03-13 */
4755
4799
  /*
4756
4800
  * Copyright (c) Microsoft Corporation. All rights reserved.
4757
4801
  * Licensed under the MIT License.
@@ -4761,7 +4805,7 @@
4761
4805
  response.hasOwnProperty("error_description"));
4762
4806
  }
4763
4807
 
4764
- /*! @azure/msal-common v15.15.0 2026-02-23 */
4808
+ /*! @azure/msal-common v15.16.1 2026-03-13 */
4765
4809
  /*
4766
4810
  * Copyright (c) Microsoft Corporation. All rights reserved.
4767
4811
  * Licensed under the MIT License.
@@ -4857,7 +4901,7 @@
4857
4901
  };
4858
4902
  };
4859
4903
 
4860
- /*! @azure/msal-common v15.15.0 2026-02-23 */
4904
+ /*! @azure/msal-common v15.16.1 2026-03-13 */
4861
4905
 
4862
4906
  /*
4863
4907
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -4963,7 +5007,7 @@
4963
5007
  },
4964
5008
  };
4965
5009
 
4966
- /*! @azure/msal-common v15.15.0 2026-02-23 */
5010
+ /*! @azure/msal-common v15.16.1 2026-03-13 */
4967
5011
  /*
4968
5012
  * Copyright (c) Microsoft Corporation. All rights reserved.
4969
5013
  * Licensed under the MIT License.
@@ -5028,7 +5072,7 @@
5028
5072
  return cachedAtSec > nowSeconds();
5029
5073
  }
5030
5074
 
5031
- /*! @azure/msal-common v15.15.0 2026-02-23 */
5075
+ /*! @azure/msal-common v15.16.1 2026-03-13 */
5032
5076
 
5033
5077
  /*
5034
5078
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -5290,7 +5334,7 @@
5290
5334
  return metadata.expiresAt <= nowSeconds();
5291
5335
  }
5292
5336
 
5293
- /*! @azure/msal-common v15.15.0 2026-02-23 */
5337
+ /*! @azure/msal-common v15.16.1 2026-03-13 */
5294
5338
 
5295
5339
  /*
5296
5340
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -6129,7 +6173,7 @@
6129
6173
  };
6130
6174
  }
6131
6175
 
6132
- /*! @azure/msal-common v15.15.0 2026-02-23 */
6176
+ /*! @azure/msal-common v15.16.1 2026-03-13 */
6133
6177
 
6134
6178
  /*
6135
6179
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -6160,7 +6204,7 @@
6160
6204
  }
6161
6205
  }
6162
6206
 
6163
- /*! @azure/msal-common v15.15.0 2026-02-23 */
6207
+ /*! @azure/msal-common v15.16.1 2026-03-13 */
6164
6208
 
6165
6209
  /*
6166
6210
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -6179,7 +6223,7 @@
6179
6223
  }
6180
6224
  }
6181
6225
 
6182
- /*! @azure/msal-common v15.15.0 2026-02-23 */
6226
+ /*! @azure/msal-common v15.16.1 2026-03-13 */
6183
6227
  /*
6184
6228
  * Copyright (c) Microsoft Corporation. All rights reserved.
6185
6229
  * Licensed under the MIT License.
@@ -6200,7 +6244,7 @@
6200
6244
  };
6201
6245
  }
6202
6246
 
6203
- /*! @azure/msal-common v15.15.0 2026-02-23 */
6247
+ /*! @azure/msal-common v15.16.1 2026-03-13 */
6204
6248
 
6205
6249
  /*
6206
6250
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -6287,7 +6331,7 @@
6287
6331
  }
6288
6332
  }
6289
6333
 
6290
- /*! @azure/msal-common v15.15.0 2026-02-23 */
6334
+ /*! @azure/msal-common v15.16.1 2026-03-13 */
6291
6335
 
6292
6336
  /*
6293
6337
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -6318,7 +6362,7 @@
6318
6362
  return new NetworkError(error, httpStatus, responseHeaders);
6319
6363
  }
6320
6364
 
6321
- /*! @azure/msal-common v15.15.0 2026-02-23 */
6365
+ /*! @azure/msal-common v15.16.1 2026-03-13 */
6322
6366
 
6323
6367
  /*
6324
6368
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -6466,7 +6510,7 @@
6466
6510
  }
6467
6511
  }
6468
6512
 
6469
- /*! @azure/msal-common v15.15.0 2026-02-23 */
6513
+ /*! @azure/msal-common v15.16.1 2026-03-13 */
6470
6514
  /*
6471
6515
  * Copyright (c) Microsoft Corporation. All rights reserved.
6472
6516
  * Licensed under the MIT License.
@@ -6530,7 +6574,7 @@
6530
6574
  uxNotAllowed: uxNotAllowed
6531
6575
  });
6532
6576
 
6533
- /*! @azure/msal-common v15.15.0 2026-02-23 */
6577
+ /*! @azure/msal-common v15.16.1 2026-03-13 */
6534
6578
 
6535
6579
  /*
6536
6580
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -6627,7 +6671,7 @@
6627
6671
  return new InteractionRequiredAuthError(errorCode, InteractionRequiredAuthErrorMessages[errorCode]);
6628
6672
  }
6629
6673
 
6630
- /*! @azure/msal-common v15.15.0 2026-02-23 */
6674
+ /*! @azure/msal-common v15.16.1 2026-03-13 */
6631
6675
 
6632
6676
  /*
6633
6677
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -6699,7 +6743,7 @@
6699
6743
  }
6700
6744
  }
6701
6745
 
6702
- /*! @azure/msal-common v15.15.0 2026-02-23 */
6746
+ /*! @azure/msal-common v15.16.1 2026-03-13 */
6703
6747
 
6704
6748
  /*
6705
6749
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -6781,7 +6825,7 @@
6781
6825
  }
6782
6826
  }
6783
6827
 
6784
- /*! @azure/msal-common v15.15.0 2026-02-23 */
6828
+ /*! @azure/msal-common v15.16.1 2026-03-13 */
6785
6829
  /*
6786
6830
  * Copyright (c) Microsoft Corporation. All rights reserved.
6787
6831
  * Licensed under the MIT License.
@@ -6808,7 +6852,7 @@
6808
6852
  }
6809
6853
  }
6810
6854
 
6811
- /*! @azure/msal-common v15.15.0 2026-02-23 */
6855
+ /*! @azure/msal-common v15.16.1 2026-03-13 */
6812
6856
 
6813
6857
  /*
6814
6858
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -7147,7 +7191,7 @@
7147
7191
  return baseAccount;
7148
7192
  }
7149
7193
 
7150
- /*! @azure/msal-common v15.15.0 2026-02-23 */
7194
+ /*! @azure/msal-common v15.16.1 2026-03-13 */
7151
7195
  /*
7152
7196
  * Copyright (c) Microsoft Corporation. All rights reserved.
7153
7197
  * Licensed under the MIT License.
@@ -7165,7 +7209,7 @@
7165
7209
  }
7166
7210
  }
7167
7211
 
7168
- /*! @azure/msal-common v15.15.0 2026-02-23 */
7212
+ /*! @azure/msal-common v15.16.1 2026-03-13 */
7169
7213
 
7170
7214
  /*
7171
7215
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -7314,11 +7358,6 @@
7314
7358
  throw createClientConfigurationError(missingSshJwk);
7315
7359
  }
7316
7360
  }
7317
- if (!StringUtils.isEmptyObj(request.claims) ||
7318
- (this.config.authOptions.clientCapabilities &&
7319
- this.config.authOptions.clientCapabilities.length > 0)) {
7320
- addClaims(parameters, request.claims, this.config.authOptions.clientCapabilities);
7321
- }
7322
7361
  let ccsCred = undefined;
7323
7362
  if (request.clientInfo) {
7324
7363
  try {
@@ -7368,6 +7407,15 @@
7368
7407
  });
7369
7408
  }
7370
7409
  instrumentBrokerParams(parameters, request.correlationId, this.performanceClient);
7410
+ // ignore config claims if skipBrokerClaims is set to true and this is a brokered authentication flow
7411
+ const configClaims = request.skipBrokerClaims &&
7412
+ parameters.has(BROKER_CLIENT_ID)
7413
+ ? undefined
7414
+ : this.config.authOptions.clientCapabilities;
7415
+ if (!StringUtils.isEmptyObj(request.claims) ||
7416
+ (configClaims && configClaims.length > 0)) {
7417
+ addClaims(parameters, request.claims, configClaims);
7418
+ }
7371
7419
  return mapToQueryString(parameters);
7372
7420
  }
7373
7421
  /**
@@ -7401,7 +7449,7 @@
7401
7449
  }
7402
7450
  }
7403
7451
 
7404
- /*! @azure/msal-common v15.15.0 2026-02-23 */
7452
+ /*! @azure/msal-common v15.16.1 2026-03-13 */
7405
7453
 
7406
7454
  /*
7407
7455
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -7579,11 +7627,6 @@
7579
7627
  throw createClientConfigurationError(missingSshJwk);
7580
7628
  }
7581
7629
  }
7582
- if (!StringUtils.isEmptyObj(request.claims) ||
7583
- (this.config.authOptions.clientCapabilities &&
7584
- this.config.authOptions.clientCapabilities.length > 0)) {
7585
- addClaims(parameters, request.claims, this.config.authOptions.clientCapabilities);
7586
- }
7587
7630
  if (this.config.systemOptions.preventCorsPreflight &&
7588
7631
  request.ccsCredential) {
7589
7632
  switch (request.ccsCredential.type) {
@@ -7609,11 +7652,20 @@
7609
7652
  addExtraQueryParameters(parameters, request.tokenBodyParameters);
7610
7653
  }
7611
7654
  instrumentBrokerParams(parameters, request.correlationId, this.performanceClient);
7655
+ // ignore config claims if skipBrokerClaims is set to true and this is a brokered authentication flow
7656
+ const configClaims = request.skipBrokerClaims &&
7657
+ parameters.has(BROKER_CLIENT_ID)
7658
+ ? undefined
7659
+ : this.config.authOptions.clientCapabilities;
7660
+ if (!StringUtils.isEmptyObj(request.claims) ||
7661
+ (configClaims && configClaims.length > 0)) {
7662
+ addClaims(parameters, request.claims, configClaims);
7663
+ }
7612
7664
  return mapToQueryString(parameters);
7613
7665
  }
7614
7666
  }
7615
7667
 
7616
- /*! @azure/msal-common v15.15.0 2026-02-23 */
7668
+ /*! @azure/msal-common v15.16.1 2026-03-13 */
7617
7669
 
7618
7670
  /*
7619
7671
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -7711,7 +7763,7 @@
7711
7763
  }
7712
7764
  }
7713
7765
 
7714
- /*! @azure/msal-common v15.15.0 2026-02-23 */
7766
+ /*! @azure/msal-common v15.16.1 2026-03-13 */
7715
7767
 
7716
7768
  /*
7717
7769
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -7726,7 +7778,7 @@
7726
7778
  },
7727
7779
  };
7728
7780
 
7729
- /*! @azure/msal-common v15.15.0 2026-02-23 */
7781
+ /*! @azure/msal-common v15.16.1 2026-03-13 */
7730
7782
 
7731
7783
  /*
7732
7784
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -7847,14 +7899,17 @@
7847
7899
  if (request.state) {
7848
7900
  addState(parameters, request.state);
7849
7901
  }
7850
- if (request.claims ||
7851
- (authOptions.clientCapabilities &&
7852
- authOptions.clientCapabilities.length > 0)) {
7853
- addClaims(parameters, request.claims, authOptions.clientCapabilities);
7854
- }
7855
7902
  if (request.embeddedClientId) {
7856
7903
  addBrokerParameters(parameters, authOptions.clientId, authOptions.redirectUri);
7857
7904
  }
7905
+ // ignore config claims if skipBrokerClaims is set to true and this is a brokered authentication flow
7906
+ const configClaims = request.skipBrokerClaims &&
7907
+ parameters.has(BROKER_CLIENT_ID)
7908
+ ? undefined
7909
+ : authOptions.clientCapabilities;
7910
+ if (request.claims || (configClaims && configClaims.length > 0)) {
7911
+ addClaims(parameters, request.claims, configClaims);
7912
+ }
7858
7913
  // If extraQueryParameters includes instance_aware its value will be added when extraQueryParameters are added
7859
7914
  if (authOptions.instanceAware &&
7860
7915
  (!request.extraQueryParameters ||
@@ -7950,7 +8005,7 @@
7950
8005
  return account.loginHint || account.idTokenClaims?.login_hint || null;
7951
8006
  }
7952
8007
 
7953
- /*! @azure/msal-common v15.15.0 2026-02-23 */
8008
+ /*! @azure/msal-common v15.16.1 2026-03-13 */
7954
8009
 
7955
8010
  /*
7956
8011
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -8008,7 +8063,7 @@
8008
8063
  }
8009
8064
  }
8010
8065
 
8011
- /*! @azure/msal-common v15.15.0 2026-02-23 */
8066
+ /*! @azure/msal-common v15.16.1 2026-03-13 */
8012
8067
 
8013
8068
  /*
8014
8069
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -8271,7 +8326,7 @@
8271
8326
  }
8272
8327
  }
8273
8328
 
8274
- /*! @azure/msal-common v15.15.0 2026-02-23 */
8329
+ /*! @azure/msal-common v15.16.1 2026-03-13 */
8275
8330
  /*
8276
8331
  * Copyright (c) Microsoft Corporation. All rights reserved.
8277
8332
  * Licensed under the MIT License.
@@ -8279,7 +8334,7 @@
8279
8334
  const missingKidError = "missing_kid_error";
8280
8335
  const missingAlgError = "missing_alg_error";
8281
8336
 
8282
- /*! @azure/msal-common v15.15.0 2026-02-23 */
8337
+ /*! @azure/msal-common v15.16.1 2026-03-13 */
8283
8338
 
8284
8339
  /*
8285
8340
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -8304,7 +8359,7 @@
8304
8359
  return new JoseHeaderError(code, JoseHeaderErrorMessages[code]);
8305
8360
  }
8306
8361
 
8307
- /*! @azure/msal-common v15.15.0 2026-02-23 */
8362
+ /*! @azure/msal-common v15.16.1 2026-03-13 */
8308
8363
 
8309
8364
  /*
8310
8365
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -8344,7 +8399,7 @@
8344
8399
  }
8345
8400
  }
8346
8401
 
8347
- /*! @azure/msal-common v15.15.0 2026-02-23 */
8402
+ /*! @azure/msal-common v15.16.1 2026-03-13 */
8348
8403
 
8349
8404
  /*
8350
8405
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -10486,7 +10541,7 @@
10486
10541
 
10487
10542
  /* eslint-disable header/header */
10488
10543
  const name = "@azure/msal-browser";
10489
- const version = "4.29.0";
10544
+ const version = "4.29.1";
10490
10545
 
10491
10546
  /*
10492
10547
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -13959,6 +14014,10 @@
13959
14014
  async initializeAuthorizationRequest(request, interactionType) {
13960
14015
  this.performanceClient.addQueueMeasurement(PerformanceEvents.StandardInteractionClientInitializeAuthorizationRequest, this.correlationId);
13961
14016
  const redirectUri = this.getRedirectUri(request.redirectUri);
14017
+ if (new URL(redirectUri).origin !== new URL(window.location.href).origin) {
14018
+ this.logger.warning("The origin of the redirect URI does not match the origin of the current page. This is likely to cause issues with authentication.", this.correlationId);
14019
+ this.performanceClient.addFields({ isRedirectUriCrossOrigin: true }, this.correlationId);
14020
+ }
13962
14021
  const browserState = {
13963
14022
  interactionType: interactionType,
13964
14023
  };
@@ -15569,14 +15628,28 @@
15569
15628
  return nativeResponse;
15570
15629
  }
15571
15630
  getDOMExtraParams(extraParameters) {
15572
- const stringifiedParams = Object.entries(extraParameters).reduce((record, [key, value]) => {
15573
- record[key] = String(value);
15574
- return record;
15575
- }, {});
15576
- const validExtraParams = {
15577
- ...stringifiedParams,
15578
- };
15579
- return validExtraParams;
15631
+ try {
15632
+ const stringifiedProperties = {};
15633
+ for (const [key, value] of Object.entries(extraParameters)) {
15634
+ if (!value) {
15635
+ continue;
15636
+ }
15637
+ if (typeof value === "object") {
15638
+ stringifiedProperties[key] = JSON.stringify(value);
15639
+ }
15640
+ else {
15641
+ stringifiedProperties[key] = String(value);
15642
+ }
15643
+ }
15644
+ return stringifiedProperties;
15645
+ }
15646
+ catch (e) {
15647
+ this.logger.error(this.platformAuthType + " - Error stringifying extra parameters");
15648
+ this.logger.errorPii(this.platformAuthType +
15649
+ " - Error stringifying extra parameters: " +
15650
+ e);
15651
+ return {};
15652
+ }
15580
15653
  }
15581
15654
  }
15582
15655
 
@@ -16643,6 +16716,12 @@
16643
16716
  */
16644
16717
  async function monitorIframeForHash(iframe, timeout, pollIntervalMilliseconds, performanceClient, logger, correlationId, responseType) {
16645
16718
  performanceClient.addQueueMeasurement(PerformanceEvents.SilentHandlerMonitorIframeForHash, correlationId);
16719
+ performanceClient.addFields({
16720
+ iframePollIntervalMs: pollIntervalMilliseconds,
16721
+ iframeTimeoutMs: timeout,
16722
+ }, correlationId);
16723
+ let totalTickCount = 0;
16724
+ let crossOriginTickCount = 0;
16646
16725
  return new Promise((resolve, reject) => {
16647
16726
  if (timeout < DEFAULT_IFRAME_TIMEOUT_MS) {
16648
16727
  logger.warning(`system.loadFrameTimeout or system.iframeHashTimeout set to lower (${timeout}ms) than the default (${DEFAULT_IFRAME_TIMEOUT_MS}ms). This may result in timeouts.`);
@@ -16656,6 +16735,7 @@
16656
16735
  reject(createBrowserAuthError(monitorWindowTimeout));
16657
16736
  }, timeout);
16658
16737
  const intervalId = window.setInterval(() => {
16738
+ totalTickCount++;
16659
16739
  let href = "";
16660
16740
  const contentWindow = iframe.contentWindow;
16661
16741
  try {
@@ -16666,7 +16746,9 @@
16666
16746
  */
16667
16747
  href = contentWindow ? contentWindow.location.href : "";
16668
16748
  }
16669
- catch (e) { }
16749
+ catch (e) {
16750
+ crossOriginTickCount++;
16751
+ }
16670
16752
  if (!href || href === "about:blank") {
16671
16753
  return;
16672
16754
  }
@@ -16684,6 +16766,10 @@
16684
16766
  resolve(responseString);
16685
16767
  }, pollIntervalMilliseconds);
16686
16768
  }).finally(() => {
16769
+ performanceClient.addFields({
16770
+ iframeTickCount: totalTickCount,
16771
+ crossOriginTickCount: crossOriginTickCount,
16772
+ }, correlationId);
16687
16773
  invoke(removeHiddenIframe, PerformanceEvents.RemoveHiddenIframe, logger, performanceClient, correlationId)(iframe);
16688
16774
  });
16689
16775
  }
@@ -17311,6 +17397,22 @@
17311
17397
  * Copyright (c) Microsoft Corporation. All rights reserved.
17312
17398
  * Licensed under the MIT License.
17313
17399
  */
17400
+ /**
17401
+ * Get network information for telemetry purposes. This is only supported in Chromium-based browsers.
17402
+ * @returns Network connection information, or an empty object if not available.
17403
+ */
17404
+ function getNetworkInfo() {
17405
+ if (typeof window === "undefined" || !window.navigator) {
17406
+ return {};
17407
+ }
17408
+ const connection = "connection" in window.navigator
17409
+ ? window.navigator.connection
17410
+ : undefined;
17411
+ return {
17412
+ effectiveType: connection?.effectiveType,
17413
+ rtt: connection?.rtt,
17414
+ };
17415
+ }
17314
17416
  function collectInstanceStats(currentClientId, performanceEvent, logger) {
17315
17417
  const frameInstances =
17316
17418
  // @ts-ignore
@@ -17404,22 +17506,30 @@
17404
17506
  this.tokenCache = new TokenCache(this.config, this.browserStorage, this.logger, this.browserCrypto, this.performanceClient);
17405
17507
  this.activeSilentTokenRequests = new Map();
17406
17508
  // Register listener functions
17407
- this.trackPageVisibility = this.trackPageVisibility.bind(this);
17408
- // Register listener functions
17409
- this.trackPageVisibilityWithMeasurement =
17410
- this.trackPageVisibilityWithMeasurement.bind(this);
17509
+ this.trackStateChangeWithMeasurement =
17510
+ this.trackStateChangeWithMeasurement.bind(this);
17411
17511
  }
17412
17512
  static async createController(operatingContext, request) {
17413
17513
  const controller = new StandardController(operatingContext);
17414
17514
  await controller.initialize(request);
17415
17515
  return controller;
17416
17516
  }
17417
- trackPageVisibility(correlationId) {
17517
+ trackStateChange(correlationId, event) {
17418
17518
  if (!correlationId) {
17419
17519
  return;
17420
17520
  }
17421
- this.logger.info("Perf: Visibility change detected");
17422
- this.performanceClient.incrementFields({ visibilityChangeCount: 1 }, correlationId);
17521
+ if (event.type === "visibilitychange") {
17522
+ this.logger.info("Perf: Visibility change detected");
17523
+ this.performanceClient.incrementFields({ visibilityChangeCount: 1 }, correlationId);
17524
+ }
17525
+ else if (event.type === "online") {
17526
+ this.logger.info("Perf: Online status change detected");
17527
+ this.performanceClient.incrementFields({ onlineStatusChangeCount: 1 }, correlationId);
17528
+ }
17529
+ else if (event.type === "offline") {
17530
+ this.logger.info("Perf: Offline status change detected");
17531
+ this.performanceClient.incrementFields({ onlineStatusChangeCount: 1 }, correlationId);
17532
+ }
17423
17533
  }
17424
17534
  /**
17425
17535
  * Initializer function to perform async startup tasks such as connecting to WAM extension
@@ -17825,16 +17935,40 @@
17825
17935
  }
17826
17936
  });
17827
17937
  }
17828
- trackPageVisibilityWithMeasurement() {
17938
+ trackStateChangeWithMeasurement(event) {
17829
17939
  const measurement = this.ssoSilentMeasurement ||
17830
17940
  this.acquireTokenByCodeAsyncMeasurement;
17831
17941
  if (!measurement) {
17832
17942
  return;
17833
17943
  }
17834
- this.logger.info("Perf: Visibility change detected in ", measurement.event.name);
17835
- measurement.increment({
17836
- visibilityChangeCount: 1,
17837
- });
17944
+ if (event.type === "visibilitychange") {
17945
+ this.logger.info("Perf: Visibility change detected in ", measurement.event.name);
17946
+ measurement.increment({
17947
+ visibilityChangeCount: 1,
17948
+ });
17949
+ }
17950
+ else if (event.type === "online") {
17951
+ this.logger.info("Perf: Online status change detected in ", measurement.event.name);
17952
+ measurement.increment({
17953
+ onlineStatusChangeCount: 1,
17954
+ });
17955
+ }
17956
+ else if (event.type === "offline") {
17957
+ this.logger.info("Perf: Offline status change detected in ", measurement.event.name);
17958
+ measurement.increment({
17959
+ onlineStatusChangeCount: 1,
17960
+ });
17961
+ }
17962
+ }
17963
+ addStateChangeListeners(listener) {
17964
+ document.addEventListener("visibilitychange", listener);
17965
+ window.addEventListener("online", listener);
17966
+ window.addEventListener("offline", listener);
17967
+ }
17968
+ removeStateChangeListeners(listener) {
17969
+ document.removeEventListener("visibilitychange", listener);
17970
+ window.removeEventListener("online", listener);
17971
+ window.removeEventListener("offline", listener);
17838
17972
  }
17839
17973
  /**
17840
17974
  * SSO capability verification in the background.
@@ -17915,8 +18049,9 @@
17915
18049
  preflightCheck(this.initialized, this.ssoSilentMeasurement, request.account);
17916
18050
  this.ssoSilentMeasurement?.increment({
17917
18051
  visibilityChangeCount: 0,
18052
+ onlineStatusChangeCount: 0,
17918
18053
  });
17919
- document.addEventListener("visibilitychange", this.trackPageVisibilityWithMeasurement);
18054
+ this.addStateChangeListeners(this.trackStateChangeWithMeasurement);
17920
18055
  this.logger.verbose("ssoSilent called", correlationId);
17921
18056
  this.eventHandler.emitEvent(EventType.SSO_SILENT_START, exports.InteractionType.Silent, validRequest);
17922
18057
  let result;
@@ -17960,7 +18095,7 @@
17960
18095
  throw e;
17961
18096
  })
17962
18097
  .finally(() => {
17963
- document.removeEventListener("visibilitychange", this.trackPageVisibilityWithMeasurement);
18098
+ this.removeStateChangeListeners(this.trackStateChangeWithMeasurement);
17964
18099
  });
17965
18100
  }
17966
18101
  /**
@@ -18072,8 +18207,9 @@
18072
18207
  this.performanceClient.startMeasurement(PerformanceEvents.AcquireTokenByCodeAsync, request.correlationId);
18073
18208
  this.acquireTokenByCodeAsyncMeasurement?.increment({
18074
18209
  visibilityChangeCount: 0,
18210
+ onlineStatusChangeCount: 0,
18075
18211
  });
18076
- document.addEventListener("visibilitychange", this.trackPageVisibilityWithMeasurement);
18212
+ this.addStateChangeListeners(this.trackStateChangeWithMeasurement);
18077
18213
  const silentAuthCodeClient = this.createSilentAuthCodeClient(request.correlationId);
18078
18214
  const silentTokenResult = await silentAuthCodeClient
18079
18215
  .acquireToken(request)
@@ -18091,7 +18227,7 @@
18091
18227
  throw tokenRenewalError;
18092
18228
  })
18093
18229
  .finally(() => {
18094
- document.removeEventListener("visibilitychange", this.trackPageVisibilityWithMeasurement);
18230
+ this.removeStateChangeListeners(this.trackStateChangeWithMeasurement);
18095
18231
  });
18096
18232
  return silentTokenResult;
18097
18233
  }
@@ -18636,13 +18772,13 @@
18636
18772
  * @returns {Promise.<AuthenticationResult>} - a promise that is fulfilled when this function has completed, or rejected if an error was raised. Returns the {@link AuthResponse}
18637
18773
  */
18638
18774
  async acquireTokenSilentAsync(request, account) {
18639
- const trackPageVisibility = () => this.trackPageVisibility(request.correlationId);
18775
+ const trackStateChange = (event) => this.trackStateChange(request.correlationId, event);
18640
18776
  this.performanceClient.addQueueMeasurement(PerformanceEvents.AcquireTokenSilentAsync, request.correlationId);
18641
18777
  this.eventHandler.emitEvent(EventType.ACQUIRE_TOKEN_START, exports.InteractionType.Silent, request);
18642
18778
  if (request.correlationId) {
18643
- this.performanceClient.incrementFields({ visibilityChangeCount: 0 }, request.correlationId);
18779
+ this.performanceClient.incrementFields({ visibilityChangeCount: 0, onlineStatusChangeCount: 0 }, request.correlationId);
18644
18780
  }
18645
- document.addEventListener("visibilitychange", trackPageVisibility);
18781
+ this.addStateChangeListeners(trackStateChange);
18646
18782
  const silentRequest = await invokeAsync(initializeSilentRequest, PerformanceEvents.InitializeSilentRequest, this.logger, this.performanceClient, request.correlationId)(request, account, this.config, this.performanceClient, this.logger);
18647
18783
  const cacheLookupPolicy = request.cacheLookupPolicy || CacheLookupPolicy.Default;
18648
18784
  const result = this.acquireTokenSilentNoIframe(silentRequest, cacheLookupPolicy).catch(async (refreshTokenError) => {
@@ -18721,7 +18857,7 @@
18721
18857
  throw tokenRenewalError;
18722
18858
  })
18723
18859
  .finally(() => {
18724
- document.removeEventListener("visibilitychange", trackPageVisibility);
18860
+ this.removeStateChangeListeners(trackStateChange);
18725
18861
  });
18726
18862
  }
18727
18863
  /**
@@ -20900,6 +21036,9 @@
20900
21036
  getPageVisibility() {
20901
21037
  return document.visibilityState?.toString() || null;
20902
21038
  }
21039
+ getOnlineStatus() {
21040
+ return typeof navigator !== "undefined" ? navigator.onLine : null;
21041
+ }
20903
21042
  deleteIncompleteSubMeasurements(inProgressEvent) {
20904
21043
  void getPerfMeasurementModule()?.then((module) => {
20905
21044
  const rootEvent = this.eventsByCorrelationId.get(inProgressEvent.event.correlationId);
@@ -20926,6 +21065,7 @@
20926
21065
  startMeasurement(measureName, correlationId) {
20927
21066
  // Capture page visibilityState and then invoke start/end measurement
20928
21067
  const startPageVisibility = this.getPageVisibility();
21068
+ const startOnlineStatus = this.getOnlineStatus();
20929
21069
  const inProgressEvent = super.startMeasurement(measureName, correlationId);
20930
21070
  const startTime = supportsBrowserPerformanceNow()
20931
21071
  ? window.performance.now()
@@ -20937,11 +21077,15 @@
20937
21077
  return {
20938
21078
  ...inProgressEvent,
20939
21079
  end: (event, error, account) => {
21080
+ const networkInfo = getNetworkInfo();
20940
21081
  const res = inProgressEvent.end({
20941
21082
  ...event,
20942
21083
  startPageVisibility,
21084
+ startOnlineStatus,
20943
21085
  endPageVisibility: this.getPageVisibility(),
20944
21086
  durationMs: getPerfDurationMs(startTime),
21087
+ networkEffectiveType: networkInfo.effectiveType,
21088
+ networkRtt: networkInfo.rtt,
20945
21089
  }, error, account);
20946
21090
  void browserMeasurement?.then((measurement) => measurement.endMeasurement());
20947
21091
  this.deleteIncompleteSubMeasurements(inProgressEvent);