- 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.
