Files
pzmanager/internal/api/handlers_server_test.go
mrleo1nidandClaude Opus 5 20795b053d
CI / test (push) Successful in 24s
Release / release (push) Successful in 31s
Консоль не вешает вкладку под потоком логов сборки
Загрузка мира со сборкой модов печатает десятки тысяч строк: каждое
исключение мода — стек на два десятка строк. Консоль рисовала их по одной
и после каждой прокручивалась вниз, заставляя браузер пересчитывать
раскладку всего списка. Десять тысяч строк блокировали вкладку на 29
секунд, и запуск сервера выглядел как зависшая панель.

Строки копятся и выводятся пачкой раз в кадр: те же десять тысяч теперь
занимают 14 мс. Узлы сверх предела списка не создаются вовсе, а на скрытой
вкладке очередь ограничена, чтобы не расти в памяти.

Заодно вывод игрового сервера больше не гоняется через словарь переводов:
он английский, в словаре менеджера его нет, а перебор шаблонов регулярками
на таком потоке стоит дорого.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-07 17:57:11 +03:00

19 lines
691 B
Go

package api
import "testing"
// Вывод игрового сервера идёт мимо словаря: он английский, а перебор шаблонов
// на десятках тысяч строк загрузки мира стоит дорого.
func TestTranslatableOnlyManagerStreams(t *testing.T) {
for _, stream := range []string{"manager", "task"} {
if !translatable(stream) {
t.Errorf("строки потока %q должны переводиться", stream)
}
}
for _, stream := range []string{"stdout", "stderr", ""} {
if translatable(stream) {
t.Errorf("строки потока %q переводить незачем", stream)
}
}
}