14 октября 2026 года разработчики Electron выпустили версию 44.7.2, которая устраняет проблему с повреждением приложения при прерывании автоматического обновления на macOS. Днём ранее вышла 44.7.1 с исправлениями сбоев запуска и загрузки файлов в Linux. Разбираемся, в каких условиях проявлялись ошибки и как изменилось поведение приложений.

Прерванное обновление в macOS могло оставить приложение неработоспособным
При установке обновления на Mac приложение могло оказаться повреждённым или исчезнуть из привычного места. Сценарий возникал, когда системный процесс установки прерывался между перемещением старой версии и размещением новой — например, из-за перезагрузки или принудительного завершения процесса.
Причина скрывалась в Squirrel.Mac — компоненте, на котором основан встроенный механизм autoUpdater для macOS. Его служебный процесс ShipIt занимается установкой уже подготовленного обновления. В прежней реализации копия старого приложения могла задержаться во временном каталоге после сбоя. Если восстановление затягивалось, macOS могла очистить каталог и удалить файлы резервной копии.
Исправление, вошедшее в Electron 44.7.2, меняет порядок восстановления. ShipIt теперь возвращает оставленную предыдущим прерыванием копию сразу при запуске, до ожидания закрытия приложения. Если подготовленный пакет обновления уже отсутствует, установщик прекращает эту попытку и сохраняет доступную предыдущую версию. Разработчики связали изменение с исправлением в Squirrel.Mac и перенесли его в стабильную ветку Electron 44.
Это касается приложений для macOS, использующих соответствующий механизм автоматического обновления. Сам Electron служит основой для настольных программ на JavaScript, HTML и CSS; исправление станет доступно конечным пользователям по мере выхода сборок этих программ на обновлённой версии фреймворка.
Electron 44.7.2 восстановил клики по фоновым окнам на macOS
Другая ошибка затрагивала программы автоматизации и вспомогательные инструменты, управляющие окнами через системные события macOS. Когда сторонний процесс отправлял событие мыши непосредственно приложению Electron с помощью CGEventPostToPid, клик мог пропасть, если окно находилось на заднем плане.
Дело было в обработке первого нажатия: система воспринимала его как попытку активировать окно, хотя событие передавалось напрямую процессу и обычной активации не происходило. Исправление меняет обработку таких событий для фонового приложения. При этом привычное поведение физических кликов, которые сначала активируют окно Mac, сохраняется.
В описании первоначальной технической правки разработчики привели результаты локальной проверки: в прежней сборке тестовые клики, отправленные непосредственно фоновому приложению, доходили до страницы 0 из 6 раз, а с исправлением — 6 из 6. Эти данные относятся к конкретному тестовому сценарию и не служат общей оценкой надёжности всех приложений Electron.
Electron 44.7.1 устранил ошибки с путями и графической средой Linux
Релиз 44.7.1 от 13 октября сосредоточился на других сценариях. Один из них связан с архивами ASAR, в которые Electron-приложения часто упаковывают код и ресурсы. Если путь к архиву содержал символы за пределами ASCII, а программа запускалась без локали UTF-8, загрузка могла завершаться ошибкой.
Например, проблема проявлялась при запуске с LC_ALL=C: прежний способ преобразования пути в Linux мог вернуть пустое значение. Это мешало распознавать архив, а дочерние процессы, создаваемые через child_process.fork(), в отдельных случаях также не могли прочитать его. Исправление использует байтовое представление пути в POSIX-системах, устраняя зависимость этого участка от неверного преобразования символов.
В ту же версию вошли правки запуска при отсутствии доступного графического сервера и создания окна с меню, когда библиотека GTK не смогла инициализироваться. Ещё одно исправление касается расположения WebContentsView: после удаления и повторного добавления области содержимого она могла оставаться скрытой за другими областями окна.
Как версии Electron связаны с обновлениями готовых программ
Electron включает движок Chromium и среду Node.js, поэтому разработчики настольных программ получают единый набор веб-технологий для Windows, macOS и Linux. Но версия Electron внутри установленной программы зависит от её собственной сборки и графика выпуска обновлений.
Поэтому появление 44.7.2 в официальном репозитории само по себе не обновляет все программы на Electron. Для macOS исправление установки относится к autoUpdater на базе Squirrel.Mac; в Linux у Electron нет встроенного эквивалента этого механизма, и порядок распространения обновлений зависит от способа установки приложения.
Параллельно 14 октября опубликованы 43.7.11 и 42.11.14. Их описания перечисляют перенос исправлений из ANGLE, Chromium, PDFium и V8 без отдельного перечня новых пользовательских функций. Ветка 44 получила более конкретные исправления поведения приложений на macOS и Linux.
Что изменилось для приложений на Electron
Октябрьские исправления охватывают три разных источника проблем: прерванную установку обновления в macOS, потерянные события мыши в фоновых окнах и ошибки запуска в Linux при отдельных настройках среды. Для разработчиков эти случаи теперь документированы в конкретных релизах и связанных изменениях исходного кода.
Насколько быстро исправления появятся в повседневных приложениях, определяется датами выпуска новых сборок самих программ. Данные о том, сколько пользователей столкнулось с перечисленными сбоями, в заметках к релизам не приводятся.
Источники
- Electron 44.7.2 — официальные примечания к релизу
- Electron 44.7.1 — официальные примечания к релизу
- Исправление прерванной установки в Electron и его техническое описание
- Первоначальная проблема и исправление в Squirrel.Mac
- Исправление обработки кликов по фоновому окну macOS
- Исправление загрузки ASAR по путям с не-ASCII-символами
- Документация Electron по автоматическому обновлению приложений
- Примечания к Electron 43.7.11
- Примечания к Electron 42.11.14