Braze Performance fix from 0.18.6 — actually shipping this time
The 0.18.6 changelog two days ago promised a fix for orbit_braze_performance reporting zeros on scheduled-blast canvases. Turns out the manifest version bumped but the underlying code never made it into the published .mcpb — so anyone who downloaded 0.18.6 (or 0.18.7 yesterday) still got the old broken behaviour. The actual code now ships in 0.18.8. If you saw the entry, downloaded the update, and noticed nothing changed: that's why. Sorry.
What shipped
•Headline metrics for canvases now correctly show sent / delivered / unique opens (with open_rate) / unique clicks (with click_rate) / unsubscribes / bounces (hard + soft, broken out) — pulled from the step-level rollup, not from total_stats.entries which can be 0 for scheduled audiences. Conversions stay in the response as a secondary metric.
•Triggered canvases continue to work exactly as before — the rollup is computed from the same step-level data the API already returned, the field set is just richer.
•When a canvas has message steps but the Braze API returns no step metrics (the scheduled-audience case), the response now carries a warnings array explaining what happened. No more wrong-but-plausible zeros.
•total_entries is preserved in a debug block on each canvas so you can still see the underlying entry count — it's just no longer the headline.
•Performance summary now reports total_canvas_sends alongside total_canvas_entries so the aggregate row matches what an operator would expect.
•Three new tests cover the regression paths: triggered canvas with step rollup, scheduled-blast with entries=0 + populated step rollup, and message-steps-but-empty-step_stats emitting a warning.