Рекомендуем
VPS на Windows и Linux — от 49 ₽ за 7 дней Быстрый запуск сервера на NVMe для сайтов, ботов и других задач.
Выбрать VPS

Electron исправил повреждение приложений при обновлении macOS и сбои запуска в Linux

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

Electron
Electron

Прерванное обновление в 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 при отдельных настройках среды. Для разработчиков эти случаи теперь документированы в конкретных релизах и связанных изменениях исходного кода.

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

Источники

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

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