Главная

Отчет о деятельности и контрактах Haiku, июль 2022 г.

Как обычно, ежемесячный отчет о деятельности объединён с отчетом по контракту.

Этот отчет охватывает ревизии Haiku от hrev56236 до hrev56320.

Приложения

Jim906 улучшил логику сохранения состояния панелей открытия/сохранения файлов. Теперь они должны работать более согласованно во всех приложениях (а не только во встроенных).

j.mairboeck добавил отсутствующий перевод строки в вывод терминала по ключу -–help.

jscipione улучшил меню «Открыть с помощью» в Tracker, чтобы лучше обрабатывать одноименные приложения: теперь в нем будет более четко указано, где эти приложения находятся.

tqh исправил сбой при выходе, связанный с подсчетом ссылок в WebPositive.

waddlesplash исправил некоторую отключенную логику в WebPositive для поддержки режима работы «гамбургер–меню». (Кому–нибудь на самом деле нужна эта функцию? Она выглядит аккуратно, но в остальном кажется громоздкой…)

jscipione несколько улучшил панель внешнего вида, в первую очередь для поддержки переноса текста в предварительном просмотре шрифтов, что весьма необходимо на некоторых языках с более длинными демонстрационными строками, чтобы избежать громоздких размеров окна.

Драйверы

waddlesplash исправил большое количество сбоев инициализации, потери пакетов и других нестабильностей с недавно перенесенными сетевыми драйверами из OpenBSD, а также провёл ряд очисток кода и объединил заголовки слоя совместимости. Единственными оставшимися известными проблемами в настоящее время, похоже, являются сбои подключения, и в багтрекере есть некоторые предположения о причинах этого.

waddlesplash внес некоторые изменения в драйвер XHCI (USB3) для лучшего управления передачей, произвёл чистку кода.

kallisti5 исправил ускоритель radeon_hd, чтобы он мог завершать инициализацию с ошибкой. В сочетании с изменениями app_server, упомянутыми ниже, это устраняет ряд проблем с экраном при загрузке.

milek7 предоставил патч, позволяющий отложить инициализацию диспетчера шины PCI. Это необходимо на ARM и других платформах, где шина PCI не обязательно обнаруживается так же, как на x86 (и даже там у нее есть утилита, позволяющая инициализировать PCI после ACPI, если это возможно).

PulkoMandy настроил драйвер PS/2 так, чтобы он не публиковал устройство клавиатуры до завершения проверки мыши. Это устраняет ненужный сброс клавиатуры и потерю настроек ввода.

tqh удалил код драйвера гибких дисков на шине ISA. Мы никогда должным образом не поддерживали ISA.

waddlesplash перенес большую часть логики генерации событий тачпада из драйвера ядра PS/2 на в дополнение для input_server. Это убирает большое дублирование кода и левую логику из ядра, а также означает, что логика генерации событий может использовать реальные математические функции из libroot, что должно сделать их значительно более эффективными, а также более простыми в поддержке.

Серверы

waddlesplash переработал логику загрузки драйвера–ускорителя в app_server чтобы иметь возможность вернуться к драйверам VESA/Framebuffer, если ускоритель не инициализировался. Это устраняет некоторые проблемы с «черным экраном» на ряде систем AMD/ATI (после вышеупомянутых изменений в radeon_hd, позволяющих не инициализировать ускоритель), а также, возможно, на другом оборудовании. Он также сделал некоторые функции в модуле ускорителя необязательными, что позволило немного очистить драйверы VESA / Framebuffer.

dcieslak реализовал BFont::BoundingBox, API, который присутствовал даже в BeOS R5, но до сих пор не был реализован в Haiku.

waddlesplash добавил базовое масштабирование для границ окон в средах HiDPI. Хотя визуально они не идеальны, по крайней мере, границы теперь не имеют фиксированного (маленького) размера, а масштабируются вместе с остальной частью пользовательского интерфейса.

jscipione исправил сборку test_app_server.

Файловые системы

PulkoMandy исправил некоторые предупреждения и включил -Werror для драйверов FAT, RamFS и некоторых других.

Mashijams добавил поддержку блочных и листовых каталогов v5 в драйвер XFS, а позже каталоги B+Tree и поддержку файлов v5.

PulkoMandy серьезно переработал поддержку FUSE в userlandfs: обновил совместимый API до FUSE 2.9, добавил поддержку «низкоуровневого» API FUSE, добавил документацию и многое другое. Это позволит использовать в Haiku гораздо более широкий спектр файловых систем FUSE.

