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.
Fields and variants
Section titled “Fields and variants”healthnoneReasonsessionId
Source
schema/msp/experimental/msp.schema.json#/types/SessionViewHealthChangedParams
{ "description": "`session/viewHealthChanged` params: the named\nsession's live view stream became unavailable, and why, or (ADR 32557 D5)\nit is back after the host re-loaded the view, so the client re-reads and\nre-subscribes.\n\nBest-effort: ordered after already-queued view frames and may be dropped\n(for example when the connection is closing), so a client MUST NOT assume a\nguaranteed push and still reads `history.noneReason` on its next\nresume/read.", "properties": { "health": { "$ref": "#/$defs/SessionViewHealth", "description": "The new view-health state: `Unavailable`, or `Healthy` once the host\nre-loaded a failed view." }, "noneReason": { "$ref": "#/$defs/HistoryNoneReason", "description": "Why the view is unavailable — the SAME typed `HistoryNoneReason`\nvocabulary the pull path stamps on `history.noneReason`, so a client reuses one handler for push and pull.\n`projectionUnavailable` when the view fails, then\n`projectionRebuildFailed`, which the pull path never stamps: it rides\nonly a `session/viewHealthChanged` notification, after the host's one\nre-load of a failed live view fails or right after a fork child's live\nfail-close; present only when `health` is\n`Unavailable`. Open on the client side: an unknown reason decodes\nconservatively and renders generically." }, "sessionId": { "description": "The session whose live view health changed.", "type": "string" } }, "required": [ "health", "sessionId" ], "type": "object"}