Печать отдельных фреймов пришла в Electron 43.4.0 — вместе с исправлениями сбоев Windows и Linux

11 августа 2026 года была выпущена новая стабильная версия платформы Electron 43.4.0 для разработки настольных приложений на JavaScript, HTML и CSS. Одним из ключевых нововведений стало то, что главный процесс теперь может сохранять отдельные фреймы страниц в формате PDF. Кроме того, в версии устранены проблемы с захватом звука, улучшена работа при завершении работы в Windows, а также исправлены ошибки в системах X11/Wayland и некоторые редкие случаи сбоев приложений. В состав Electron 43.4.0 входит Chromium 150.0.7871.224, а Node.js продолжает поддерживаться на версии 24.18.1.

Electron
Electron

webFrameMain.printToPDF() печатает отдельный iframe без экспорта всей страницы

В Electron 43.4.0 появился метод webFrameMain.printToPDF(). Он позволяет вызвать создание PDF из главного процесса для конкретного фрейма страницы — например, для содержимого отдельного <iframe>.

До этой версии основной API webContents.printToPDF() работал на уровне содержимого WebContents, то есть разработчик оперировал страницей целиком. Новая точка входа добавляет более точный уровень управления: приложение может получить нужный WebFrameMain и передать в PDF именно тот документ, который связан с выбранным фреймом.

В приложениях, где интерфейс разделён на несколько независимых секций, часто применяется такой подход. В одном окне могут отображаться отчёт, панель управления и интегрированный документ одновременно. Теперь можно создавать PDF-файлы прямо из выбранного фрейма, не прибегая к дополнительной сборке отдельной страницы исключительно для печати.

В pull request проекта Electron разработчики поясняют, что обе функции печати используют общий внутренний путь на базе RenderFrameHost. Задания для одного дерева фреймов выполняются последовательно, поскольку параллельная печать внутри одного дерева конфликтует на стороне renderer-процесса. Фреймы, относящиеся к разным webContents, при этом могут печататься одновременно.

Для разработчиков библиотек и корпоративных оболочек это заметное расширение API: точка управления PDF теперь совпадает с уровнем, на котором приложение уже может обращаться к отдельным фреймам через webFrameMain.

Ограничение restrictOwnAudio теперь учитывается при захвате экрана

Вторая функциональная правка касается getDisplayMedia() и аудио при демонстрации экрана. Electron 43.4.0 исправляет обработку ограничения restrictOwnAudio в setDisplayMediaRequestHandler.

Раньше вызов вида getDisplayMedia({ audio: { restrictOwnAudio: true } }) мог пройти через обработчик Electron без учёта этого параметра. В результате loopback-захват включал звук, который воспроизводило само приложение.

Теперь параметр передаётся корректно. Если приложение использует захват экрана вместе с системным аудио и просит ограничить собственное воспроизведение, Electron учитывает это условие при формировании медиапотока.

Пример Electron-приложения для видеозвонков или записи презентаций показывает, как работает эта функция. Когда окно приложения воспроизводит звук собеседника и одновременно захватывает системный аудиопоток, важно учитывать параметр restrictOwnAudio. Если его игнорировать, приложение может начать записывать собственный звук. Версия 43.4.0 закрывает именно этот участок поведения, который был зафиксирован в официальном исправлении #52533.

Завершение сеанса Windows больше не должно приводить к падению browser-процесса

Один из наиболее заметных crash-fix связан с Windows. Electron исправил сбой browser-процесса, который мог возникнуть во время выхода пользователя из системы, выключения компьютера или перезагрузки.

Этот сценарий находится на границе приложения и операционной системы. Windows начинает завершать пользовательский сеанс, а Electron в этот момент должен корректно остановить собственные процессы и дочерние компоненты. Ошибка в таком пути проявляется редко во время обычной работы, зато способна портить статистику стабильности и оставлять crash-отчёты именно при штатном завершении сеанса.

В исправлении разработчики изменили обработку окончания Windows-сессии и приоритет завершения дочерних процессов. В результате Electron получает более предсказуемый путь остановки приложения при logoff, shutdown и restart.

Обычный пользователь не замечает такого сбоя, так как он происходит после того, как окно уже закрывается вместе с системой. Разработчики же видят это по crash-телеметрии и поведению фоновых процессов, которые должны завершиться вместе с Electron.

Electron 43.4.0 корректнее реагирует на исчезновение X11 или Wayland

Linux получил отдельное исправление для ситуации, когда соединение с графическим сервером пропадает во время работы приложения. Речь идёт как об X server, так и о Wayland compositor.

