5089aedd6f
Two issues prevented the bell emoji from clearing reliably: 1. Race on tab return: clearBellState() runs on visibilitychange/focus, but the WebSocket has buffered output from while the tab was hidden. The terminal processes it immediately, onBell fires, and the bell is right back. Fixed with a 1-second suppression window after clearing — bells from buffered output are ignored. 2. Bell stays when clicking without typing: the bell only cleared on onData (keyboard input). If you clicked the terminal or just switched back without typing, the emoji persisted. Added a mousedown listener on the terminal element to clear it on any mouse interaction.