Charlie Marsh
1f0290c607
Broadcast thread section changes to connected clients ( #58380 )
...
## Why
Clients need to refresh section membership and ordering when another client moves a thread.
## What changed
Broadcast `thread/section/changed` after a successful `thread/section/move`, including moves within the same section. Send the response before the notification, and include `threadId` and the destination `sectionId`, using `null` for removal. Failed moves do not emit the notification.
Add the notification to the protocol schemas, TypeScript exports, and Python SDK models and registry, and document its behavior.
## Testing
Add a WebSocket integration test with separate writer and observer clients covering section insertion, reordering, removal, and a failed move.
GitOrigin-RevId: 128ba7eddc9aae8e3bac766f47e4a2c55c64a6a5
2026-10-30 16:09:46 +00:00
..
2026-10-29 15:55:50 +00:00
2026-10-14 07:13:22 +00:00
2026-10-29 17:25:51 +00:00
2026-10-27 05:52:01 +00:00
2026-10-23 14:59:40 +00:00
2026-10-29 11:23:51 +00:00
2026-10-30 16:09:46 +00:00
2026-10-29 11:23:51 +00:00
2026-10-27 18:35:19 +00:00
2026-10-30 16:09:46 +00:00
2026-10-29 11:23:51 +00:00
2026-10-26 20:02:45 +00:00
2026-10-27 22:02:35 +00:00
2026-10-26 20:26:32 +00:00
2026-10-27 22:59:22 +00:00
2026-10-22 19:36:47 +00:00
2026-10-27 17:04:16 +00:00
2026-10-26 21:08:15 +00:00
2026-10-30 14:56:08 +00:00
2026-10-26 18:06:07 +00:00
2026-10-30 02:28:51 +00:00
2026-10-20 15:43:19 +00:00
2026-10-29 16:57:12 +00:00
2026-10-29 16:57:12 +00:00
2026-10-29 01:04:48 +00:00
2026-10-29 01:04:48 +00:00
2026-10-30 15:11:02 +00:00
2026-10-19 21:43:19 +00:00
2026-10-30 14:47:56 +00:00
2026-10-30 00:36:00 +00:00
2026-10-27 22:01:13 +00:00
2026-10-29 18:24:34 +00:00
2026-10-30 16:00:24 +00:00
2026-10-27 19:50:41 +00:00
2026-10-19 15:15:17 +00:00
2026-10-29 19:49:03 +00:00
2026-10-27 05:52:01 +00:00
2026-10-26 19:19:10 +00:00
2026-10-29 23:24:52 +00:00
2026-10-30 14:56:08 +00:00
2026-10-30 14:56:08 +00:00
2026-10-27 23:53:09 +00:00
2026-10-29 11:23:51 +00:00
2026-10-30 15:11:02 +00:00
2026-10-28 21:22:06 +00:00
2026-10-30 14:47:56 +00:00
2026-10-22 19:36:47 +00:00
2026-10-22 19:36:47 +00:00
2026-10-27 23:53:09 +00:00
2026-10-13 17:22:34 +00:00
2026-10-26 20:40:53 +00:00
2026-10-30 15:11:02 +00:00
2026-10-27 19:50:41 +00:00
2026-10-26 19:21:08 +00:00
2026-10-28 13:55:51 +00:00
2026-10-22 19:36:47 +00:00
2026-10-26 18:31:21 +00:00
2026-10-30 14:56:08 +00:00
2026-10-30 15:11:02 +00:00
2026-10-22 19:36:47 +00:00
2026-10-30 13:33:02 +00:00
2026-10-30 13:33:02 +00:00
2026-10-22 19:36:47 +00:00
2026-10-30 15:11:02 +00:00
2026-10-30 02:28:51 +00:00
2026-10-30 15:11:02 +00:00
2026-10-29 20:17:58 +00:00
2026-10-26 18:22:40 +00:00
2026-10-29 18:24:34 +00:00
2026-10-27 16:36:32 +00:00
2026-10-30 15:11:02 +00:00
2026-10-30 15:11:02 +00:00
2026-10-10 02:54:59 +00:00
2026-10-27 13:31:38 +00:00
2026-10-19 16:56:42 +00:00
2026-10-30 05:30:20 +00:00
2026-10-30 14:40:32 +00:00
2026-10-30 14:40:32 +00:00
2026-10-28 00:51:29 +00:00
2026-10-27 05:52:01 +00:00
2026-10-27 05:52:01 +00:00
2026-10-22 04:59:19 +00:00
2026-10-27 05:52:01 +00:00
2026-10-29 17:49:51 +00:00
2026-10-28 21:22:06 +00:00
2026-10-22 00:19:02 +00:00
2026-10-30 07:11:56 +00:00
2026-10-27 19:50:41 +00:00
2026-10-28 04:05:31 +00:00
2026-10-27 14:14:16 +00:00
2026-10-30 16:09:46 +00:00
2026-10-13 22:40:57 +00:00
2026-10-29 01:04:48 +00:00
2026-10-28 20:57:54 +00:00
2026-10-27 05:52:01 +00:00
2026-10-27 05:52:01 +00:00
2026-10-28 11:48:00 +00:00
2026-10-28 06:24:24 +00:00
2026-10-29 22:36:06 +00:00
2026-10-28 21:09:05 +00:00
2026-10-30 13:33:02 +00:00
2026-10-30 13:33:02 +00:00
2026-10-29 15:55:50 +00:00
2026-10-27 05:52:01 +00:00