Заметно обновилась Bugzilla проекта ALT Linux Team
Главное из того, что вошло в это обновление bugzilla.altlinux.org:
Мобильная вёрстка. Сайтом теперь можно пользоваться с телефона: страницы бага, заведения бага, списков, поиска и настроек адаптированы под узкие экраны. Формы перестраиваются в одну колонку, список багов показывается карточками со строкой сортировки, широкие таблицы прокручиваются, меню шапки и подвала аккуратно переносятся, поле ответа больше не вызывает самопроизвольный зум при фокусе. Подтянута и тема Dusk: рамки, вкладки, единая кнопка «Сохранить» на узком экране.
Доступность. Страницы размечены для экранных дикторов: настоящие заголовки на названии бага и комментариях (по ним можно перемещаться), у всех элементов управления появились имена, форма бага читается в том порядке, в каком нарисована. Устранены все нарушения, которые находит axe-core. Отправка форм без сюрпризов. После отправки комментария или нового бага браузер попадает на страницу бага, а не остаётся на POST-адресе: перезагрузка страницы больше не предлагает «повторить отправку формы» (https://bugzilla.altlinux.org/46436).
Обновление стилей без Ctrl+Shift+R. Ссылки на CSS и JS теперь версионируются: после выката браузер сам подхватывает свежие стили, жёсткая перезагрузка больше не нужна.
MCP-эндпоинт. Появился сервер Model Context Protocol поверх Bugzilla::WebService — https://bugzilla.altlinux.org/mcp.cgi (streamable HTTP). ИИ-агенты могут искать баги (включая quicksearch по тексту комментариев), читать баг с комментариями, историей и вложениями, проверять дубликаты по summary перед заведением, перечислять продукты и компоненты. Права те же, что у обычного API: анонимно или по API-ключу, приватное остаётся приватным.
Корректность и безопасность вывода. Всё, что печатают шаблоны, прогнано через HTML-фильтры — включая русское дерево шаблонов, где два шаблона вообще не компилировались; ссылки на пакеты percent-кодируются, ошибки правил подписки наконец показываются, а неизвестный компонент в фильтре сообщает о себе внятно.
Документация. Страница «Как правильно сообщать об ошибках» переписана под ALT: она называет те значения полей, которые форма действительно предлагает, и объясняет выбор продукта (Sisyphus, ветки, дистрибутивы) на реальных примерах.
Главное в релизе: plain-HTML интерфейс в стиле gitweb для w3m/lynx/links. Рендерится на сервере, на тех же URL (браузер распознаётся по User-Agent, руками — ?ui=plain), со структурой страниц и ?a=-ссылками как у классического gitweb. Консольщикам снова есть чем смотреть Сизиф.
Память
Под glibc malloc память сервера росла без предела (~300 МБ/день на проде): освобождённые крупные буферы не возвращались ядру. Аллокатор заменён на jemalloc с фоновой чисткой — RSS плоский даже под нагрузкой.
Исправления
Пуш, приносящий только сборочный тег, больше не оставляет репозиторию устаревшую дату: last_commit учитывает и теги.
При равных датах веток репозиторий показывает ту, куда смотрит HEAD, а не первую по алфавиту.
Даты коммитов показываются в часовом поясе самого коммита, как в gitweb.
Поиск листается дальше первой сотни результатов.
Огромные диффы (vendor-коммиты) больше не вешают браузер: файлы сверх бюджета сворачиваются и раскрываются по кнопке.
Добавлены подкоманды: apm system source для загрузки SRPM-пакетов и apm system image switch для переключения на другой образ с учётом файла конфигурации.
Правки ID пользователей и групп конфликтов между системой и образом, если имеются.
Восстановление каталогов при удалении через генерацию factory (/var).
Оптимизация и исправления багов.
Добавлена поддержка Secure Boot с загрузчиком GRUB.
Образ теперь имеет лейбл org.altlinux.packages-info со списком пакетного содержимого образа
Добавлены пакеты:
tuner-os-info — плагин «Тюнера» с информацией о системе (Семён Фомченков),
Начата работа над проектом под кодовым именем flute
Цель проекта — автоматизация тестирования графических приложений на GTK через манипуляции с виджетами (вызов сигналов, управление свойствами), а не через клики на экране, как в OpenQA.
Попробовать можно с любым GTK-приложением, запустив его через утилиту flute, например