‹ Reports
The Dispatch

GitHub Repo Analysis: LadybirdBrowser/ladybird


Executive Summary

Ladybird is an independent web browser project under the LadybirdBrowser organization, notable for its novel engine based on web standards. It is in a pre-alpha state, targeting developers with a multi-process architecture for enhanced security and performance. The project is active, with significant community interest but also numerous open issues and pull requests indicating ongoing development challenges.

Recent Activity

Reverse Chronological List of Activities

  1. Tim Flynn (trflynn89): Focused on integrating Temporal updates into LibJS, supporting DevTools JavaScript console, and garbage collection changes in LibGC.
  2. Silvano Cerza (silvanocerza): Fixed template keyword misuse causing Mac build failure (#3750).
  3. Tim Ledbetter (tcl3): Improved LibWeb with HTMLTrackElement error handling and navigation checks.
  4. Alexander Kalenik (kalenikaliaksandr): Optimized style recalculation in LibWeb.
  5. Luke Wilde (Lubrsi): Worked on WebSocket garbage collection rules.
  6. Sam Atkins (AtkinsSJ): Implemented various CSS features and optimizations in LibWeb.
  7. Andreas Kling (awesomekling): Focused on rendering optimizations and CSS property implementations.

Patterns and Themes

Recent activities indicate a focus on stabilizing the browser by addressing critical bugs related to rendering (#3748) and crashes (#3745). The team is also enhancing security by integrating OpenSSL (#3749) and improving cross-platform compatibility (#3750). Collaborative efforts are evident in overlapping contributions to core functionalities like JavaScript engine improvements and CSS feature implementations.

Risks

Of Note

  1. Security Transition: The shift to OpenSSL for cryptographic operations (#3749) enhances security but requires careful testing due to unrelated test failures.
  2. Documentation Updates: Continuous updates to documentation (#3747) reflect a commitment to clarity and maintainability.
  3. Community Engagement: Active participation through Discord and detailed contribution guidelines foster a collaborative environment conducive to project growth.

Quantified Reports

Quantify issues



Recent GitHub Issues Activity

Timespan Opened Closed Comments Labeled Milestones
7 Days 16 6 7 12 1
30 Days 63 35 64 42 1
90 Days 171 100 192 73 1
All Time 718 370 - - -

Like all software activity quantification, these numbers are imperfect but sometimes useful. Comments, Labels, and Milestones refer to those issues opened in the timespan in question.

Rate pull requests



2/5
The pull request addresses a minor typo correction in documentation, which is an insignificant change. While fixing typos is beneficial for clarity, it does not significantly impact the project's functionality or code quality. Additionally, the commit message does not adhere to the project's submission policy, indicating a lack of attention to detail in following contribution guidelines. Overall, this PR is notably trivial and flawed in terms of process adherence.
[+] Read More
3/5
The pull request removes an ad-hoc simplification step in `calc()` parsing, which leads to a significant number of test cases passing that previously failed. This indicates a positive impact on the codebase's correctness. However, it also introduces two minor regressions, which suggests that the change might not be entirely robust or could have unintended side effects. The change is technical and specific, addressing a particular aspect of CSS parsing, but it lacks broader significance or innovation. Overall, it's a solid improvement with some room for refinement.
[+] Read More
3/5
The pull request addresses a specific issue where 'mask: url(...)' was not displaying correctly, which is a valuable fix for users encountering this problem. The solution involves treating 'mask' as a longhand property and includes test cases to verify the changes. However, the PR acknowledges that it uses some hacks and does not fully support other mask properties, indicating it is an incomplete solution. Additionally, there are issues with commit messages not adhering to the code submission policy. Overall, it's a useful but not comprehensive improvement.
[+] Read More
3/5
The pull request implements the remaining IDL for URLPattern, which is a necessary step for the project. However, it includes a significant number of unimplemented features marked with 'FIXME', indicating that the work is incomplete. The PR does introduce some new functionality and structure, but the reliance on future work to complete the implementation suggests that it is not yet fully functional or significant. Therefore, it is average, as it makes progress but lacks completeness and thoroughness.
[+] Read More
4/5
The pull request significantly improves the ImageData initialization to align more closely with the HTML specification, which is a meaningful enhancement. It refactors existing code to use a new initialization method, improving maintainability and adherence to standards. Additionally, it addresses color space handling, which could enhance functionality. The changes are well-documented and include updates to tests, indicating thoroughness. However, the lack of expected behavior change suggests that while the PR is quite good, it may not be highly impactful in terms of immediate user-facing improvements.
[+] Read More
4/5
The pull request addresses a specific bug related to the rendering of dotted lines in the browser, which is a significant and tangible improvement. The solution involves a minimal code change that effectively resolves the issue by adjusting the calculation of dot spacing and ensuring consistent rendering. While the change does not make the test pass, it aligns the rendering behavior with WebKit, indicating a step towards better compatibility. The PR is well-executed with clear intent, but it lacks additional tests or documentation that could further validate the fix.
[+] Read More
4/5
This pull request is a significant improvement to the Ladybird project as it replaces custom cryptographic implementations with OpenSSL, which is a well-established and secure library. This change not only enhances security but also reduces maintenance overhead by leveraging a widely-used library. The PR includes thorough refactoring of AES and HMAC implementations and removes unused code, which is beneficial for codebase cleanliness. However, the presence of unrelated test failures and the lack of requested reviewers might indicate areas that need attention before merging.
[+] Read More
4/5
This pull request introduces a significant update to the IndexedDB implementation by aligning it with the latest specification changes. It adds a new check for detached buffer sources, enhancing the robustness and correctness of the code. The changes are well-contained, with clear additions and minimal deletions, indicating a focused improvement. However, while the update is important, it is not exceptionally groundbreaking or complex, which is why it does not merit a perfect score.
[+] Read More
4/5
The pull request effectively implements the URL constraint validation for HTMLInputElement in a way that aligns with existing browser engines, addressing a practical user experience issue. It includes necessary code changes and updates to test cases, improving the pass rate of relevant tests. However, it diverges from the current specification, which could be seen as a drawback. The change is significant and well-executed but lacks adherence to the spec, preventing a perfect score.
[+] Read More
4/5
The pull request is a comprehensive refactor across multiple files, focusing on improving code clarity and maintainability. It replaces magic numbers with clear expressions, adds documentation comments, and improves code readability through formatting and variable renaming. While these changes enhance the codebase, they are mostly stylistic and do not introduce new functionality or significant architectural changes. The PR maintains original logic and error messages, ensuring backward compatibility. However, it lacks any groundbreaking improvements or critical bug fixes that would warrant a higher rating.
[+] Read More

Quantify commits



Quantified Commit Activity Over 14 Days

Developer Avatar Branches PRs Commits Files Changes
Andreas Kling 1 11/11/0 18 164 9222
Tim Flynn 1 11/11/0 37 194 5112
Sam Atkins 1 9/12/0 32 113 3703
devgianlu 1 5/6/0 11 33 3361
Tim Ledbetter 1 15/14/0 19 101 2669
Luke Wilde 1 11/9/0 8 25 2352
sideshowbarker 1 7/6/0 6 34 700
Alexander Kalenik 1 14/14/0 9 27 691
Gingeh 1 3/4/1 2 10 459
Andrew Kaster 1 1/2/0 7 13 445
Jelle Raaijmakers 1 4/3/0 3 13 322
Psychpsyo (Cameron) 1 4/8/0 4 20 277
Glenn Skrzypczak 1 1/1/0 2 3 182
Shannon Booth 1 5/4/0 2 6 143
Lucas Chollet 1 4/2/0 3 5 69
Jess 1 4/3/1 1 2 63
Jaycadox 1 0/0/0 1 3 48
InvalidUsernameException 1 2/2/0 1 32 40
zoupingshi 1 0/0/0 1 6 14
mikiubo 1 1/1/0 1 2 11
Ali Mohammad Pur 1 1/1/0 1 3 9
stelar7 1 2/1/0 1 1 5
rmg-x 1 2/2/0 1 1 2
Silvano Cerza 1 1/1/0 1 1 2
dependabot[bot] 1 1/1/0 1 1 2
Alice Lee 1 2/1/1 1 1 1
None (R-Goc) 0 2/0/0 0 0 0
Clément Sibille (Lisible) 0 3/0/2 0 0 0
None (fryssen) 0 1/0/0 0 0 0
None (stasoid) 0 4/1/1 0 0 0
Matthew Ferrera (mferrera) 0 1/0/0 0 0 0
Mohamed amine Bounya (mobounya) 0 1/0/0 0 0 0
Manuel Zahariev (manuel-za) 0 1/0/0 0 0 0
Tommy van der Vorst (pixelspark) 0 1/0/0 0 0 0
Mudunuri Pavan Kalyan varma (varma61923) 0 1/0/0 0 0 0
David Hewitt (davidmhewitt) 0 1/2/0 0 0 0
None (AppleFlavored) 0 1/1/0 0 0 0

PRs: created by that dev and opened/merged/closed-unmerged during the period

Quantify risks



Project Risk Ratings

Risk Level (1-5) Rationale
Delivery 4 The project faces significant delivery risks due to a substantial backlog of 348 open issues, including critical crashes on major websites like YouTube and Facebook (#3745, #3737). These issues highlight compatibility challenges and code quality concerns that could delay delivery timelines. Additionally, incomplete implementations in pull requests, such as PR#3739 for URLPattern, suggest potential delays in feature completion.
Velocity 3 While the project shows strong commit activity from key contributors like Tim Flynn and Andreas Kling, the disparity in contributions among team members indicates potential bottlenecks. The high number of open issues compared to closed ones suggests a backlog that could slow down progress. However, active pull request activity and ongoing refactoring efforts indicate an attempt to maintain velocity.
Dependency 2 The transition to OpenSSL for cryptographic functions (PR#3749) reduces dependency risks by moving away from deprecated libraries. However, platform-specific issues like those in Libraries/LibCore/FileWatcherMacOS.mm indicate ongoing dependency challenges related to platform compatibility. Overall, dependency risks are being actively managed but require continued attention.
Team 3 The team's reliance on key contributors like Tim Flynn and Andreas Kling poses a risk if their availability changes. The high volume of unresolved issues suggests potential resource constraints or prioritization challenges. However, active discussion around issues indicates good communication within the team, which mitigates some team-related risks.
Code Quality 3 Frequent crash reports and rendering problems indicate areas where the codebase may not be robust enough to handle edge cases or unexpected inputs. While ongoing refactoring efforts improve maintainability, the presence of hacks in CSS property handling (PR#3748) suggests room for improvement in code quality. The project's focus on aligning with specifications is positive but requires thorough testing to ensure robustness.
Technical Debt 4 The extensive changes across numerous files by key contributors highlight potential technical debt if not carefully reviewed. Incomplete solutions marked with 'FIXME' in PRs like #3739 suggest accumulating technical debt that could impact future development. Performance issues like high CPU usage (#3183) also indicate areas where technical debt may be growing.
Test Coverage 3 While there is a strong focus on updating tests alongside code changes, the recurring nature of some bugs (#3692) suggests that existing tests may not adequately cover all scenarios. Unrelated test failures in PR#3749 indicate potential gaps in test coverage that need to be addressed to prevent regressions.
Error Handling 2 Recent improvements in error handling, such as those in HTMLTrackElement by Tim Ledbetter, enhance the project's ability to catch and report errors. However, the complexity of recent changes necessitates rigorous testing to ensure all edge cases are covered. Overall, error handling is improving but requires continued focus to maintain reliability.

Detailed Reports

Report On: Fetch issues



Recent Activity Analysis

Recent GitHub issue activity for the Ladybird project shows a high volume of issues being reported, with a total of 348 open issues. The issues cover a wide range of topics, from bugs and crashes to feature requests and performance enhancements. Several issues involve crashes or unexpected behavior when visiting specific websites, indicating potential compatibility or rendering issues. There are also numerous reports related to layout and CSS inconsistencies, which are critical for web standards compliance.

Notable Anomalies and Themes

  • Crashes and Rendering Issues: A significant number of issues involve crashes or rendering problems on popular websites like YouTube, GitHub, and Facebook (#3745, #3737, #3038). These issues highlight challenges in handling complex web content and suggest areas where the browser's stability could be improved.

  • Layout and CSS Bugs: Many issues are related to incorrect layout or CSS rendering (#2164, #1951, #1645). These problems indicate that while the browser aims to support modern web standards, there are still gaps in its implementation that need addressing.

  • Performance Concerns: Some issues point to performance bottlenecks, such as high CPU usage or memory leaks (#3183, #3173). These concerns are crucial for ensuring a smooth user experience and efficient resource utilization.

  • Platform-Specific Problems: There are several macOS-specific issues (#3463, #1512), suggesting that platform compatibility is an ongoing challenge for the project.

  • Feature Requests and Enhancements: The community has proposed various enhancements, including better support for extensions like XUL (#3398) and improvements in developer tools (#2307).

Overall, the themes indicate a focus on improving compatibility with existing web standards, enhancing performance, and expanding feature support.

Issue Details

Most Recently Created Issues

  1. #3745: "loongbbs.cn: checking 'remember me' check box on sign-in leads to crash"

    • Priority: High
    • Status: Open
    • Created: 0 days ago
  2. #3737: "Crash after trying to open youtube"

    • Priority: High
    • Status: Open
    • Created: 1 day ago
  3. #3736: "youtube.com freezes Ladybird"

    • Priority: High
    • Status: Open
    • Created: 1 day ago

Most Recently Updated Issues

  1. #3729: "Pages don't load at all when scripting is disabled"

    • Priority: Medium
    • Status: Open
    • Updated: 1 day ago
  2. #3728: "certain textbox operations don't work properly"

    • Priority: Medium
    • Status: Open
    • Updated: 1 day ago
  3. #3727: "translation is incorrectly applied to pointer position vs layout"

    • Priority: Medium
    • Status: Open
    • Updated: 2 days ago

These issues reflect ongoing challenges in ensuring compatibility with complex web applications and maintaining stability across different platforms. The focus on recent crashes and layout problems indicates a priority on resolving critical bugs that impact user experience.

Report On: Fetch pull requests



Pull Request Analysis for Ladybird Browser

Open Pull Requests

#3751: LibWeb/Painting: Draw dots on non-zero segments

  • State: Open
  • Created: 0 days ago
  • Summary: This PR addresses an issue where dotted lines stop being drawn after a certain length due to floating point imprecision. The fix ensures consistent dot rendering.
  • Notable: This is a recent PR and addresses a rendering issue that could affect visual fidelity in the browser.

#3749: LibCrypto: Replace last bits of home grown crypto with OpenSSL

  • State: Open
  • Created: 0 days ago
  • Summary: Replaces AES and HMAC implementations with OpenSSL, removing the last of the custom crypto code.
  • Notable: This is a significant change as it enhances security by relying on a well-tested library. However, there are mentions of unrelated test failures, which might need attention.

#3748: LibWeb/CSS: treat 'mask' as a longhand property

  • State: Open
  • Created: 0 days ago
  • Summary: Fixes an issue where 'mask' was not treated correctly, causing rendering issues on certain websites.
  • Notable: The PR includes some hacks due to SVG attribute handling, which might need further refinement.

#3747: Documentation: Fix a typo on line 52 in Devtools.md

  • State: Open
  • Created: 0 days ago
  • Summary: Corrects a typo in the documentation.
  • Notable: While minor, it highlights the importance of maintaining clear documentation.

Recently Closed Pull Requests

#3750: Fix template keyword misuse causing Mac build failure

  • State: Closed
  • Merged by: Tim Flynn (trflynn89)
  • Summary: Fixed a build issue on macOS related to incorrect use of the template keyword.
  • Significance: Critical for ensuring cross-platform compatibility, particularly for macOS developers.

#3744: LibWeb/IDB: Update spec comment with latest changes

  • State: Closed
  • Merged by: Tim Ledbetter (tcl3)
  • Summary: Updated comments to reflect recent spec changes in IndexedDB.
  • Significance: Keeps the codebase aligned with current web standards, though it doesn't affect functionality directly.

#3742: LibWeb: Fire error event if HTMLTrackElement src is empty on load

  • State: Closed
  • Merged by: Tim Flynn (trflynn89)
  • Summary: Ensures that an error event is fired when an HTMLTrackElement has an empty src, preventing hangs.
  • Significance: Improves robustness by handling edge cases that could lead to unresponsive behavior.

#3738: LibWeb: Optimize the case when invalidation set contains "whole subtree"

  • State: Closed
  • Merged by: Andreas Kling (awesomekling)
  • Summary: Optimizes style recalculation by skipping unaffected siblings when invalidation affects a whole subtree.
  • Significance: Enhances performance, particularly noticeable during scrolling on complex pages.

Notable Issues and Observations

  1. Several open PRs are addressing rendering and CSS issues (#3751, #3748), indicating ongoing efforts to improve visual accuracy and compatibility with web standards.
  2. The transition to using OpenSSL (#3749) is crucial for security but requires careful testing due to unrelated test failures mentioned.
  3. Documentation updates (#3747) and comment updates (#3744) show attention to detail in maintaining code clarity and alignment with specifications.
  4. Recently closed PRs have focused on cross-platform compatibility (#3750) and performance optimizations (#3738), reflecting priorities in making Ladybird more robust and efficient.

Overall, the project appears to be actively addressing both functional improvements and technical debt, with a strong focus on aligning with web standards and enhancing performance.

Report On: Fetch Files For Assessment



Analysis of Source Code Files

1. PlainMonthDay.cpp

Structure and Quality:

  • The file implements the PlainMonthDay class, part of the Temporal API proposal.
  • It follows the ECMAScript Temporal proposal specification closely, ensuring compliance with standards.
  • The use of ThrowCompletionOr and MUST macros indicates robust error handling and adherence to expected completion patterns in JavaScript engines.
  • Functions are well-documented with references to the relevant sections of the Temporal proposal, aiding maintainability and understanding.
  • The code is modular, with clear separation of concerns between parsing, validation, and object creation.
  • The use of static constexpr for constants (e.g., reference_iso_year) improves readability and maintainability.

Improvements:

  • Consider adding more inline comments for complex logic to enhance readability for new contributors.
  • Ensure consistent use of naming conventions for variables and functions to align with project-wide standards.

2. DurationFormat.cpp

Structure and Quality:

  • This file integrates Temporal.Duration into Intl.DurationFormat, providing localization support for durations.
  • It uses enums and switch statements effectively to handle different styles and formats, enhancing clarity.
  • The file is lengthy (949 lines), suggesting potential for refactoring into smaller components or helper functions.
  • Error handling is thorough, using TRY and VERIFY_NOT_REACHED to manage unexpected states.
  • The use of detailed comments and references to the ECMA-402 specification aids in understanding the implementation.

Improvements:

  • Refactor lengthy functions into smaller units to improve readability and maintainability.
  • Consider extracting common logic into utility functions or classes where applicable.

3. Navigable.cpp

Structure and Quality:

  • Implements navigation logic within the browser, addressing navigation issues and active window checks.
  • The file is extensive (2420 lines), indicating a complex implementation that may benefit from modularization.
  • Uses modern C++ features like smart pointers (GC::Ref, GC::Ptr) for memory management, which enhances safety.
  • The code adheres closely to HTML specifications, ensuring standards compliance.
  • Detailed comments explain complex algorithms, which is crucial given the file's size.

Improvements:

  • Modularize the code by breaking down large classes or functions into smaller, more manageable components.
  • Increase test coverage to ensure all navigation scenarios are handled correctly.

4. CalculatedStyleValue.cpp

Structure and Quality:

  • Implements CSS calc serialization algorithms as per the CSS Values and Units Module Level 4 specification.
  • The file is very large (3242 lines), suggesting a need for decomposition into smaller files or classes.
  • Uses templates effectively for generic operations on calculation nodes, promoting code reuse.
  • Serialization logic is detailed but could benefit from additional inline documentation for complex operations.

Improvements:

  • Break down the file into smaller modules focused on specific aspects of calculated style values (e.g., parsing, serialization).
  • Enhance inline documentation to clarify complex template logic.

5. SVGScriptElement.cpp

Structure and Quality:

  • Handles script element processing within SVG documents, updating scripts based on attribute changes or insertion events.
  • Code is concise (180 lines) and focuses on specific functionality related to SVG scripting.
  • Uses modern C++ features for memory management (GC_DEFINE_ALLOCATOR), improving performance and safety.

Improvements:

  • Ensure comprehensive error handling for all potential failure points in script fetching and execution.
  • Consider adding unit tests specifically targeting SVG script processing scenarios.

6. FileWatcherMacOS.mm

Structure and Quality:

  • Implements a platform-specific file watcher using macOS APIs (FSEventStream).
  • Code is well-organized with clear separation between setup, event handling, and cleanup operations.
  • Uses Objective-C interoperability effectively within a C++ context.

Improvements:

  • Add more detailed logging for debugging purposes, especially around event handling failures or anomalies.
  • Ensure thread safety when interacting with macOS APIs if used in a multi-threaded context.

7. AES.cpp

Structure and Quality:

  • Implements AES cipher operations including key expansion and block encryption/decryption.
  • Code is performance-oriented with heavy use of bitwise operations for cryptographic transformations.
  • Follows cryptographic best practices by separating key expansion from encryption/decryption routines.

Improvements:

  • Consider adding more comments explaining cryptographic transformations for educational purposes.
  • Validate inputs rigorously to prevent misuse or potential vulnerabilities in cryptographic operations.

8. Message.cpp

Structure and Quality:

  • Handles DNS message parsing and serialization according to RFC specifications.
  • Code is structured around clear domain concepts like questions, answers, authorities, etc., enhancing clarity.
  • Uses modern C++ features like streams (CountingStream, RecordingStream) for efficient data handling.

Improvements:

  • Improve error messages to provide more context when parsing fails due to malformed DNS messages.
  • Consider optimizing memory usage by reusing buffers where possible during serialization/deserialization processes.

Report On: Fetch commits



Development Team and Recent Activity

Team Members and Recent Activity

Tim Flynn (trflynn89)

  • Commits: 37
  • Changes: 5112 across 194 files
  • Activities:
    • Focused on integrating Temporal updates and changes into LibJS.
    • Worked on supporting the DevTools JavaScript console.
    • Made changes related to garbage collection in LibGC.
    • Updated documentation for DevTools.

Silvano Cerza (silvanocerza)

  • Commits: 1
  • Changes: 2 across 1 file
  • Activities:
    • Fixed a template keyword misuse causing a Mac build failure.

Tim Ledbetter (tcl3)

  • Commits: 19
  • Changes: 2669 across 101 files
  • Activities:
    • Made several improvements in LibWeb, including HTMLTrackElement error handling and navigation checks.
    • Implemented features like HTMLInputElement pattern attribute and FileReaderSync interface.
    • Worked on SVG script element processing.

Alexander Kalenik (kalenikaliaksandr)

  • Commits: 9
  • Changes: 691 across 27 files
  • Activities:
    • Optimized style recalculation in LibWeb.
    • Addressed issues related to navigable elements and rendering tasks.

Stelar7

  • Commits: 1
  • Changes: 5 across 1 file
  • Activities:
    • Updated spec comments in LibWeb.

Ali Mohammad Pur (alimpfard)

  • Commits: 1
  • Changes: 9 across 3 files
  • Activities:
    • Fixed UnicodeSets flag interpretation in LibRegex.

Luke Wilde (Lubrsi)

  • Commits: 8
  • Changes: 2352 across 25 files
  • Activities:
    • Made changes to socket handling in LibCore.
    • Worked on WebSocket garbage collection rules and closing behavior.

Sam Atkins (AtkinsSJ)

  • Commits: 32
  • Changes: 3703 across 113 files
  • Activities:
    • Implemented various CSS-related features and optimizations in LibWeb.

Gingeh

  • Commits: 2
  • Changes: 459 across 10 files
  • Activities:
    • Updated button/input activation behavior to match specifications.

Andreas Kling (awesomekling)

  • Commits: 18
  • Changes: 9222 across 164 files
  • Activities:
    • Worked on rendering optimizations and CSS property implementations.

Alice Lee (alicelee2735)

  • Commits: 1
  • Changes: 1 across 1 file
  • Activities:
    • Added new noopener value to OpenerPolicy.

Zoupingshi

  • Commits: 1
  • Changes: 14 across 6 files

Sideshowbarker

  • Commits: 6
  • Changes:700 across34 files

Lucas Chollet (LucasChollet)

  • Commits:3
  • Changes:69 across5 files

Shannon Booth (shannonbooth)

  • Commits:**2
  • Changes:**143 across6 files

Ttrssreal

- Commits:1 - Changes:**63 across2 files

Patterns, Themes, and Conclusions

The recent activities of the development team show a strong focus on enhancing the browser's core functionalities, particularly around JavaScript engine improvements, CSS feature implementations, and bug fixes related to rendering and navigation. There is also significant work being done on integrating DevTools support and improving performance through optimizations. The team appears to be actively collaborating, with multiple members contributing to overlapping areas such as rendering, CSS, and JavaScript engine enhancements. The ongoing work on bug fixes and feature implementations suggests a focus on stabilizing the browser while also expanding its capabilities.