jason.woltje
4e79eaace1
fix(console): check the owner-to-PM edge on every intake control, refuse request URLs without SSO, bound the browser waits ( #1839 )
...
Review r1 of lifecycle Task 3.
C1: the four owner controls (answer, attach, mode, cancel) inserted and routed a
human-to-PM message without the messaging policy check message.send makes. The
shared writer now reads the current human-to-PM edge inside the control's
transaction, before it inserts or routes anything, and refuses with
message-sender-refused. The refusal rolls back the journal row, the human.input
event, the message and a withdrawn selection decision. The cancel withdrawal
checks the same edge. Regression tests close the edge after the question and
cover all four controls, then reopen it and prove the same call lands once.
I1: serve.mjs read sso.publicOrigin for a request URL when the Console ran
without --sso (or in preview mode), which ended the process on an unauthenticated
GET /api/requests/r1. A request route now answers through requestHTTP with no
transports and no SSO fields: unavailable on a read, read-only on a write, 405
for the wrong method. Listener tests cover GET and POST without SSO and in
preview mode, named and loopback, and the process keeps serving.
M1: the browser test waiter allowed about 3 s and reload() could run out its loop
without failing. Waits are now deadline-bound at 15 s and name the expression,
and reload() waits for the new document's own ready flag and the mounted chat,
and throws if it never gets there. The no-repost and stored-answer assertions of
the lost-answer case are unchanged.
Migration 3p-3q is unchanged.
2026-11-04 11:21:43 -06:00
..
row 271 (264d, #1776 ): clear context build round 1, not run (slot held). Broker: session.clear, session.cancel and session.operation, the fence on send/open/claim, cancel at arrival for routed messages, the drained receive and the end drain, trusted ops sessionClears and sessionClearExited/Uncertain/Retire/Start. Launcher: clearPass before the threads loop (stop, proof, retire, successor start through check()/start()), waiting on a live row 269 survivor. Old tests per mos-1315, rebased on row 206 (sage-2968): label 3m to 3n, future step 3n to 3o, 3m-3n.sql in the engine copies and file lists, ready lines, later3l and the rows() exclusions gain both tables as 206 did for thread_shares (mos-1292, approved in mos-1336), schema.test counts 25 tables and 96 triggers, COUNTED and T45 LISTED gain both tables after thread_shares (mos-1318, mos-1319), TESTER_VERBS pin (mos-1325), fixtures/schema-3m.sql
2026-10-22 21:07:51 -05:00
2026-10-23 11:33:17 -05:00
2026-11-04 11:21:43 -06:00
2026-10-23 23:57:31 -05:00
2026-10-23 23:57:31 -05:00
2026-10-13 11:01:50 -05:00
2026-10-15 19:03:49 -05:00
2026-10-15 19:03:49 -05:00
2026-10-05 17:15:53 -05:00
2026-10-24 10:12:24 -05:00
2026-11-04 11:21:43 -06:00
2026-10-24 05:39:26 -05:00
2026-11-02 14:40:12 -06:00
2026-10-24 05:39:26 -05:00
2026-10-24 08:12:02 -05:00
2026-10-15 12:43:56 -05:00
2026-11-04 11:21:43 -06:00
2026-11-04 11:21:43 -06:00
2026-10-24 08:12:02 -05:00
2026-10-21 05:42:52 -05:00
2026-10-19 11:27:19 -05:00
2026-10-20 19:23:12 -05:00
2026-10-20 19:23:12 -05:00
2026-10-05 17:15:53 -05:00
2026-10-15 17:50:59 -05:00
2026-10-19 11:27:19 -05:00
2026-10-14 12:09:43 -05:00
2026-10-15 14:06:05 -05:00
2026-10-11 21:03:37 -05:00
2026-10-22 13:37:34 -05:00
2026-10-24 10:55:31 -05:00
2026-10-23 17:00:42 -05:00
2026-10-24 10:55:31 -05:00
2026-10-24 10:55:31 -05:00
2026-11-04 11:21:43 -06:00
2026-10-21 01:15:43 -05:00
2026-10-23 05:37:43 -05:00
2026-10-22 03:59:40 -05:00
2026-11-04 11:21:43 -06:00
2026-10-23 17:40:20 -05:00
2026-10-23 17:40:20 -05:00
2026-11-03 17:53:45 -06:00
2026-10-21 05:42:52 -05:00
2026-10-22 02:28:09 -05:00
2026-10-21 01:15:43 -05:00
2026-10-05 17:15:53 -05:00
2026-10-22 03:06:41 -05:00
2026-10-26 10:40:04 -05:00
2026-10-23 03:47:38 -05:00
2026-10-19 13:59:15 -05:00
2026-10-23 03:47:38 -05:00
2026-10-24 14:19:53 -05:00
2026-11-02 14:40:12 -06:00
2026-10-21 18:44:22 -05:00
2026-10-25 00:08:19 -05:00
2026-10-21 14:24:37 -05:00
2026-10-22 07:42:10 -05:00
2026-10-22 03:06:41 -05:00
2026-11-02 17:54:07 -06:00
2026-11-02 17:54:07 -06:00
2026-10-19 11:27:19 -05:00
2026-10-19 19:04:50 -05:00
2026-10-05 18:13:46 -05:00
2026-10-23 05:06:14 -05:00
2026-10-13 07:58:36 -05:00
2026-10-20 00:47:49 -05:00
2026-10-26 12:04:21 -05:00
2026-10-26 12:04:21 -05:00
2026-10-26 12:04:21 -05:00
2026-10-26 12:04:21 -05:00
2026-10-26 12:04:21 -05:00
2026-10-26 12:04:21 -05:00
2026-10-26 12:04:21 -05:00
2026-10-26 12:04:21 -05:00
2026-10-26 12:04:21 -05:00
2026-10-26 12:04:21 -05:00
2026-10-26 12:04:21 -05:00
2026-10-26 12:04:21 -05:00
2026-10-26 12:04:21 -05:00
2026-10-26 12:04:21 -05:00
2026-10-26 12:04:21 -05:00
2026-10-26 12:04:21 -05:00
2026-10-26 12:04:21 -05:00
2026-10-26 12:04:21 -05:00
2026-10-26 12:04:21 -05:00
2026-10-26 12:04:21 -05:00
2026-10-26 12:04:21 -05:00
2026-10-26 12:04:21 -05:00
2026-10-26 12:04:21 -05:00
2026-10-26 12:04:21 -05:00
2026-10-26 12:04:21 -05:00
2026-11-04 11:21:43 -06:00
2026-10-19 19:04:50 -05:00
2026-11-02 19:02:45 -06:00
2026-11-02 13:36:45 -06:00
2026-11-02 17:54:07 -06:00
2026-11-02 17:54:07 -06:00
2026-11-02 20:05:28 -06:00
2026-11-02 19:02:45 -06:00
2026-11-02 19:02:45 -06:00
2026-10-21 15:55:39 -05:00
2026-10-21 15:55:39 -05:00
2026-10-15 17:50:59 -05:00
2026-11-04 11:21:43 -06:00
2026-10-23 12:25:39 -05:00
2026-10-21 14:12:03 -05:00
2026-10-21 22:42:12 -05:00
2026-10-21 22:42:12 -05:00
2026-10-21 22:42:12 -05:00
2026-10-26 10:40:04 -05:00
2026-10-15 20:49:44 -05:00
2026-10-16 17:24:39 -05:00
2026-10-26 12:04:21 -05:00
2026-10-26 12:04:21 -05:00
2026-10-26 12:04:21 -05:00
2026-10-26 12:04:21 -05:00
2026-10-26 12:04:21 -05:00
2026-10-26 12:04:21 -05:00
2026-10-26 12:04:21 -05:00
2026-11-02 20:08:50 -06:00
2026-10-20 20:45:08 -05:00
2026-10-24 08:12:02 -05:00
2026-10-12 14:33:11 -05:00
2026-11-04 10:38:54 -06:00
2026-11-04 11:21:43 -06:00
2026-11-04 11:21:43 -06:00
2026-11-02 16:52:04 -06:00
2026-10-13 16:26:12 -05:00
2026-10-23 11:33:17 -05:00
2026-10-24 12:11:42 -05:00
2026-10-23 23:57:31 -05:00
2026-10-19 20:18:14 -05:00
2026-11-04 11:21:43 -06:00
2026-10-22 02:28:09 -05:00
2026-11-04 11:21:43 -06:00
2026-10-22 21:07:51 -05:00
2026-11-04 11:21:43 -06:00
2026-10-15 19:03:49 -05:00
2026-11-02 17:55:40 -06:00
2026-11-04 11:21:43 -06:00
2026-10-18 08:53:52 -05:00
2026-10-15 20:49:44 -05:00
2026-10-15 20:49:44 -05:00
2026-10-15 19:27:50 -05:00
2026-10-13 19:12:54 -05:00
2026-10-18 11:08:17 -05:00
2026-10-12 17:04:15 -05:00
2026-10-11 19:01:34 -05:00
2026-10-22 06:24:27 -05:00
2026-10-20 00:47:49 -05:00
row 271 (264d, #1776 ): clear context build round 1, not run (slot held). Broker: session.clear, session.cancel and session.operation, the fence on send/open/claim, cancel at arrival for routed messages, the drained receive and the end drain, trusted ops sessionClears and sessionClearExited/Uncertain/Retire/Start. Launcher: clearPass before the threads loop (stop, proof, retire, successor start through check()/start()), waiting on a live row 269 survivor. Old tests per mos-1315, rebased on row 206 (sage-2968): label 3m to 3n, future step 3n to 3o, 3m-3n.sql in the engine copies and file lists, ready lines, later3l and the rows() exclusions gain both tables as 206 did for thread_shares (mos-1292, approved in mos-1336), schema.test counts 25 tables and 96 triggers, COUNTED and T45 LISTED gain both tables after thread_shares (mos-1318, mos-1319), TESTER_VERBS pin (mos-1325), fixtures/schema-3m.sql
2026-10-22 21:07:51 -05:00
2026-10-19 20:18:14 -05:00
2026-10-22 08:07:43 -05:00
2026-11-04 11:21:43 -06:00
2026-11-04 11:21:43 -06:00
2026-10-23 05:37:43 -05:00
2026-10-05 17:15:53 -05:00
2026-10-18 11:08:17 -05:00
2026-11-04 11:21:43 -06:00
2026-10-19 11:27:19 -05:00
2026-10-26 17:55:26 -05:00
2026-10-23 08:53:07 -05:00
2026-10-22 12:46:09 -05:00
2026-10-15 17:50:59 -05:00
2026-10-18 11:40:05 -05:00