### Changed
- Added explicit `idleTimeout: 255` (max) to Bun's WebSocket configuration, configurable via `JEAN2_WS_IDLE_TIMEOUT` env var. Previously Bun's default 120s idle timeout could silently kill connections during periods of inactivity, even with application-level ping/pong flowing.

### Fixed
- Fixed WebSocket connections dropping silently after ~6 minutes of idle time. Bun's default idle timeout (120s) was closing connections in a race condition with the 30s application-level heartbeat. Setting `idleTimeout` to 255 prevents Bun's transport layer from interfering with the application's own heartbeat mechanism.