diff --git a/specification.json b/specification.json index ef8cda11..7bdeb76f 100644 --- a/specification.json +++ b/specification.json @@ -891,6 +891,27 @@ "content": "Handlers attached after the provider is already in the associated state, MUST run immediately.", "RFC 2119 keyword": "MUST", "children": [] + }, + { + "id": "Requirement 5.3.4", + "machine_id": "requirement_5_3_4", + "content": "When the provider's `on context changed` is called, `PROVIDER_STALE` handlers MUST run.", + "RFC 2119 keyword": "MUST", + "children": [] + }, + { + "id": "Requirement 5.3.5", + "machine_id": "requirement_5_3_5", + "content": "If the provider's `on context changed` function terminates successfully, `PROVIDER_READY` handlers MUST run.", + "RFC 2119 keyword": "MUST", + "children": [] + }, + { + "id": "Requirement 5.3.6", + "machine_id": "requirement_5_3_6", + "content": "If the provider's `on context changed` function terminates abnormally, `PROVIDER_ERROR` handlers MUST run.", + "RFC 2119 keyword": "MUST", + "children": [] } ] } \ No newline at end of file diff --git a/specification/sections/05-events.md b/specification/sections/05-events.md index 1db44724..e5a9ab8f 100644 --- a/specification/sections/05-events.md +++ b/specification/sections/05-events.md @@ -144,3 +144,21 @@ For instance, _application authors_ may attach readiness handlers to be confiden If such handlers are attached after the provider underlying the client has already been initialized, they should run immediately. See [provider initialization](./02-providers.md#24-initialization), [setting a provider](./01-flag-evaluation.md#setting-a-provider). + +#### Requirement 5.3.4 + +> When the provider's `on context changed` is called, `PROVIDER_STALE` handlers **MUST** run. + +See: [provider events](#51-provider-events), [`provider event types`](../types.md#provider-events) + +#### Requirement 5.3.5 + +> If the provider's `on context changed` function terminates successfully, `PROVIDER_READY` handlers **MUST** run. + +See: [provider events](#51-provider-events), [`provider event types`](../types.md#provider-events) + +#### Requirement 5.3.6 + +> If the provider's `on context changed` function terminates abnormally, `PROVIDER_ERROR` handlers **MUST** run. + +See: [provider events](#51-provider-events), [`provider event types`](../types.md#provider-events)