fix(realtime): объединение частых синхронизаций и лог неожиданных ошибок
- клиент откладывает перечитывание комнат (окно 250 мс) и не запускает второй запрос, пока идёт первый: серия событий ролей и участников больше не даёт лавину GET members/roles и 429 на лимите API; - неожиданные ошибки API пишутся в лог (и в chi-, и в huma-ветке): под параллельной нагрузкой на стенде видели разовые 500 на GET members/roles, но без текста ошибки разобраться было нельзя.
This commit is contained in:
@@ -149,6 +149,11 @@ func humaError(err error) huma.StatusError {
|
||||
return nil
|
||||
}
|
||||
converted := newAPIError(err)
|
||||
if converted.Status >= http.StatusInternalServerError {
|
||||
// Единственное место, где видно текст неожиданной ошибки: клиенту
|
||||
// уходит «internal error», поэтому пишем причину в лог (AGENT.md 9.4).
|
||||
slog.Error("unexpected API error", slog.String("code", converted.Code), slog.Any("error", err))
|
||||
}
|
||||
return &humaAPIError{status: converted.Status, code: converted.Code, message: converted.Message}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user