Campaign sends now render the same text operators expect in /inbox even when a synced Meta template has an empty preview field.
- Falls back to the template definition's BODY component text when
templates.previewis empty. - Keeps non-empty preview text as the preferred source, preserving existing personalized-template behavior.
- Uses the same workspace-scoped template resolver for dispatch and materialization previews.
- Adds regression coverage for blank-preview image-header campaigns and bumps the worker build marker for Railway rollout.