Зараз читаютьПрактичні новини про код, AI та технології — без інформаційного шуму
Розробка4 хв читання

Electron 44.1.0 виправив серію падінь і прискорив мережеві запити

Стабільний реліз усуває crashes у V8, WASI, utilityProcess, WebAuthn і webRequest, виправляє Linux ARM та прибирає зайве очікування main process для мережі.

Electron 44.1.0 виправив серію падінь і прискорив мережеві запити

Electron 44.1.0 — великий стабілізаційний patch-реліз для desktop-застосунків: він виправляє серію падінь у Windows і macOS, помилки життєвого циклу utility process та WebContents, некоректні файлові прапорці на Linux ARM і зайве блокування мережевих запитів головним процесом. Версія вийшла 31 серпня 2026 року й базується на Chromium 152.0.7977.65 та Node.js 24.19.0.

Редакційна ілюстрація стабільного кросплатформного desktop runtime з оптимізованими модулями
Редакційна AI-ілюстрація до огляду Electron 44.1.0; вона не входить до першоджерела та не використовує логотипи Electron чи операційних систем.

Менше аварій на межі асинхронних компонентів

Кілька виправлень стосуються ситуацій, коли один об’єкт уже знищено, а інша частина runtime ще намагається ним скористатися. Виклик utilityProcess.postMessage() після завершення utility process більше не повинен валити застосунок. Усунено також crashes у sharedTexture, service-worker ipcRenderer і utilityProcess.fork(), пов’язані з часом життя об’єктів, а також падіння, коли API ще посилається на знищений webContents або батьківське вікно.

Окрема група стосується re-entrancy: деякі обробники подій застосунку могли синхронно викликати Electron API й спричиняти crash. Такі дефекти важко ловити unit-тестом, бо вони залежать від точного порядку callbacks. Після оновлення все одно корисно пройти сценарії закриття вікна, завершення фонового процесу, швидкого logout та повторного запуску.

Windows, macOS і Linux отримали точкові виправлення

На Windows виправлено падіння під час shutdown, коли V8 публікував відкладену worker task. Для packaged AppX/MSIX застосунків GPU process більше не має завершуватися, якщо WebGPU переходить на SwiftShader. Також виправлене некоректне закриття native message box іншою програмою через недійсний button ID.

На macOS WebAuthn Touch ID prompt міг завершити процес, якщо locale resources не завантажились. Пов’язана помилка обробки значень --lang на кшталт de-DE залишала локалізовані рядки порожніми. Повідомлення тепер також показується без іконки, якщо іконку неможливо прикріпити, замість аварійного завершення.

На Linux arm64 і armv7l константи O_DIRECTORY, O_NOFOLLOW та O_DIRECT помилково мали x86-значення. Наслідком був EINVAL під час відкриття каталогу й різна поведінка trace_events у cross-compiled та native builds. Для команд із ARM-пристроями це аргумент перевірити файлові операції саме на реальному target, а не лише в емуляції.

Мережа менше залежить від зайнятості main process

Ресурси сторінок, fetch() і завантаження file:// у renderer більше не чекають, поки main process стане вільним, якщо сесія не має webRequest listeners або protocol interceptors. Навіть коли listeners є, але вони лише спостерігають завершення, помилки, headers чи redirects або відфільтровані для інших resource types, запит не повинен штучно ставати в чергу за main thread.

Це не гарантія однакового прискорення для всіх програм. Застосунок із blocking onBeforeRequest, custom protocol або важкою логікою авторизації все одно свідомо пропускає запити через головний процес. Виграш потрібно перевіряти профілюванням: time to first content, waterfall ресурсів, main-thread long tasks і latency IPC до та після оновлення.

Друк, навігація та інші практичні дрібниці

  • webContents.print() тепер враховує printBackground, duplexMode і стандартні налаштування двостороннього друку принтера.
  • executeJavaScriptInIsolatedWorld коректніше обробляє випадок, коли worldId не є цілим числом.
  • Вікно з custom title більше не повинно втрачати заголовок після back/forward navigation.
  • Сторінка в detached WebContentsView отримує правильний розмір вікна.
  • Tray icon знову має з’являтися у GNOME та не зникати повністю у Wayland.
  • Виправлено crash під час виклику node:wasi функцій в optimized code.
Практичний висновок: реліз особливо корисний застосункам із utility processes, WebAuthn, WebGPU, друком, ARM Linux або значним мережевим навантаженням. Оновлення варто пройти через canary, а не розгортати без перевірки native modules.

План оновлення

Спочатку перебудуйте native dependencies для Electron 44.1.0 і запустіть smoke tests на кожній підтримуваній ОС та архітектурі. Далі перевірте startup/shutdown, завершення дочірніх процесів, друк, Touch ID або інший WebAuthn, tray у GNOME/Wayland, WebGPU fallback і мережеві interceptors. Для Windows package окремо тестуйте встановлений AppX/MSIX build, а не лише unpacked executable.

Оскільки реліз оновлює Chromium і Node.js, regression surface ширший за один список Electron API. Перевірте Content Security Policy, extensions, TLS, native addons і автоматизовані сценарії DevTools. Зберігайте попередній signed artifact для rollback, але не змішуйте в одному rollout зміну Electron із великим redesign або міграцією storage.

Обмеження

Release notes перелічують виправлені дефекти, але не містять універсальних benchmark і не називають кожен backport із Chromium/V8 окремою security advisory. Тому коректно говорити про стабільність і потенційне зменшення затримок, а не обіцяти конкретний відсоток прискорення. Старші гілки Electron 42 і 43 отримали частину споріднених backport, але ця стаття описує саме 44.1.0.

Джерело та права

Матеріал є самостійним українським перекладом-переказом release notes Electron 44.1.0, опублікованих 31 серпня 2026 року командою Electron. Текст, код і документація офіційного репозиторію поширюються за MIT License. Перекладено, адаптовано й доповнено редакцією «Бібліотеки програміста». Обкладинка створена редакцією за допомогою AI і не входить до першоджерела.

Першоджерело:Electron ↗
Автор:Electron Contributors
Ліцензія:MIT License ↗

Матеріал перекладено, переказано та доповнено редакцією українською мовою.

</>

Читайте далі — ми вже розбираємо наступну важливу тему.

Далі за темою

Схожі матеріали