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

Electron 44.3 посилив контроль дозволів і виправив серію падінь застосунків

Стабільний Electron 44.3 точніше ізолює доступ до файлів і пристроїв, перевіряє IPC між фреймами та виправляє падіння на Windows і Linux.

Electron 44.3 посилив контроль дозволів і виправив серію падінь застосунків

Electron 44.3.0 вийшов як стабільне обслуговувальне оновлення з великим набором виправлень безпеки, дозволів і стабільності. Найпомітніші зміни стосуються File System Access, USB/HID перевірок, внутрішнього IPC, захоплення екрана та падінь під час закриття вікон. Оновлення важливе для застосунків, які відкривають локальні файли, використовують webview або працюють із кількома фреймами.

Редакційна AI-ілюстрація захищеної архітектури desktop-застосунку; не входить до першоджерела.
Редакційна AI-ілюстрація дозволів і стабільності desktop-runtime. Вона не входить до першоджерела.

Дозволи прив’язано до документа

Запити File System Access і подія file-system-access-restricted тепер належать документу, який їх створив. Надані права скидаються, коли закривається остання сторінка origin, а запис працює і в in-memory sessions. Це прибирає небезпечну двозначність, коли дозвіл міг пережити контекст, для якого його погодив користувач.

Обробник session.setPermissionCheckHandler отримує правильний origin і WebContents для HID та USB-запитів із subframe. Запити openExternal, ініційовані фреймом, який уже зник, також атрибутуються його origin, а не сторінці, що встигла відкритися пізніше.

IPC і webview стали жорсткішими

Внутрішні відповіді IPC для webview, window.close() та executeJavaScript перевіряються відносно фрейму-відправника. Посилання у webview без allowpopups більше не обходять обмеження через modifier-click. Також nodeIntegrationInWorker працює лише для worker, створених фреймами з Node integration; для subframe потрібен явний nodeIntegrationInSubFrames.

Ці зміни можуть проявитися як поломка старого застосунку, який покладався на надто широкі дозволи. Але саме така поломка корисна: вона виявляє місця, де різні вебконтексти мали більше повноважень, ніж було видно з UI.

Виправлення падінь і продуктивності

На Linux усунено race під час одночасного читання та запису process.env, а також витік пам’яті після завершення worker thread. На Windows виправлено можливе падіння, коли файловий діалог відкривався для вікна, що одночасно закривалося. Renderer більше не повинен падати, якщо main process надсилає IPC дочірньому window.open() з іншим contextIsolation.

Виклик app.getGPUInfo('complete') більше не має блокувати GPU process на кілька секунд на окремих Windows-системах. Виправлено також аварії setDisplayMediaRequestHandler, коли фрейм уже знищений або джерело захоплення належить іншій вкладці.

Зручніше налагоджувати custom title bar

Нова змінна ELECTRON_DEBUG_DRAGGABLE_REGIONS візуалізує та журналює області перетягування в незапакованому застосунку. Вона допомагає знайти перекриття кнопок і CSS-зони, через які користувач не може перетягнути вікно або натиснути елемент. DevTools знову коректно відкриває сертифікат, реагує на Ctrl+колесо та клавіші налагодження.

Чекліст оновлення

  • Пройти сценарії відкриття, запису й повторного надання доступу до файлів.
  • Перевірити iframe/webview з USB, HID, openExternal та popup-поведінкою.
  • Прогнати тести закриття вікна під час file dialog і screen capture.
  • Перевірити worker у subframe, якщо застосунок використовує Node integration.
  • Протестувати Tray у Flatpak/Snap та збереження fullscreen/maximized стану.
Практичний висновок: Electron 44.3 звужує неявні повноваження фреймів і прибирає кілька race condition. Оновлення бажано розгорнути після регресійних тестів файлових дозволів, webview та захоплення екрана.

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

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

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

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

</>

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

Далі за темою

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