fix: 修复19个Bug (P0-P3) — 持续性调试第7轮发现的问题
P0 (5): crypto/rand session ID, TTS fallback可达性, goroutine defer recover, adminAuth前缀修正 P1 (5): 普通用户密码验证, context传递, priority clamp, 超时重试, 自主思考速率限制 P2 (4): Briefing AI降级, 前端消息类型渲染, Docker Compose补全, PWA 192图标 P3 (5): goroutine错误处理, .gitignore完善, reminder created_at, voice Dockerfile, Go版本更新
This commit is contained in:
@@ -99,6 +99,11 @@ func NewHub() *Hub {
|
||||
// 每5分钟检查一次,将超过 idleTimeout 无活动的会话标记为 idle
|
||||
func (h *Hub) StartIdleCleanup() {
|
||||
go func() {
|
||||
defer func() {
|
||||
if r := recover(); r != nil {
|
||||
log.Printf("[WS] 闲置会话清理 panic 恢复: %v", r)
|
||||
}
|
||||
}()
|
||||
ticker := time.NewTicker(5 * time.Minute)
|
||||
defer ticker.Stop()
|
||||
|
||||
@@ -453,7 +458,14 @@ func (h *Hub) StartIoTBroadcast(iotServiceURL string) {
|
||||
h.iotPollRunning = true
|
||||
h.mu.Unlock()
|
||||
|
||||
go h.iotPollLoop()
|
||||
go func() {
|
||||
defer func() {
|
||||
if r := recover(); r != nil {
|
||||
log.Printf("[IoT广播] 轮询循环 panic 恢复: %v", r)
|
||||
}
|
||||
}()
|
||||
h.iotPollLoop()
|
||||
}()
|
||||
log.Printf("[IoT广播] 已启动 (IoT服务地址: %s)", iotServiceURL)
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user