В официальных release notes указано исправление crash report, возникавшего при завершении графического сервера. Связанный pull request описывает новую логику как graceful exit при потере соединения с display server.

Такой сценарий возможен при завершении графической сессии, перезапуске compositor или сбое окружения рабочего стола. Electron-приложение в этот момент теряет инфраструктуру, через которую выводит окна на экран. Версия 43.4.0 переводит эту ситуацию в контролируемое завершение и убирает аварийный путь с отчётом о падении.

Для Linux-приложений это особенно заметно в средах, где пользовательская графическая сессия может перезапускаться независимо от остальных сервисов. Исправление касается инфраструктурного уровня Electron и не требует изменений интерфейса самого приложения.

Быстрое переключение меню и ранняя активация больше не ведут к двум редким crash-сценариям

В релиз вошло ещё несколько исправлений, связанных с последовательностью событий внутри приложения.

Первое закрывает падение при быстром переключении меню во время высокой нагрузки. Подобная ошибка зависит сразу от двух факторов: интерфейс активно обрабатывает команды меню, а основной или renderer-процесс в этот момент занят другой работой. Поэтому проблема могла проявляться нестабильно и зависеть от конкретной нагрузки.

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

Отдельно разработчики поправили диагностику JavaScript Out Of Memory. Ранее crash, вызванный нехваткой памяти JavaScript, в отдельных случаях мог фиксироваться внутри обработчика crash key вместо фактического места возникновения OOM. Версия 43.4.0 возвращает отчёт к исходной точке сбоя, что делает crash-данные точнее при разборе проблем с памятью.

Linux снова стабильнее получает системный accent color

Ещё одна Linux-правка связана с systemPreferences.getAccentColor(). В некоторых запусках метод мог возвращать пустую строку, из-за чего приложение теряло системный accent color.

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

Проблема выглядела особенно неприятно из-за своей периодичности: один запуск мог вернуть ожидаемое значение, следующий — пустую строку. В 43.4.0 разработчики устранили именно этот нестабильный путь получения настройки.

Chromium обновился до 150.0.7871.224, а Node.js остался на 24.18.1

Electron 43.4.0 поднял встроенный Chromium до версии 150.0.7871.224. Предыдущий стабильный Electron 43.3.0, выпущенный 4 августа, использовал Chromium 150.0.7871.212.

Разница внутри одной ветки Chromium выглядит небольшой, но для Electron такие обновления имеют прямое значение: движок браузера входит в поставку каждого приложения и определяет поведение веб-платформы, рендеринга и части системных интеграций. В release notes также перечислены backport-исправления из ANGLE, Chromium и V8.

Node.js в ветке 43.x уже был обновлён до 24.18.1 в Electron 43.3.0 и сохранил эту версию в 43.4.0. Поэтому миграция с 43.3.0 на 43.4.0 не несёт отдельной смены Node.js runtime.

Официальные примечания к Electron 43.4.0 не выделяют отдельные CVE или самостоятельный security advisory. Перечисленные upstream-backport описаны как исправления ANGLE, Chromium и V8 без детализации отдельных уязвимостей в тексте релиза.

Electron 43.4.0 продолжает быстрый цикл обновлений ветки 43.x

Между Electron 43.3.0 и 43.4.0 прошла одна неделя. Версия 43.3.0 добавила показатель MemAvailable для process.getSystemMemoryInfo() в Linux и закрыла набор ошибок вокруг BrowserWindow, ASAR, диалогов, DevTools и протокольных обработчиков. Релиз 43.4.0 продолжает тот же цикл уже с другим набором проблем: PDF на уровне фрейма, захват аудио, завершение системной сессии и устойчивость внутренних процессов.

Получается характерная картина для зрелой ветки Electron: заметные API-добавления приходят вместе с исправлениями редких системных сценариев. Пользователь конкретного приложения увидит эти изменения только после того, как его разработчики включат Electron 43.4.0 или более новую версию в собственную сборку.

На 12 августа 2026 года официальный сайт Electron указывает 43.4.0 как актуальную стабильную версию. Точно известно, что релиз расширяет PDF API, меняет обработку restrictOwnAudio, закрывает несколько crash-сценариев и обновляет Chromium. Неясно, как быстро версия на Electron будет распространяться через приложения. Поскольку каждый проект обновляет свои продукты по индивидуальному графику, одно и то же исправление может быть доступно пользователям в разное время.

При использовании материалов сайта необходимо указывать ссылку на TGLand.ru. Если вы копируете фрагменты текста в интернете, прямая гиперссылка, доступная для индексации поисковыми системами, должна быть размещена в начале материала.

Вам также может понравиться