fix: stop orphaned heartbeat manager and fix resume IDENTIFY bug master
Bug 1 (resume, line 2840): ResetHeartbeatCount → StopHeartbeats. The old heartbeat manager was kept alive with a reset count instead of being terminated. It accumulated unacknowledged heartbeats and eventually fired a HeartbeatInequalityDisconnect, tearing down the newly-resumed connection. Bug 2 (on_hello_event, lines 3384-3432): on_hello_event now checks whether we are doing a fresh connection (GettingReady/Welcomed) or a resume (Identified). During a resume the function previously: - transitioned unconditionally to Welcomed state, losing session_id, resume_gateway_url and sequence - called send_identify(), sending IDENTIFY to Discord and overriding the RESUME that was already queued Now, when the incoming state is Identified (resume path), the function stops the old heartbeat manager defensively, creates a new one, and stays in Identified state — preserving all session fields. IDENTIFY is not sent; the RESUME queued by resume() is used instead. As a result RESUMED is handled correctly by the existing Identified on_dispatch handler and all events flow normally after a resume. Agent-Logs-Url: https://github.com/folospior/grom/sessions/fd438628-6f79-495c-bc1b-209a482845b4 Co-authored-by: folospior <111700958+folospior@users.noreply.github.com>