In remote customer support, silence is the hardest state to interpret. When a specialist types a detailed answer, did the customer see it? Are they reading? Did they close their laptop and walk away?

Wisper bridges this gap with instant read status synchronization.

How the Page Visibility API Syncs with Telegram Reactions

When an operator sends a reply from Telegram, the message is stored and delivered to the website. But the bot does not immediately mark it as seen.

Instead, the website widget uses the browser's native document.visibilityState API and window focus listeners. Only when the customer actually has the chat panel expanded and open on their screen does the widget dispatch a tiny heartbeat acknowledgment to the server.

Upon receiving this acknowledgment, the bot instantly fires a setMessageReaction call to Telegram, adding an 👀 emoji reaction to the operator's message in the topic thread.

💡 Practical Benefit: If an operator sees the 👀 icon, they know the customer is actively reading and can wait for a reply. If after 3 minutes there is no reaction, they know the customer minimized the tab, and can follow up accordingly.