US-4: Typing while a message arrives

Given the user has the OSK open and is typing When a new message arrives Then the OSK stays open and focused And the new message is queued visually (e.g., a subtle indicator) And after the user closes the OSK or sends, the chat refreshes to show queued messages

US-5: Network hiccup during idle

Given the app is open and polling in the background When a poll fails due to network timeout Then the failure is silent — no error screen, no interruption And the next poll retries automatically


Functional Requirements