Jinwoo Hong
37d2154765
feat(relay): read-only seat feed on cells for the directors' shadow directory ( #26803 )
...
* feat(relay): read-only seat feed on cells for the directors' shadow directory
Cells keep an in-memory log of host joins, leaves and drain notices and
serve it at GET /v1/admin/cell-seats, authenticated with the directors'
existing rehome identity. Nothing reads it yet.
* test(relay): read the seat feed through its published shape so the tests typecheck
* fix(relay): serve the seat feed's full snapshot from the change log's own seats
counts.controls drops when a socket starts closing, but the leave lands
only at its close event, so a full snapshot built from open sockets could
disagree with a reader that applied every change. The log now keeps its
own seats under the readers' generation rule and reports counts.seats.
* fix(relay): report auth-expiry drain-only and its refresh as seat-feed changes
The heartbeat's auth-expiry drain-only and an auth refresh back to active
changed session state without a feed entry, so a reader's seat state
drifted from the cell's. Both now go through the log; the refresh is a
new 'active' kind.
* refactor(relay): cut unread seat-feed fields; verify a feed poll once
fixLevel, counts.splices, counts.enforcedUnits and counts.hardCap had no
reader, so they leave before they become a cross-version contract. The
admin middleware no longer verifies /v1/admin/cell-seats polls, which the
route already gates on the rehome identity.
2026-10-09 16:58:53 -04:00
..
2026-09-30 17:00:03 -04:00
2026-09-17 14:02:06 -04:00
2026-09-03 06:55:14 -04:00
2026-09-11 14:25:10 -04:00
2026-10-09 16:58:53 -04:00
2026-10-04 22:38:24 -04:00
2026-10-04 22:38:24 -04:00
2026-09-04 04:34:22 -04:00
2026-09-03 06:55:14 -04:00
2026-09-21 04:18:57 -04:00
2026-09-18 23:16:15 -04:00
2026-09-03 06:55:14 -04:00
2026-09-26 14:17:47 -07:00
2026-09-18 17:55:35 -04:00
2026-09-03 06:55:14 -04:00
2026-09-03 06:55:14 -04:00
2026-09-20 15:13:27 -04:00
2026-09-20 15:13:27 -04:00
2026-10-01 15:34:23 -04:00
2026-10-05 17:55:52 -04:00
2026-09-03 06:55:14 -04:00
2026-09-03 06:55:14 -04:00
2026-09-18 17:55:35 -04:00
2026-09-18 23:16:15 -04:00
2026-09-30 17:58:30 -04:00
2026-10-05 17:55:52 -04:00
2026-10-09 16:58:07 -04:00
2026-09-18 17:55:19 -04:00
2026-09-18 17:55:19 -04:00
2026-09-03 06:55:14 -04:00
2026-09-03 06:55:14 -04:00
2026-09-21 04:18:57 -04:00
2026-09-03 06:55:14 -04:00
2026-09-03 06:55:14 -04:00
2026-09-18 17:55:19 -04:00
2026-10-06 00:53:51 -04:00
2026-09-03 06:55:14 -04:00
2026-09-03 06:55:14 -04:00
2026-09-11 14:25:10 -04:00
2026-09-11 14:25:10 -04:00
2026-10-05 17:55:52 -04:00
2026-10-05 17:55:52 -04:00
2026-09-29 01:21:53 -07:00
2026-09-04 18:18:46 -04:00
2026-10-09 16:58:53 -04:00
2026-10-09 16:58:53 -04:00
2026-10-09 16:58:53 -04:00
2026-10-09 16:58:53 -04:00
2026-10-06 00:53:51 -04:00
2026-09-17 01:46:33 -04:00
2026-10-01 15:34:23 -04:00
2026-09-03 06:55:14 -04:00
2026-10-06 00:53:51 -04:00
2026-09-18 23:16:15 -04:00
2026-09-17 19:25:54 -04:00
2026-09-04 04:34:22 -04:00
2026-10-07 21:18:26 -04:00
2026-09-17 19:25:54 -04:00
2026-09-17 19:25:54 -04:00
2026-09-17 19:25:54 -04:00
2026-09-17 19:25:54 -04:00
2026-09-03 06:55:14 -04:00
2026-10-04 22:56:31 -04:00
2026-10-04 22:56:31 -04:00
2026-09-03 06:55:14 -04:00
2026-10-04 22:56:31 -04:00
2026-09-20 17:46:25 -04:00
2026-09-18 17:55:19 -04:00
2026-09-17 01:00:28 -04:00
2026-10-09 16:58:33 -04:00
2026-10-04 23:04:17 -04:00
2026-10-09 16:58:33 -04:00
2026-10-04 22:38:16 -04:00
2026-10-04 23:04:17 -04:00
2026-09-12 18:12:20 -07:00
2026-09-12 18:12:20 -07:00
2026-09-23 03:45:47 -04:00
2026-10-06 00:53:51 -04:00
2026-10-05 17:55:52 -04:00
2026-10-05 17:55:52 -04:00
2026-10-06 00:53:51 -04:00
2026-10-06 00:53:51 -04:00
2026-09-03 06:55:14 -04:00
2026-10-04 22:38:24 -04:00
2026-09-04 16:51:49 -04:00
2026-09-04 16:51:49 -04:00
2026-10-03 15:47:05 -07:00
2026-09-17 16:45:25 -04:00
2026-10-07 20:55:14 -04:00
2026-10-09 16:58:53 -04:00
2026-09-04 16:51:49 -04:00
2026-09-11 14:25:10 -04:00
2026-09-23 03:15:52 -04:00
2026-09-20 15:13:27 -04:00
2026-09-11 14:25:10 -04:00
2026-09-18 21:16:19 -04:00
2026-09-11 14:25:10 -04:00
2026-10-09 16:58:33 -04:00
2026-09-03 06:55:14 -04:00
2026-10-07 21:18:26 -04:00
2026-10-09 16:58:07 -04:00
2026-10-09 16:58:07 -04:00
2026-09-30 02:05:30 -07:00
2026-10-06 00:53:51 -04:00
2026-10-04 23:04:17 -04:00
2026-09-03 06:55:14 -04:00
2026-10-05 17:55:52 -04:00
2026-10-06 00:53:51 -04:00
2026-10-06 00:53:51 -04:00
2026-09-17 19:07:11 -04:00
2026-10-07 21:18:26 -04:00
2026-10-09 16:58:33 -04:00
2026-10-07 21:18:26 -04:00
2026-09-17 12:26:22 -04:00
2026-09-20 17:46:25 -04:00
2026-09-18 17:55:19 -04:00
2026-09-03 21:20:27 -04:00
2026-09-10 17:59:46 -04:00
2026-09-14 17:32:49 -04:00
2026-09-14 17:32:49 -04:00
2026-10-05 15:54:06 -04:00
2026-09-03 06:55:14 -04:00
2026-10-01 15:34:23 -04:00
2026-09-03 06:55:14 -04:00
2026-10-05 17:55:52 -04:00
2026-09-03 06:55:14 -04:00
2026-10-01 15:34:23 -04:00
2026-09-11 14:25:10 -04:00
2026-09-23 03:15:52 -04:00
2026-09-11 14:25:10 -04:00
2026-09-11 14:25:10 -04:00
2026-09-11 14:25:10 -04:00
2026-10-07 19:07:02 -04:00
2026-09-20 15:13:27 -04:00
2026-09-07 04:40:37 -04:00
2026-09-20 15:50:43 -04:00
2026-09-18 21:16:19 -04:00
2026-09-23 03:15:52 -04:00
2026-10-07 20:55:21 -04:00
2026-10-07 20:55:21 -04:00
2026-10-07 20:55:21 -04:00
2026-09-23 03:15:52 -04:00
2026-10-07 20:55:21 -04:00
2026-10-06 00:53:51 -04:00
2026-09-11 14:25:10 -04:00
2026-09-03 06:55:14 -04:00
2026-09-20 15:13:27 -04:00
2026-09-20 15:13:27 -04:00
2026-09-03 06:55:14 -04:00
2026-09-03 06:55:14 -04:00
2026-09-03 06:55:14 -04:00
2026-09-03 06:55:14 -04:00
2026-09-03 06:55:14 -04:00
2026-09-03 06:55:14 -04:00
2026-09-03 06:55:14 -04:00
2026-09-03 06:55:14 -04:00
2026-09-03 06:55:14 -04:00
2026-10-09 16:58:33 -04:00
2026-10-09 16:58:33 -04:00
2026-09-27 00:28:52 -07:00
2026-09-03 06:55:14 -04:00
2026-10-09 16:58:33 -04:00
2026-10-07 21:18:26 -04:00
2026-09-03 06:55:14 -04:00
2026-09-03 06:55:14 -04:00
2026-10-06 00:53:51 -04:00
2026-10-07 21:18:26 -04:00
2026-09-26 12:53:09 -07:00
2026-09-17 01:46:33 -04:00
2026-09-26 12:53:09 -07:00
2026-09-17 01:46:33 -04:00
2026-09-17 12:26:22 -04:00
2026-09-03 06:55:14 -04:00
2026-10-08 20:35:55 -04:00
2026-10-08 20:35:55 -04:00
2026-10-09 16:58:53 -04:00
2026-09-29 15:53:18 -07:00
2026-09-03 17:27:57 -04:00
2026-09-03 06:55:14 -04:00
2026-09-03 21:31:53 -04:00
2026-09-03 06:55:14 -04:00
2026-09-27 00:28:52 -07:00
2026-10-07 19:07:02 -04:00
2026-10-04 22:38:24 -04:00
2026-09-03 06:55:14 -04:00
2026-09-03 06:55:14 -04:00
2026-09-26 13:01:16 -07:00
2026-09-03 06:55:14 -04:00
2026-09-03 06:55:14 -04:00