Skip to content

feat(flexible-outcalls): IC-1952 deliver flexible ok-responses to execution#9564

Merged
fspreiss merged 7 commits intomasterfrom
fspreiss/CRP-1952-deliver-responses-to-execution
Mar 28, 2026
Merged

feat(flexible-outcalls): IC-1952 deliver flexible ok-responses to execution#9564
fspreiss merged 7 commits intomasterfrom
fspreiss/CRP-1952-deliver-responses-to-execution

Conversation

@fspreiss
Copy link
Copy Markdown
Contributor

@fspreiss fspreiss commented Mar 24, 2026

Implements the IntoMessages path for flexible HTTP outcall ok-responses, converting each FlexibleCanisterHttpResponses group from the consensus payload into a single Candid-encoded ConsensusResponse for delivery to the execution environment.

For each flexible response group, the individual CanisterHttpResponsePayloads (already Candid-encoded by the HTTP adapter) are decoded, collected into a Vec, wrapped in FlexibleHttpRequestResult::Ok(vec![...]), and re-encoded as a single Payload::Data for the canister callback.

Reject entries (infrastructure-level failures like DNS/network errors) are filtered out as this path is unrechable due to payload building/validation ensuring that no reject responses are included in the ok-payload (see #9572).

If Candid decoding or encoding fails, the delivery of the response is skipped and a timeout will eventually gracefully end the outstanding callback.

@github-actions github-actions bot added the feat label Mar 24, 2026
@fspreiss fspreiss changed the title feat(flexible-outcalls): IC-1952 deliver flexible responses to execution feat(flexible-outcalls): IC-1952 deliver flexible ok-responses to execution Mar 27, 2026
@fspreiss fspreiss marked this pull request as ready for review March 27, 2026 08:30
@fspreiss fspreiss requested a review from a team as a code owner March 27, 2026 08:30
@fspreiss fspreiss requested a review from eichhorl March 27, 2026 08:30
@fspreiss fspreiss added this pull request to the merge queue Mar 28, 2026
Merged via the queue into master with commit 78bfafc Mar 28, 2026
38 checks passed
@fspreiss fspreiss deleted the fspreiss/CRP-1952-deliver-responses-to-execution branch March 28, 2026 20:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants