[bug] Обрезка HUD-сводки скрывает итоговый счёт при большом числе строк #24

Closed
opened 2026-10-29 12:24:12 +00:00 by chexit · 1 comment
Owner

Проверено на опубликованном 90379f6 при проверке дополнительного ревью. Незакоммиченные изменения из чужой рабочей копии недоступны.

panel::summary добавляет строку «Сбито … · прорвалось …» последней, а затем выполняет lines.truncate(16). При нескольких информационных строках боя и списке комплексов счёт отрезается.

Воспроизведено оригинальной panel::summary с SDK Line fixture: 9 комплексов, один уничтожен; есть живой дрон, очередь пуска, объект, цель вне видимости РЛС. Возвращаются 16 строк; последняя «…и ещё 1 комплексов», строки «Сбито» нет.

Уточнение: не любое наличие 8+ комплексов скрывает счёт; нужен достаточно длинный набор остальных строк.

Исправление: резервировать место обязательной итоговой строке и главным предупреждениям до заполнения списком; при нехватке места сокращать/сворачивать второстепенный список, а не срезать хвост готовой сводки.

Код:

lines.truncate(16);
.

Проверено на опубликованном `90379f6` при проверке дополнительного ревью. Незакоммиченные изменения из чужой рабочей копии недоступны. panel::summary добавляет строку «Сбито … · прорвалось …» последней, а затем выполняет lines.truncate(16). При нескольких информационных строках боя и списке комплексов счёт отрезается. Воспроизведено оригинальной panel::summary с SDK Line fixture: 9 комплексов, один уничтожен; есть живой дрон, очередь пуска, объект, цель вне видимости РЛС. Возвращаются 16 строк; последняя «…и ещё 1 комплексов», строки «Сбито» нет. Уточнение: не любое наличие 8+ комплексов скрывает счёт; нужен достаточно длинный набор остальных строк. Исправление: резервировать место обязательной итоговой строке и главным предупреждениям до заполнения списком; при нехватке места сокращать/сворачивать второстепенный список, а не срезать хвост готовой сводки. Код: https://gitea.maoniao.team/chexit/airdef/src/commit/90379f6/airdef-mod/src/panel.rs#L103.
chexit added the area:uipriority:P2type:bug labels 2026-10-29 13:10:46 +00:00
Author
Owner

🤖 Agent: исправлено в https://gitea.maoniao.team/chexit/airdef/commit/67a2a52 (запушено в main).

🤖 Agent: исправлено в https://gitea.maoniao.team/chexit/airdef/commit/67a2a52 (запушено в main).
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: chexit/airdef#24