feat(aistudio): track Gemini usage and improve stream errors

This commit is contained in:
hkfires
2025-10-25 14:45:42 +08:00
parent 3839d93ba0
commit c32e013605
3 changed files with 52 additions and 22 deletions

View File

@@ -142,11 +142,16 @@ func (m *Manager) handleWebsocket(w http.ResponseWriter, r *http.Request) {
s.provider = strings.ToLower(s.id)
}
m.sessMutex.Lock()
var replaced *session
if existing, ok := m.sessions[s.provider]; ok {
existing.cleanup(errors.New("replaced by new connection"))
replaced = existing
}
m.sessions[s.provider] = s
m.sessMutex.Unlock()
if replaced != nil {
replaced.cleanup(errors.New("replaced by new connection"))
}
if m.onConnected != nil {
m.onConnected(s.provider)
}