SIGN IN SIGN UP

Patch signaling for long-running server stability

Three fixes for the Xbox signaling WebSocket that prevent silent failures
in long-running hosting scenarios (e.g., >18h uptime):

1. Ping task no longer dies on first exception. scheduleAtFixedRate
   silently cancels the task if the runnable throws, which would kill
   the keepalive loop forever after any transient write failure. Wrap
   in try/catch and add a write listener so failures are logged but
   the task continues on its cadence.

2. Track lastMessageReceivedAt in channelRead so callers can detect
   silent half-closed TCP connections where Netty reports the channel
   as active but no data is flowing. Exposed via getMillisSinceLastMessage()
   and isChannelAlive(maxSilenceMillis).

3. Add public isChannelAlive() accessor so external code can health-check
   the signaling without resorting to reflection on the protected channel
   field.

Version bumped to 1.7.0-edugeyser.1 for JitPack consumption.
S
SendableMetatype committed
ca5b07c2aa4751be37f75bc10cdbe1e2b4b703a0
Parent: 9f3c0b7