Kits

Старый патч от Leorize, добавляющий новый класс BMemoryRingIO в Shared Kit, был наконец объединен. Этот класс функционирует как относительно сложный кольцевой буфер, который можно использовать в любом BDataIO интерфейсе. Первоначально это было сделано для Network Kit, но, вероятно, оно может иметь более широкое применение.

nephele добавила базовые «темные» цветовые константы наряду со стандартными для системы “светлыми” по умолчанию. В будущем это может быть использовано для добавления автоматической поддержки «темного режима». На данный момент он будет использоваться в WebPositive для более полной поддержки веб–приложений в «темном режиме».

Система сборки

waddlesplash обновил набор пакетов по умолчанию, с которым собирается Haiku для x86 и x86_64. Это приносит в основном исправление различных ошибок, но, что более важно, включает новые версии всех пакетов, связанных с WiFi, поэтому больше нет необходимости запускать pkgman update для ночных сборок, чтобы новые драйверы OpenBSD работали правильно.

libroot & kernel

waddlesplash исправил POSIX FIFO для поддержки открытия FIFO в режиме чтения и записи одновременно. Это поддерживается другими POSIX–совместимыми операционными системами и полагается на оболочку fish для поддержки некоторых функций.

trungnt2910 исправил реализацию printf при обработке %F в libroot.

trungnt2910 реализовал locale_t и связанные с ним методы из новых версий стандарта POSIX. Это необходимая функция для некоторых более продвинутых приложений, таких как последние версии fish, а также используется опционально во многих других приложениях.

waddlesplash исправил работу профилировщика на стороне ядра. По всей видимости, эта функция была сломана уже много лет, начиная с момента слияния нового планировщика потоков в 2014 году или около того, но, похоже, никто не замечал этого до недавнего времени. Теперь снова можно правильно профилировать приложения (или всю систему) и даже использовать графические инструменты, такие как KCachegrind, для выявления и устранения проблем производительности.

Документация

nephele предоставил патч для добавления поддержки «темного режима» в правила CSS Руководства пользователя.

kallisti5 и PulkoMandy работали над переносом инженерной документации релиза из Trac в дерево, а также над ее обновлением с учетом различных изменений в нашей сборке и других процедурах. Это особенно актуально для следующего предстоящего бета–релиза.

ARM!

davidkaroly продолжает работу над портом ARM. В прошлом месяце он исправил выравнивание страниц, функции работы с пользовательской памятью, добавил больше операторов TRACE для отладки, FDT и многое другое.

madmax также внес исправление в логику системы сборки ARM.

milek7 добавил обработку входа в пользовательское пространство, UART, ACPI, таймер и многое другое для ARM64.

HaikuPorts

waddlesplash добавил поддержку XSettings в Xlibe. Это позволяет приложениям, которые проверяют XSettings, например GTK, использовать системные шрифты по умолчанию и масштабирование HiDPI. В результате все приложения GTK в HaikuPorts теперь должны автоматически учитывать системный шрифт по умолчанию и, по крайней мере, пытаться масштабироваться в соответствии с тем, как это делают другие приложения Haiku. Некоторые другие ошибки обработки координат и событий были исправлены примерно в то же время в результате тестирования других приложений.

Begasus добавил порт Geany, IDE на базе GTK, а также добавил или обновил версии различных других программ на базе GTK.

3dEyes добавил порт Ladybird, легкого веб–браузера, созданного для SerenityOS.

Вот и все, друзья!

В целом, месяц был немного спокойнее (я работал не так много часов в прошлом месяце, как в позапрошлом), но я увидел, что у нас стало больше постоянных доноров на GitHub Sponsors.

Еще раз спасибо всем спонсорам, которые делают мой контракт возможным!

Augustin Cavalier (waddlesplash)

Оригинал статьи: https://www.haiku-os.org/blog/waddlesplash/2022–08–09_haiku_activity_contract_report_july_2022/

Отправить комментарий

Содержание этого поля является приватным и не предназначено к показу.
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Allowed HTML tags: <a> <em> <i> <img> <strong> <b> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Строки и параграфы переносятся автоматически.

Подробнее о форматировании

CAPTCHA
Введите перечисленные символы, чтобы мы убедились, что вы не робот. Не требуется для зарегистрированных пользователей.
z
T
s
L
4
9
Enter the code without spaces and pay attention to upper/lower case.