KamoCRM

A carrier-only organization can hold text threads again (SITP CARRIERSMS)

FixVOIPService
Shipped
October 21, 2026 at 2:13 AM UTC
Author
Kamo
Commit
92baae6

VOIP_CONVERSATIONS.INSTANCE_ID was NOT NULL in production, although the entity and **************** both say an org that texts through a carrier and runs no phone server files its threads with no instance. KamoInitializer kept re-applying the constraint (fixed in initializerservice). The migration is re-issued as **************** and applied to production 2026-10-21 02:12Z (is_nullable = YES; the partial unique index was already present). The start-a-thread endpoint also refused such an org outright ("No phone service is set up") before asking about the member's number. It now passes a null instance and lets SmsGateway.availability decide, which still answers that sentence when there is no route at all. Tests: the entity maps INSTANCE_ID nullable, the migration drops NOT NULL and keeps the partial index, a first carrier text opens a thread with no instance and is stored, the next one finds it, and the endpoint opens or refuses by the number.

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