Skip to content
Developer Preview

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.

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"
}
}