Dare voip.* un flusso per vivere in, e smettere di mentire su chi ha inviato il testo

OtherVOIPService
Spegnimento
8 settembre 2026 alle ore 00:23 UTC
Autore
Kamo
Impegno
98cf9f7

Non c'era alcun flusso VOIP MESSAGES in NATS affatto. Ogni `voip.*` pubblica risposta 503 No Responders Disponibile ed entrambi i pod media registrati, una volta, al boot: [VoipRelay] Non è possibile iscriversi a voip.> soggetto: [SUB-90007] Nessun flusso corrispondente per soggetto. Quindi l'intero strato in tempo reale era morto — testi in entrata dal vivo, il distintivo illeggibile, softphone chiamata eventi, segreteria telefonica, e ogni spinta mobile che li guida — e ogni metà fallì in un modo per cui nessuno si aggrappava. Il fallimento pubblicato è catturato e connesso all'avviso all'interno pubblicareNatsEvent; il fallimento dell'abbonato era un singolo Linea ERROR su un baccello che poi corse per settimane cercando sano. La causa era un buco di configurazione. Ogni servizio che possiede soggetti dichiara il suo stream in application.yml e il NatsConfig condiviso lo crea mentre il JetStream fagiolo è costruito — EMAIL NOTIFICATIONS/email.>, DAEMON SYNC/daemon.>. Questo servizio non ha dichiarato nulla, ha ereditato silenziosamente il default condiviso CHAT MESSAGES/chat.>, e segnalato "NATS stream 'CHAT MESSAGES' già esiste" al boot. Il buco sembrava esattamente come una startup sana. VoipNatsStreamProvisioner era destinato a coprire questo e non ha mai funzionato una volta. Era un - Una combinazione. La primavera valuta solo in modo affidabile in auto-configurazione — così il fagiolo di connessione era non ancora visibile durante la scansione dei componenti, la condizione era falsa, e il fagiolo non è mai stato creato. Non ha registrato nulla, nemmeno il suo "NATS non disponibile, saltare" ramo. Eliminato, a favore del meccanismo che funziona. VoipNatsStreamConfigTest spilla la proprietà che effettivamente fallito: ogni soggetto questo servizio pubblica su è coperto dal flusso che configura. Niente più piccolo avrebbe preso questo — non c'era codice sbagliato, solo un flusso che non esisteva. Separatamente, la cornice ha chiamato la parte sbagliata. `daPhoneNumber` trasportato # Che e' la linea OWN dell'org, la parte piu' lontana # vive in ` esternoPhoneNumber`. Tutti e tre i consumatori leggono il modo naturale, quindi un testo in entrata ha alzato una finestra intitolato con il numero del membro, ha eseguito il suo contatto ricerca contro quel numero e non ha trovato nessuno, e ha spinto al telefono come "un testo dal tuo numero >». Ora orientata per direzione, con un esplicito `ExternalPhoneNumber` che è sempre il lato lontano — il campo da chiave su, perché a differenza da / a esso non capovolge quando il membro risponde. Il carico utile trasporta anche AttaccoUrl e stato, quindi un MMS live non è una bolla vuota fino a un refetch. Una pubblicazione che non riesce a registrare ora a ERROR, e una capsula senza NATS lo dice, piuttosto che registrare testi e dire a nessuno.

Tutte le modifiche

Come quello che vedi la spedizione?

Ognuno di questi aggiornamenti atterra automaticamente nello spazio di lavoro. Inizia gratis e guardalo crescere settimana dopo settimana.

Inizia gratis per sempreVisualizza il prezzo