I am building a small chat feature for an HR system. Shared hosting, PHP, no WebSocket, polling every few seconds. Nothing exotic.
Then a bug report landed. This is what I actually wrote, translated from Korean:
"If I open room A, it gets read. So if I close it and open another room, it should stay read. But that doesn't happen — the badge on the room I already opened is still there."
The original had two typos in it. That tells you how many times I had already retyped it.
The symptom






