Andreas Kling, le fondateur du navigateur web Ladybird, a annoncĂ© une modification du processus de dĂ©veloppement du projet. Ladybird va dĂ©sormais cesser d'accepter les pull requests publiques et privilĂ©gier l'intĂ©gration des modifications dans la base de code uniquement par l'intermĂ©diaire d'accompagnateurs. Tous les pull requests publics dĂ©jĂ ouverts seront fermĂ©s. Le code source de Ladybird continuera d'ĂȘtre distribuĂ© sous la licence BSD. Les rapports de problĂšmes, les vulnĂ©rabilitĂ©s et les tests de fonctionnement avec les sites continueront d'ĂȘtre acceptĂ©s sans changement. Les passionnĂ©s externes pourront Ă©galement participer aux discussions sur le soutien des standards et l'architecture du projet.
Les raisons de l'arrĂȘt de l'acceptation des pull requests publiques incluent la prĂ©paration du premier alpha release, nĂ©cessitant une rĂ©partition des responsabilitĂ©s plus stricte pour les modifications apportĂ©es. Selon les crĂ©ateurs de Ladybird, le code doit ĂȘtre acceptĂ© uniquement de la part de personnes dignes de confiance et prĂȘtes Ă assumer une responsabilitĂ© personnelle pour chaque ligne de code, en vĂ©rifiant si le code correspond Ă l'architecture du projet et s'il pourra ĂȘtre maintenu Ă l'avenir.
Parmi les problĂšmes posĂ©s par l'acceptation de modifications de tous les volontaires, on note une diminution de la confiance envers les auteurs des patches â en raison de la possibilitĂ© de gĂ©nĂ©rer des modifications par AI, la taille du patch ne reflĂšte plus l'effort et le temps de dĂ©veloppement investis. L'acceptation de patches externes facilite Ă©galement l'activitĂ© des malfaiteurs, qui gĂ©nĂšrent initialement des modifications fonctionnelles pour gagner la confiance avant d'introduire une vulnĂ©rabilitĂ© cachĂ©e dans le code.
On peut également mentionner le rapport de mai sur le développement de Ladybird. Parmi les réalisations récentes, on note :
- Un compilateur JIT pour WebAssembly, basé sur Cranelift (le passage de l'interprétation à la compilation JIT a augmenté les performances lors du test CoreMark par 8 fois et de 3 à 4 fois pour les micro-tests de fonctions individuelles);
- Un nouveau bloqueur de contenu indésirable a été développé, basé sur la bibliothÚque adblock-rust du projet Brave et prenant en charge les filtres de type Adblock Plus et EasyList;
- Le parser HTML a été réécrit en Rust;
- Le code de défilement de contenu a été extrait du flux principal dans un processus de composition distinct et converti en un modÚle de travail asynchrone;
- L'API Media Source Extensions est désormais activée par défaut et le fonctionnement avec la vidéo en streaming a été amélioré.
- Un systÚme de mise en cache de bytecode JavaScript sur disque a été ajouté;
- Le ramasse-mottes a été doté d'un mode de nettoyage incrémentiel, éliminant les longues interruptions des calculs et améliorant la réactivité de l'interface;
- Le support des CSS a Ă©tĂ© Ă©largi, avec la mise en Ćuvre de requĂȘtes de conteneur (@container), de la dĂ©limitation de portĂ©e (@scope), « grid-template-columns: subgrid », « scroll-margin », « scroll-padding »;
- API Permissions ajoutée;
- Le protocole HSTS (HTTP Strict Transport Security) a Ă©tĂ© mis en Ćuvre;
- Détection automatique de l'encodage du texte assurée;
- Les outils pour les développeurs web ont été enrichis d'un support pour l'inspection des mises en page flexbox et grid;
- Compatibilité améliorée avec Discord, Shopify, Reddit, ainsi qu'avec les sites utilisant des graphiques basés sur la bibliothÚque TradingView.

- L'interface utilisateur basĂ©e sur la bibliothĂšque Qt a Ă©tĂ© modernisĂ©e. Un mode d'affichage vertical des onglets a Ă©tĂ© mis en Ćuvre. Ajout du support pour dĂ©placer les onglets avec la souris pour les regrouper, les dĂ©tacher ou les dĂ©placer dans une autre fenĂȘtre;

- Au lieu des styles standard pour les panneaux et les boutons Qt, un design personnalisĂ© pour les onglets, la barre dâoutils et la barre dâadresse a Ă©tĂ© rĂ©alisĂ©. FonctionnalitĂ© de restauration des onglets et fenĂȘtres rĂ©cemment fermĂ©s ajoutĂ©e. Fonction d'insertion de texte Ă partir du presse-papiers via le bouton central de la souris mise en Ćuvre.

Le navigateur Ladybird est développé par Andreas Kling, qui a travaillé auparavant chez Nokia sur le développement de KHTML, puis a été l'un des développeurs de Safari chez Apple. Le projet a initialement été créé comme une application pour le systÚme d'exploitation SerenityOS, mais a été séparé pour devenir un projet distinct à l'été 2024, avec un don de 1 million de dollars. Le navigateur est écrit en C++ (le projet de réécriture des composants en Rust a commencé) et est distribué sous licence BSD. Le projet développe son propre moteur LibWeb, son interpréteur JavaScript LibJS et des bibliothÚques associées.
Source : opennet.ru



