diff options
| author | tv <tv@krebsco.de> | 2026-11-09 05:22:14 +0000 |
|---|---|---|
| committer | tv <tv@krebsco.de> | 2026-11-09 06:30:44 +0100 |
| commit | b2c5096744c99453856f7281251b3f0cb4b9baae (patch) | |
| tree | cf1ff79be48513eda4b901c7197b452c557547d7 /docs | |
| parent | d7e3d9f8310aa40903f43272fbb30f37a1f68c2b (diff) | |
dashboard: a subscribed node's message written out, read from it when shown
A subscribed node's messages come without being written out (their stream leaves the
text out: up to 8 KiB each, 500 at a time), so the figures box said only when, both
ends, type and size of one. Now the node answers for one message by its number,
`GET /admin/dashboard/messages/own/{seq}` (`{"text": …}`, `404` once it isn't kept),
which pages of other origins may call as they do its streams (`cors::open`), and the
page reads it when the message is shown, with its narrow token, and keeps it on the
message. Where it can't be read, the box says why.
Diffstat (limited to 'docs')
| -rw-r--r-- | docs/access.md | 3 | ||||
| -rw-r--r-- | docs/dashboard.md | 5 | ||||
| -rw-r--r-- | docs/openapi.yaml | 27 |
3 files changed, 32 insertions, 3 deletions
diff --git a/docs/access.md b/docs/access.md index a4c5375..38ae180 100644 --- a/docs/access.md +++ b/docs/access.md @@ -172,7 +172,8 @@ it may do. Pages of other origins, the dashboards of other members, may call a node with a token: its own links (`/admin/dashboard/links/own`, and its events) and messages -(`/admin/dashboard/messages/own/events`), `/auth/refresh` and `/auth/whoami`, nothing +(`/admin/dashboard/messages/own/events`, and one written out, +`/admin/dashboard/messages/own/{seq}`), `/auth/refresh` and `/auth/whoami`, nothing else. A node allows the origins of the dashboards its member list names (`--dashboard-url`) and those of `--cors-origins`; without credentials (no cookie or password crosses origins: the page sends its token). diff --git a/docs/dashboard.md b/docs/dashboard.md index 5eee5c9..590f72f 100644 --- a/docs/dashboard.md +++ b/docs/dashboard.md @@ -399,8 +399,9 @@ A subscribed node's messages with its peers are listed too, as they come from it named by both ends, the receiver first (`b ← a`), each once, as on the map (those with this node only from this node, between two subscribed nodes from the sender); its tooltip names the node that logged it. Shown in the figures box, it says when, both -ends, its type and size: the message itself is written out only on the node that -logged it. +ends, its type, size and address, and the message written out, read from the node that +logged it as it is shown (`/admin/dashboard/messages/own/{seq}` there, with the page's +token), while that node still keeps it (its latest 1000). A click on a message shows it in the figures box: when, with whom, its type and size, and the message written out (its bytes as sizes). A click on it again, or on anything on diff --git a/docs/openapi.yaml b/docs/openapi.yaml index 0fad136..03afa2f 100644 --- a/docs/openapi.yaml +++ b/docs/openapi.yaml @@ -1293,6 +1293,33 @@ paths: '401': $ref: '#/components/responses/Unauthorized' + /admin/dashboard/messages/own/{seq}: + get: + tags: [Admin] + summary: One of this node's messages, written out + description: | + The message `seq` (its number in `messages/own/events`) written out, as this + node's own console shows it, for a page subscribed to this node showing it (CORS, + with a token). Kept while the message log is: the latest 1000, while one looks. + parameters: + - name: seq + in: path + required: true + schema: { type: integer } + responses: + '200': + description: The message written out. + content: + application/json: + schema: + type: object + properties: + text: { type: string } + '401': + $ref: '#/components/responses/Unauthorized' + '404': + description: Not kept any more. + /admin/dashboard/refresh: post: tags: [Admin] |
