Commit eb893e5
Track online/offline status change (#8410)
This pull request enhances the MSAL browser library's ability to track
and measure browser state changes related to both page visibility and
online/offline status. It introduces new telemetry fields, refactors
event listener management for improved maintainability, and updates
tests and API documentation accordingly.
**Browser state change tracking and telemetry improvements:**
* Added tracking for online/offline status changes alongside existing
visibility change tracking in `StandardController`, including
incrementing a new `onlineStatusChangeCount` field in performance
measurements.
[[1]](diffhunk://#diff-d8bde128bad64cb357b230e9a738968be4d62b4e3d7c78e889f3e38d4689f73fL295-R309)
[[2]](diffhunk://#diff-d8bde128bad64cb357b230e9a738968be4d62b4e3d7c78e889f3e38d4689f73fL981-R1023)
[[3]](diffhunk://#diff-d8bde128bad64cb357b230e9a738968be4d62b4e3d7c78e889f3e38d4689f73fR1139-R1142)
[[4]](diffhunk://#diff-d8bde128bad64cb357b230e9a738968be4d62b4e3d7c78e889f3e38d4689f73fR1392-R1394)
[[5]](diffhunk://#diff-d8bde128bad64cb357b230e9a738968be4d62b4e3d7c78e889f3e38d4689f73fL2306-R2333)
* Refactored event listener management by introducing
`addStateChangeListeners` and `removeStateChangeListeners` methods to
handle both visibility and online/offline events, improving code
maintainability and reducing duplication.
[[1]](diffhunk://#diff-d8bde128bad64cb357b230e9a738968be4d62b4e3d7c78e889f3e38d4689f73fL981-R1023)
[[2]](diffhunk://#diff-d8bde128bad64cb357b230e9a738968be4d62b4e3d7c78e889f3e38d4689f73fR1139-R1142)
[[3]](diffhunk://#diff-d8bde128bad64cb357b230e9a738968be4d62b4e3d7c78e889f3e38d4689f73fL1190-R1217)
[[4]](diffhunk://#diff-d8bde128bad64cb357b230e9a738968be4d62b4e3d7c78e889f3e38d4689f73fR1392-R1394)
[[5]](diffhunk://#diff-d8bde128bad64cb357b230e9a738968be4d62b4e3d7c78e889f3e38d4689f73fL1394-R1418)
[[6]](diffhunk://#diff-d8bde128bad64cb357b230e9a738968be4d62b4e3d7c78e889f3e38d4689f73fL2291-R2314)
[[7]](diffhunk://#diff-d8bde128bad64cb357b230e9a738968be4d62b4e3d7c78e889f3e38d4689f73fL2457-R2479)
**Performance measurement enhancements:**
* Updated `BrowserPerformanceClient` to capture the browser's online
status at the start of a measurement and include it in the telemetry
event as `startOnlineStatus`.
[[1]](diffhunk://#diff-7bf3f5ead1c2093dd056541885a7effa8b79d493ebfac484c2bce9e132cb42e6R103-R106)
[[2]](diffhunk://#diff-7bf3f5ead1c2093dd056541885a7effa8b79d493ebfac484c2bce9e132cb42e6R147)
[[3]](diffhunk://#diff-7bf3f5ead1c2093dd056541885a7effa8b79d493ebfac484c2bce9e132cb42e6R179)
**Testing and API documentation:**
* Added a new unit test to verify that online status is correctly
captured at the start of a performance measurement.
* Extended the public API type `PerformanceEvent` to include the new
`startOnlineStatus` and `onlineStatusChangeCount` fields.
[[1]](diffhunk://#diff-09087b913ebbfa828e5f36b7476a400328e0a7131db84f622cc5f6994759a117R3441)
[[2]](diffhunk://#diff-09087b913ebbfa828e5f36b7476a400328e0a7131db84f622cc5f6994759a117R3462)
**Minor API cleanup:**
* Updated the signature of `generateAppMetadataKey` to use a single
input parameter for clarity.
---------
Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com>
Co-authored-by: tnorling <5307810+tnorling@users.noreply.github.com>1 parent d221f4e commit eb893e5
File tree
8 files changed
+878
-2495
lines changed- change
- lib
- msal-browser
- src
- controllers
- telemetry
- test/telemetry
- msal-common
- apiReview
- src/telemetry/performance
8 files changed
+878
-2495
lines changedLines changed: 7 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
Lines changed: 7 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
276 | 276 | | |
277 | 277 | | |
278 | 278 | | |
279 | | - | |
280 | | - | |
281 | | - | |
282 | | - | |
283 | | - | |
| 279 | + | |
| 280 | + | |
284 | 281 | | |
285 | 282 | | |
286 | 283 | | |
| |||
292 | 289 | | |
293 | 290 | | |
294 | 291 | | |
295 | | - | |
| 292 | + | |
296 | 293 | | |
297 | 294 | | |
298 | 295 | | |
299 | | - | |
300 | | - | |
301 | | - | |
302 | | - | |
303 | | - | |
| 296 | + | |
| 297 | + | |
| 298 | + | |
| 299 | + | |
| 300 | + | |
| 301 | + | |
| 302 | + | |
| 303 | + | |
| 304 | + | |
| 305 | + | |
| 306 | + | |
| 307 | + | |
| 308 | + | |
| 309 | + | |
| 310 | + | |
| 311 | + | |
| 312 | + | |
| 313 | + | |
| 314 | + | |
| 315 | + | |
304 | 316 | | |
305 | 317 | | |
306 | 318 | | |
| |||
978 | 990 | | |
979 | 991 | | |
980 | 992 | | |
981 | | - | |
| 993 | + | |
982 | 994 | | |
983 | 995 | | |
984 | 996 | | |
985 | 997 | | |
986 | 998 | | |
987 | 999 | | |
988 | 1000 | | |
989 | | - | |
990 | | - | |
991 | | - | |
992 | | - | |
993 | | - | |
994 | | - | |
995 | | - | |
| 1001 | + | |
| 1002 | + | |
| 1003 | + | |
| 1004 | + | |
| 1005 | + | |
| 1006 | + | |
| 1007 | + | |
| 1008 | + | |
| 1009 | + | |
| 1010 | + | |
| 1011 | + | |
| 1012 | + | |
| 1013 | + | |
| 1014 | + | |
| 1015 | + | |
| 1016 | + | |
| 1017 | + | |
| 1018 | + | |
| 1019 | + | |
| 1020 | + | |
| 1021 | + | |
| 1022 | + | |
| 1023 | + | |
| 1024 | + | |
| 1025 | + | |
| 1026 | + | |
| 1027 | + | |
| 1028 | + | |
| 1029 | + | |
| 1030 | + | |
| 1031 | + | |
| 1032 | + | |
| 1033 | + | |
| 1034 | + | |
| 1035 | + | |
| 1036 | + | |
| 1037 | + | |
996 | 1038 | | |
997 | 1039 | | |
998 | 1040 | | |
| |||
1108 | 1150 | | |
1109 | 1151 | | |
1110 | 1152 | | |
| 1153 | + | |
1111 | 1154 | | |
1112 | 1155 | | |
1113 | | - | |
1114 | | - | |
1115 | | - | |
1116 | | - | |
| 1156 | + | |
1117 | 1157 | | |
1118 | 1158 | | |
1119 | 1159 | | |
| |||
1187 | 1227 | | |
1188 | 1228 | | |
1189 | 1229 | | |
1190 | | - | |
1191 | | - | |
1192 | | - | |
| 1230 | + | |
| 1231 | + | |
1193 | 1232 | | |
1194 | 1233 | | |
1195 | 1234 | | |
| |||
1364 | 1403 | | |
1365 | 1404 | | |
1366 | 1405 | | |
| 1406 | + | |
1367 | 1407 | | |
1368 | | - | |
1369 | | - | |
1370 | | - | |
1371 | | - | |
| 1408 | + | |
1372 | 1409 | | |
1373 | 1410 | | |
1374 | 1411 | | |
| |||
1391 | 1428 | | |
1392 | 1429 | | |
1393 | 1430 | | |
1394 | | - | |
1395 | | - | |
1396 | | - | |
| 1431 | + | |
| 1432 | + | |
1397 | 1433 | | |
1398 | 1434 | | |
1399 | 1435 | | |
| |||
2288 | 2324 | | |
2289 | 2325 | | |
2290 | 2326 | | |
2291 | | - | |
2292 | | - | |
| 2327 | + | |
| 2328 | + | |
2293 | 2329 | | |
2294 | 2330 | | |
2295 | 2331 | | |
| |||
2303 | 2339 | | |
2304 | 2340 | | |
2305 | 2341 | | |
2306 | | - | |
| 2342 | + | |
2307 | 2343 | | |
2308 | 2344 | | |
2309 | 2345 | | |
2310 | 2346 | | |
2311 | | - | |
| 2347 | + | |
2312 | 2348 | | |
2313 | 2349 | | |
2314 | 2350 | | |
| |||
2454 | 2490 | | |
2455 | 2491 | | |
2456 | 2492 | | |
2457 | | - | |
2458 | | - | |
2459 | | - | |
2460 | | - | |
| 2493 | + | |
2461 | 2494 | | |
2462 | 2495 | | |
2463 | 2496 | | |
| |||
Lines changed: 6 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
101 | 101 | | |
102 | 102 | | |
103 | 103 | | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
104 | 108 | | |
105 | 109 | | |
106 | 110 | | |
| |||
141 | 145 | | |
142 | 146 | | |
143 | 147 | | |
| 148 | + | |
144 | 149 | | |
145 | 150 | | |
146 | 151 | | |
| |||
173 | 178 | | |
174 | 179 | | |
175 | 180 | | |
| 181 | + | |
176 | 182 | | |
177 | 183 | | |
178 | 184 | | |
| |||
Lines changed: 21 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
92 | 92 | | |
93 | 93 | | |
94 | 94 | | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
95 | 116 | | |
96 | 117 | | |
97 | 118 | | |
| |||
0 commit comments