KamoCRM

An organization's NoReply domain is chosen by name, not by row order

FixEmailService
Shipped
September 28, 2026 at 5:46 AM UTC
Author
Kamo
Commit
e43179d

The campaign From, the transactional Reply-To and the provider default domain each took "the first root org_domains row". Organization.getDomains() is unordered, and the platform organization holds several root rows — kamocrm.com and localhost today (Yugabyte returns localhost FIRST), and kamouniverse.com now that **************** are platform doors. Whichever row the database happened to return decided the platform's NoReply domain, and a new row landing ahead of kamocrm.com would have moved it onto a domain nobody configured SPF for. OrgPrimaryDomain.rootRow picks the way every other hostname decision on the platform does (OrgApiHosts.preferred): active before inactive, registrable only, fewest labels, then alphabetical — kamocrm.com before kamouniverse.com, never localhost while a real domain exists. An organization with a single root domain gets exactly the row it got before.

All changes

Like what you see shipping?

All of it arrives in your workspace on its own. Start on the free plan and read this page again in a month.

Start Free ForeverView Pricing