Fixed — overwrite-by-name actually overwrites now, instead of quietly duplicating
0.23.2 promised that re-exporting a Stripo email to Braze would update the same-named template rather than create a second copy. It didn't work. The name-dedupe step couldn't read your existing Braze templates, so it silently fell back to creating new ones — re-exports piled up duplicates, the exact thing the release was meant to stop. The cause was a one-line read bug: the template-list call returns a wrapper object and the dedupe code iterated the wrapper instead of its items. orbit_export_stripo_email_to_braze now unwraps the list correctly, so overwrite-by-name works as advertised.
What shipped
•Bug fix — orbit_export_stripo_email_to_braze now reads your existing Braze email templates before deciding whether to create or update. The list call returns { items, truncated, pages_fetched }, but the dedupe code iterated that wrapper instead of its items array and threw "(items || []) is not iterable". The error was swallowed and the export degraded to create-new, so every re-export without an explicit braze_template_map left a fresh duplicate. Unwrapping .items restores the name match, and same-named templates update in place again.
•Who this hit — anyone who re-exported a program on 0.23.2 and relied on the default behaviour. The explicit braze_template_map path (passing the map from the previous run) was never affected and remained the reliable workaround. If 0.23.2 left you with duplicate templates, this won't clean them up retroactively — delete the extras once, then re-export, and you're back to one template per email.