The message was lost. Priya still got it.
transcript
Gateway 17 crashes. Six seconds later, Priya's next notification is published to it. Nobody's listening. The message is gone.
Why send it there? Each gateway holds a 15-second lease. Only six seconds had passed. The lease still looked alive. So the message went to a channel with zero listeners.
The live path is pub-sub. It's at-most-once, by design. A restart loses whatever it carried. But the inbox was written first. Before anyone was told. Every item gets a number per user. Hers was 1184.
Her socket dropped with the gateway. Her app reconnects, after a random wait, to another gateway. It says: resume after 1183. The inbox hands back 1184. Nothing lost.
Got 1185 after 1183? One's missing. Fetch it. Not back in a few seconds? No acknowledgement arrives. So the platform sends a push.
Write the inbox first. Then tell the sockets. The socket is a hint. The inbox is the record.
Full breakdown in the lecture.