Refresh presence on websocket pong

This commit is contained in:
richjohnrambo
2026-09-04 10:49:33 +08:00
parent 9da072e6f9
commit 3173313ab9
2 changed files with 18 additions and 10 deletions
+3
View File
@@ -12,6 +12,7 @@ package main
import (
"encoding/json"
"net/http"
"sync/atomic"
"time"
"github.com/gorilla/websocket"
@@ -45,6 +46,8 @@ func (sess *Session) readLoop() {
sess.ws.SetReadLimit(globals.maxMessageSize)
sess.ws.SetReadDeadline(time.Now().Add(pongWait))
sess.ws.SetPongHandler(func(string) error {
atomic.StoreInt64(&sess.lastAction, types.TimeNow().UnixNano())
sess.refreshPresence("ws.pong")
sess.ws.SetReadDeadline(time.Now().Add(pongWait))
return nil
})