rhan-oai
44a9bfa145
Preserve usage limit windows in turn and compaction analytics ( #48174 )
...
## Why
Usage limit errors discarded the server-selected window responsible for the limit, leaving turn and compaction analytics unable to distinguish five-hour limits from weekly limits.
## What changed
Preserve optional `limit_window_minutes` from usage limit error responses in `UsageLimitReachedError` and report it as `usage_limit_window_minutes` in turn and compaction events. Accept unsigned integers that fit in `u16`; treat missing, null, malformed, or out-of-range values as unknown. Events for other error kinds report `null`.
## Testing
Add coverage for HTTP and wrapped WebSocket error mapping, analytics serialization and reduction, and app-server propagation to turn and local/remote compaction events. Cases include five-hour and weekly windows, missing or invalid values, and unrelated errors.
GitOrigin-RevId: a32066a007559d91a3c868a756bfd0f976777176
2026-09-25 19:05:15 +00:00
..
2026-09-22 16:07:38 +00:00
2026-09-25 14:15:42 +00:00
2026-08-24 22:40:35 +00:00
2026-09-25 19:05:15 +00:00
2026-09-25 19:05:15 +00:00
2026-09-24 05:23:26 +00:00
2026-09-25 18:18:07 +00:00
2026-09-25 17:57:32 +00:00
2026-09-22 06:36:09 +00:00
2026-09-23 19:16:20 +00:00
2026-09-23 18:25:07 +00:00
2026-09-18 00:25:37 +00:00
2026-09-21 22:58:49 +00:00
2026-09-23 00:47:34 +00:00
2026-09-25 00:20:02 +00:00
2026-09-07 16:55:06 +00:00
2026-09-24 00:50:02 +00:00
2026-09-25 03:12:10 +00:00
2026-09-25 16:13:06 +00:00
2026-09-03 01:46:37 +00:00
2026-08-28 19:44:50 +00:00
2026-09-25 16:57:42 +00:00
2026-09-25 16:28:36 +00:00
2026-09-25 15:42:35 +00:00
2026-09-25 15:42:35 +00:00
2026-09-25 19:05:15 +00:00
2026-09-25 00:20:02 +00:00
2026-09-24 01:50:36 +00:00
2026-09-14 19:12:59 +00:00
2026-09-25 17:15:29 +00:00
2026-09-05 01:25:06 +00:00
2026-09-25 15:15:56 +00:00
2026-08-31 21:27:51 +00:00
2026-09-15 18:23:08 +00:00
2026-09-18 22:40:37 +00:00
2026-09-25 19:05:15 +00:00
2026-09-25 05:14:07 +00:00
2026-09-23 22:20:34 +00:00
2026-09-25 08:25:37 +00:00
2026-09-05 12:17:32 +00:00
2026-09-23 15:05:59 +00:00
2026-09-25 12:23:15 +00:00
2026-09-25 18:06:57 +00:00
2026-09-25 18:28:46 +00:00
2026-09-17 04:23:45 +00:00
2026-09-25 17:05:53 +00:00
2026-09-24 17:04:24 +00:00
2026-09-19 01:21:32 +00:00
2026-09-23 18:40:12 +00:00
2026-09-25 18:28:46 +00:00
2026-09-25 18:28:46 +00:00
2026-09-24 09:25:19 +00:00
2026-09-24 14:50:27 +00:00
2026-09-11 21:59:24 +00:00
2026-09-24 18:08:31 +00:00
2026-09-25 18:06:57 +00:00
2026-09-25 00:20:02 +00:00
2026-09-24 11:10:14 +00:00
2026-09-23 22:09:41 +00:00
2026-09-24 20:28:31 +00:00
2026-09-24 23:24:02 +00:00
2026-09-24 20:28:31 +00:00
2026-09-25 18:06:57 +00:00
2026-09-24 18:05:40 +00:00
2026-09-25 02:40:55 +00:00
2026-09-01 17:17:45 +00:00
2026-09-23 22:20:34 +00:00
2026-09-24 15:57:42 +00:00
2026-09-25 19:05:15 +00:00
2026-09-11 03:16:01 +00:00
2026-09-24 23:33:38 +00:00
2026-09-24 17:26:18 +00:00
2026-09-23 15:01:19 +00:00
2026-08-28 01:14:02 +00:00
2026-09-25 03:12:10 +00:00
2026-09-24 18:08:31 +00:00
2026-09-25 14:15:05 +00:00
2026-09-09 04:00:10 +00:00
2026-09-05 05:21:42 +00:00
2026-09-24 17:04:50 +00:00
2026-09-16 09:03:41 +00:00
2026-09-02 18:34:27 +00:00
2026-09-25 15:15:56 +00:00
2026-09-25 17:57:32 +00:00
2026-09-24 20:39:37 +00:00
2026-09-25 17:57:32 +00:00
2026-09-16 16:56:41 +00:00
2026-09-08 00:13:28 +00:00
2026-09-24 16:36:57 +00:00
2026-09-20 20:16:51 +00:00
2026-09-23 04:25:28 +00:00
2026-09-22 23:37:39 +00:00
2026-09-24 21:38:09 +00:00
2026-09-23 23:33:19 +00:00
2026-09-23 00:47:07 +00:00
2026-09-13 18:53:06 +00:00
2026-09-08 21:19:02 +00:00
2026-09-25 14:15:42 +00:00
2026-09-25 14:15:42 +00:00
2026-09-11 06:45:09 +00:00