Aller au contenu principal

2 articles tagués avec "Tech Talk"

'Sharing glimpses into our work on Electron'

Voir tous les tags

Tech Talk: How Electron went Wayland-native, and what it means for your apps

· 13 mins de lecture
info

Tech talks are a new blog post series where we share glimpses into our work on Electron. If you find this work interesting, please consider contributing!

When Electron switched to Wayland on Linux last fall, most people didn't notice.

Major Linux distributions adopted the modern display protocol years ago, and both the KDE Plasma and GNOME desktop environments are in the process of dropping X11 support completely.

But a platform migration isn't complete without apps, and a large part of the Linux app ecosystem went through a second Wayland transition last August — well after most distros had changed their defaults. That's when Chromium turned on Wayland by default, bringing Electron and dozens of Linux desktop apps along with it.

Talk Technique: Amélioration du comportement lors du redimensionnement de la fenêtre

· 16 mins de lecture

We're launching a new blog post series where we share glimpses into our work on Electron. If you find this work interesting, please consider contributing!


Recently, I worked on improving Electron and Chromium's window resize behavior.

Le bug

Nous avons observé un problème sous Windows où des anciennes frames deviennent visibles en redimensionnant une fenêtre:

GIF animé montrant le problème où les anciennes images seraient affichées pendant le redimensionnement des fenêtres

What made this bug particularly interesting?

  1. It was challenging.
  2. It was deep in a large codebase.
  3. As you'll see later, there were two different bugs under the hood.

Fixing the bug

With a bug like this, the first challenge is figuring out where to start looking.

Electron builds upon Chromium, the open source version of Google Chrome. When compiling Electron, Electron's source code is added into the Chromium source tree as a subdirectory. Electron then relies on Chromium's code to provide most of the functionality of a modern browser.

Chromium a environ 36 millions de lignes de code. Electron est également un grand projet. Cela fait beaucoup de code qui pourrait causer ce problème.