Liveness probe on /actuator/health/liveness, not the DB-aware aggregate
The aggregate /actuator/health includes the DataSource indicator, so restarting the database failed liveness on every pod at once and restarted the whole platfo...
Release idle Hikari connections now that YSQL pooling is shared
The connection manager no longer pins sessions **************** so idle app connections no longer each hold a database backend. Keep the pool maximum, but stop ...
Put the stream in the config the pod actually reads
The previous commit set nats.jetstream.stream in **************** shipped, deployed — and the new pod still logged NATS stream 'CHAT_MESSAGES' already exis...
Give voip.* a stream to live in, and stop lying about who sent the text
There was no VOIP_MESSAGES stream in NATS at all. Every `voip.*` publish answered 503 No Responders Available and both media pods logged, once, at boot: [V...
Record what the carrier says happened to a text, and check 10DLC before it matters
Sending now succeeds and nothing arrives. Telnyx accepts the message, returns an id, and Verizon then refuses to deliver it: status delivery_failed code ...
Normalise the sender at the gateway, and stop calling a refusal retryable
The previous commit normalised the sender number where it is stored in the number inventory and on the carrier, and the send still failed with the same carrier ...
Normalise sender numbers to E.164 before they reach a carrier
Sending a text failed with "The message could not be sent. Try again in a moment.". Telnyx's own answer, from the voipservice log, was specific: Telnyx POST ...
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.
