session/viewHealthChanged
A loaded session’s live view stream became unavailable, and why: a command-plane push delivered independent of the view subscription set when the materialized projection fails closed.
Parameters
Section titled “Parameters”Type: SessionViewHealthChangedParams
session/viewHealthChanged params: the named
session’s live view stream became unavailable, and why, or (ADR 32557 D5)
it is back after the host re-loaded the view, so the client re-reads and
re-subscribes.
Best-effort: ordered after already-queued view frames and may be dropped
(for example when the connection is closing), so a client MUST NOT assume a
guaranteed push and still reads history.noneReason on its next
resume/read.
| Field | Type | Stability | Presence | Description |
|---|---|---|---|---|
health |
SessionViewHealth | required | The new view-health state: Unavailable, or Healthy once the host re-loaded a failed view. |
|
noneReason |
HistoryNoneReason | optional | Why the view is unavailable — the SAME typed HistoryNoneReason vocabulary the pull path stamps on history.noneReason, so a client reuses one handler for push and pull. projectionUnavailable when the view fails, then projectionRebuildFailed, which the pull path never stamps: it rides only a session/viewHealthChanged notification, after the host’s one re-load of a failed live view fails or right after a fork child’s live fail-close; present only when health is Unavailable. Open on the client side: an unknown reason decodes conservatively and renders generically. |
|
sessionId |
string |
required | The session whose live view health changed. |
Source
schema/msp/experimental/msp.schema.json#/notifications/session~2FviewHealthChanged
{ "description": "A loaded session's live view stream became unavailable, and why: a command-plane push delivered independent of the view subscription set when the materialized projection fails closed.", "params": { "$ref": "#/$defs/SessionViewHealthChangedParams" }}