Ultimate

X_NOTIFY_CHANNEL_DUPLICATE

Means

two deliveries share one channel name

Typical cause

two deliver entries naming the same channel. Refused because the delivery ledger's unique index is (notifier, key, channel, coalesce(recipient, '')): the second delivery would claim a row the first already owns and be dropped as a duplicate, so one of the two would silently never send

Fix

give the second channel its own name on notifier("<name>") — deliveryChannel('<name>-digest', …) — or merge the two deliver entries

Listed under Notifications

This page as markdown