Dar voip.* una transmisión para vivir, y dejar de menta sobre quién envió el texto

OtherVOIPService
Se descapó
8 de septiembre de 2026 a las 0:23 UTC
Autor
Kamo
Compromit
98cf9f7

No había ninguna corriente de VOIP-MESSAGES en nada en NATS. Todos los "voip".* publicar contestados 503 No Responders Disponible y ambas vainas de medios registradas, una vez, en el maletero: [VoipRelay] No se suscribió a voip. [SUB-90007] No hay flujos coincidentes para el sujeto. Así que toda la capa en tiempo real estaba muerta - textos vivos en la entrada, la insignia no leída, Eventos de llamadas de teléfono blando, buzón de voz y cada empuje móvil que los monta cada mitad falló de una manera por la que nadie se aferraba. El fallo de publicación está atrapado y registrado en la advertencia dentro de publishNatsEvent; el fallo de suscripción fue un solo Línea ERROR en una vaina que luego corrió durante semanas luciendo saludable. La causa fue un agujero de configuración. Cada servicio que posee asignaturas declara su stream en application.yml y el compartido NatsConfig lo crea mientras que el JetStream El frijol está construido. EMAIL-NOTIFICACIONES/email., DAEMON-SYNC/daemon. Este servicio no declaró nada, heredó en silencio el predeterminado compartido CHAT-MESSAGES/chat., y "NADAR stream 'CHAT-MESSAGES' ya existe" en el maletero. El agujero parecía exactamente como una startup saludable. VoipNatsStreamProvisioner estaba destinado a cubrir esto y nunca corrió ni una sola vez. Era un UU. "Component anotó ************** - una combinación La primavera sólo evalúa de forma fiable en la autoconfiguración, por lo que el grano de Connection fue Todavía no visible durante el escaneo de componentes, la condición era falsa, y el frijol Nunca fue creado. No registró nada en absoluto, ni siquiera su propio "NATS no disponible, saltando la sucursal. Suprimida, a favor del mecanismo que funciona. VoipNatsStreamConfigTest pina la propiedad que realmente falló: cada tema Este servicio se publica está cubierto por la secuencia que configura. Nada más pequeño habría atrapado este código, no había un código equivocado, sólo una corriente que no existía. Por separado, el marco nombró a la parte equivocada. "DePhoneNumber" llevado **************** que es la línea OWN de la org; el lado lejano vive en el "externalPhoneNumber". Los tres consumidores lo leen de la manera natural, así que un texto entrante levantó una ventana titulada con el propio número del miembro, corrió su contacto mirando contra ese número y no encontró a nadie, y empujado al teléfono como "un texto de tu propio número". Ahora orientado por dirección, con un explícito Es el extremo ajeno el campo en el que se puede, ya sea, porque A diferencia de él no se da la vuelta cuando el miembro responde. La carga útil también conlleva attachmentUrl y estatus, por lo que un MMS vivo no es una burbuja vacía hasta un refetch. Una publicación que falla ahora registra en ERROR, y una vaina sin NATS lo dice, más bien que grabar mensajes y no contarle a nadie.

Todos los cambios

Como lo que ves enviaste?

Cada una de estas actualizaciones aterriza en su espacio de trabajo automáticamente. Empieza gratis y verlo crecer semana tras semana.

Arranzar gratis para siempreVer Precios