Charlie Marsh
57d4fac64a
Avoid redundant clones when sending app-server notifications ( #55723 )
...
## Why
Targeted notification delivery and broadcast routing clone the message for every recipient, then discard the original.
## What changed
Use `std::iter::repeat_n` to move the original message to the last recipient, avoiding one clone per nonempty recipient list while preserving delivery behavior.
## Testing
Expand notification tests to cover empty, single, and multiple recipient lists, checking payloads, target order, and shared timestamps. Add broadcast coverage for zero, one, and two eligible recipients, verifying that uninitialized clients, clients without the required experimental API support, and clients that opted out are skipped.
GitOrigin-RevId: 2ba192f416ccd786e3566da3e5c851518b509afe
2026-10-21 01:49:26 +00:00
..
2026-10-20 11:55:08 +00:00
2026-10-14 07:13:22 +00:00
2026-10-20 21:28:45 +00:00
2026-10-09 13:15:39 +00:00
2026-10-20 15:43:19 +00:00
2026-10-21 01:49:26 +00:00
2026-10-15 21:35:40 +00:00
2026-10-17 02:19:20 +00:00
2026-10-20 05:25:43 +00:00
2026-10-08 20:11:43 +00:00
2026-10-20 15:43:19 +00:00
2026-10-12 11:24:22 +00:00
2026-10-16 23:56:33 +00:00
2026-10-15 19:51:22 +00:00
2026-10-20 15:43:19 +00:00
2026-10-07 22:11:14 +00:00
2026-10-20 15:43:19 +00:00
2026-10-20 22:25:54 +00:00
2026-10-01 22:32:29 +00:00
2026-10-19 21:43:19 +00:00
2026-10-20 15:43:19 +00:00
2026-10-20 18:53:06 +00:00
2026-10-20 18:53:06 +00:00
2026-10-20 21:28:45 +00:00
2026-10-20 21:28:45 +00:00
2026-10-20 15:43:19 +00:00
2026-10-19 21:43:19 +00:00
2026-10-20 23:27:33 +00:00
2026-10-20 23:03:56 +00:00
2026-10-16 19:26:46 +00:00
2026-10-17 04:02:21 +00:00
2026-10-21 01:30:29 +00:00
2026-10-20 14:14:59 +00:00
2026-10-19 15:15:17 +00:00
2026-10-20 22:27:04 +00:00
2026-10-20 21:28:45 +00:00
2026-10-08 20:11:43 +00:00
2026-10-20 21:28:45 +00:00
2026-10-20 22:33:14 +00:00
2026-10-20 21:28:45 +00:00
2026-10-21 00:00:06 +00:00
2026-10-20 21:28:45 +00:00
2026-10-20 23:42:20 +00:00
2026-10-20 11:42:48 +00:00
2026-10-19 19:10:58 +00:00
2026-10-19 19:33:42 +00:00
2026-10-13 17:22:34 +00:00
2026-10-19 15:15:41 +00:00
2026-10-19 22:01:41 +00:00
2026-10-10 01:25:00 +00:00
2026-10-18 22:43:56 +00:00
2026-10-14 17:56:24 +00:00
2026-10-08 16:19:09 +00:00
2026-10-20 16:25:02 +00:00
2026-10-20 21:34:24 +00:00
2026-10-19 11:36:21 +00:00
2026-10-15 21:29:41 +00:00
2026-10-20 15:43:19 +00:00
2026-10-02 23:26:27 +00:00
2026-10-19 22:21:13 +00:00
2026-10-19 20:54:41 +00:00
2026-10-15 22:25:58 +00:00
2026-10-20 22:34:40 +00:00
2026-10-06 21:29:35 +00:00
2026-10-19 19:55:39 +00:00
2026-10-19 21:43:19 +00:00
2026-10-10 02:54:59 +00:00
2026-10-12 18:53:49 +00:00
2026-10-19 16:56:42 +00:00
2026-10-20 23:27:33 +00:00
2026-10-20 18:40:33 +00:00
2026-10-21 00:53:48 +00:00
2026-10-20 17:29:40 +00:00
2026-10-20 21:28:45 +00:00
2026-10-20 21:28:45 +00:00
2026-10-20 21:28:45 +00:00
2026-10-19 21:01:44 +00:00
2026-10-15 21:07:40 +00:00
2026-10-02 00:46:14 +00:00
2026-10-12 17:52:12 +00:00
2026-10-15 19:01:43 +00:00
2026-10-20 09:53:33 +00:00
2026-10-17 04:02:21 +00:00
2026-10-20 21:40:30 +00:00
2026-10-01 18:05:05 +00:00
2026-10-13 22:40:57 +00:00
2026-10-20 22:25:54 +00:00
2026-10-16 06:06:54 +00:00
2026-10-20 21:28:45 +00:00
2026-10-20 21:28:45 +00:00
2026-10-08 01:12:16 +00:00
2026-10-20 14:48:59 +00:00
2026-10-01 15:57:03 +00:00
2026-10-07 22:11:14 +00:00
2026-10-20 21:28:45 +00:00
2026-10-20 04:49:25 +00:00
2026-10-20 11:55:08 +00:00
2026-10-20 21:28:45 +00:00