bus, webui, cli: the Console shows the reply to a web send (#1575)
Row 81. The broker gains a `replies` read verb for human and reader
sessions: `{id}`, a message UUID, returns that business's messages whose
in_reply_to is the id, oldest first, at most 50, and writes no
deliveries row, so the reply still reaches the next `mosaic talk`. An
unknown id refuses message-not-found. The Console serves it through
BUS_VERBS with an id check, and the Sent receipt shows the replies to a
web send. The cli's talk timeout message and README now say the reply
may still come and the next `mosaic talk` prints it.
Dewey's round 2, candidate manifest 3ce7527f, base 1e5f5958, a rebase
after row 61. Approved by Darkwing (27783 round 1, 27821 round 2).
Sage's gate green 19:25:18Z to 19:30:39Z. Live at the next bus restart
(the broker verb) and Console restart (the view), bus first.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
This commit is contained in:
@@ -180,8 +180,9 @@ On the page:
|
||||
memory like a Reply draft. Reloading the page loses it. Send is disabled
|
||||
while a send is pending.
|
||||
- Sent shows the message id and links its trail, `#/trail/message/<id>`:
|
||||
the message and its deliveries. A reply is not in it. The text is cleared
|
||||
unless it was edited during the send.
|
||||
the message and its deliveries. A reply is not in the trail; it shows
|
||||
under the receipt (below). The text is cleared unless it was edited
|
||||
during the send.
|
||||
- Not sent shows the broker's code and keeps the draft. A redirect counts
|
||||
as not sent: the Console never redirects this route, so only the sign-in
|
||||
proxy does, when its session has expired. The page asks for a reload to
|
||||
@@ -192,9 +193,19 @@ On the page:
|
||||
unknown, here and on the board's Reply, since a proxy can answer it
|
||||
after forwarding the request (Envoy's `stream_idle_timeout`).
|
||||
|
||||
The role's reply comes back as a message to the human. The Console doesn't
|
||||
show it yet; that view is row 81 (#1575). Jason's next `mosaic talk` in a
|
||||
terminal prints it, within talk's limits:
|
||||
The role's reply comes back as a message to the human with `in_reply_to`
|
||||
set to the sent message's id. Since row 81 (#1575) the Sent receipt lists
|
||||
those replies, oldest first, each with its role, time, class, body and a
|
||||
trail link. It reads them with the bus `replies` read on every render, so a
|
||||
reply shows on the next ten-second refresh or Read again. "No reply yet"
|
||||
means the read returned none; "could not be read" means it failed, and the
|
||||
next refresh tries again. The bus returns at most 50; at 50 the receipt says
|
||||
only the first 50 show. The list belongs to the last Sent receipt: a new
|
||||
send starts its own, and reloading the page drops it.
|
||||
|
||||
The Console only shows replies. It never receives a message or marks one
|
||||
delivered or read: `replies` writes no `deliveries` row. So Jason's next
|
||||
`mosaic talk` in a terminal still prints each reply, within talk's limits:
|
||||
|
||||
- talk receives only after it sends its own message;
|
||||
- `--wait 0` returns straight after the send and receives nothing;
|
||||
@@ -394,10 +405,13 @@ session reader or transport is implemented here. The session reader is
|
||||
`packages/conversation`, served by the board.
|
||||
|
||||
GET `/api/bus/inbox`, `/api/bus/tasks`, `/api/bus/agents`,
|
||||
`/api/bus/trail?subject=<id>`, `/api/bus/decisions?list=roles|recent` and
|
||||
`/api/bus/credentials` are the bus reads (`src/bus.mjs`). Any other method is 405. The subject must match
|
||||
the broker's identifier rule, and the list must be `roles` or `recent`, else
|
||||
400. `decisions` (row 57, #1546) is for the Inbox tabs "Routed to roles" and
|
||||
`/api/bus/trail?subject=<id>`, `/api/bus/decisions?list=roles|recent`,
|
||||
`/api/bus/credentials` and `/api/bus/replies?id=<message id>` are the bus
|
||||
reads (`src/bus.mjs`). Any other method is 405. The subject and the id must
|
||||
match the broker's identifier rule, and the list must be `roles` or
|
||||
`recent`, else 400. `replies` (row 81, #1575) is the messages whose
|
||||
`in_reply_to` is that id, for the Sent receipt; the bus refuses an id that
|
||||
names no message (`message-not-found`, 400). `decisions` (row 57, #1546) is for the Inbox tabs "Routed to roles" and
|
||||
"Recent"; "Human and reader paths" in `packages/bus/README.md` has what each
|
||||
list holds. `credentials` (row 60, #1549) is the bus host's credential
|
||||
status: service, account, role, date and state for each credential it
|
||||
|
||||
Reference in New Issue
Block a user