Skip to content
Menu
Open World News Open World News
  • Privacy Policy
Open World News Open World News

Théodore ‘nod_’ Biadala: Sponsored Drupal Contribution

Posted on May 30, 2024 by Michael G

Author:
Source

Back in March I started to look at sponsors for the time I’m spending working on the Drupal core issue queue. It’s
been a few months and I wanted to go back on all the sponsored commits I made as a Frontend Framework Manager, to
show how the sponsorships helped Drupal for the past few months.

The sponsorship offer is simple: you send me a fixed monthly fee of 2500€, and I share the issue credit
of every Drupal core commit that I make. I’m very thankful to Palantir.net and OPTASY
who are sponsoring me. Thanks to them I was able to increase the amount of commits I can make to Drupal core. In the
last 3 months I committed 61 issues (worth 610 weighted issue credits) and the more sponsors I have,
the more time I can spend reviewing and committing issues.

  1. Differentiate visually dragging with and without hierarchy A nice improvement for editors working a lot with lists and trees
  2. Sticky table header is not sticky if –drupal-displace-offset-top is not defined
  3. [jQuery 4] ajax.js and jquery.form.js use deprecated function $.parseJSON() Preparing for the next release of jQuery 4 with some cleanup.
  4. cspell check is broken in commit-code-check.sh Sometimes we break the CI and it needs to be fixed 🤷
  5. CKEditor admin toolbar config buttons using ::before to add content: have invalid screen reader text It takes dedication to land those accessibility fixes, kudos to our accessibility contributors.
  6. Linking in CKEditor 5: URLs with top-level domain but without protocol should get a protocol added automatically
  7. #states disable property has stopped working for submit button and other elements Sometimes when we clean-up code, we clean too much and break some other parts of the code
  8. Setting width for sticky-header is broken
  9. Negotiate max width/height of oEmbed assets more intelligently
  10. States API doesn’t work with multiple select fields This was a a 13 years old issue! It _always_ feels good to close an issue that old.
  11. Add deprecation/bc support for library-overrides when files are moved Making sure backwards compatibility is working and useful
  12. Remove default event from collpased nav-tabs button
  13. [DrupalHtmlEngine] HTML-reserved characters (>, <, &) in <script> and <style> tag are converted to HTML entities It happens that we fix things for uses cases that stretch the reasonable (like having whole script tags in a WYSIWYG field)
  14. Olivero: Show content preview checkbox is not center aligned with the layout builder buttons. Even a minor issue of a misaligned text by a few pixels is worth fixing
  15. Drupal.theme.progressBar() does not escape output correctly
  16. filter_autop should ignore twig.config debug html comments Making sure Developer experience doesn’t impact regular users
  17. tablePositionSticky should not be called on a non-array variable
  18. CKEditor 5 table cell vertical align “middle” doesn’t work
  19. Move system/base component CSS to respective libraries where they exist A surprising performance improvement. There are still some low hanging fruits to improve the default frontend performance of Drupal
  20. Remove country setting from the installer When you don’t need a piece of data, just don’t collect it
  21. Media Library widget display doesn’t return to first page on applying filters
  22. Deprecate and remove the AJAX replace method That was a leftover D7 era deprecation
  23. Claro should use libraries-extend for views_ui.css Even in core it happens that we don’t use the right way to do something
  24. Removal :tabbable usage in dialog.js Some more jQuery 4 preparation
  25. Close icon is ovrlapping the title text in modal in claro Yes, typos can make it in the commit log
  26. Convert Olivero’s teaser into a single directory component Slowly but surely we’re adding Single directory components to Drupal core
  27. Refactor (if feasible) uses of the jQuery animate function to use Vanilla/native More CSS awesomeness making JavaScript code disapear
  28. [11.x] Update to jQuery 4.0.x beta Drupal staying on the bleading edge of frontend developement 🙂
  29. Refactor some uses of the jQuery parents function to use vanillaJS Did a small post earlier about this, CSS is really very good
  30. [regression] Uncaught TypeError: Cannot read properties of null (reading ‘style’) (toolbar.js)
  31. JSDoc for ajax command “changed” is incorrect There was a bunch of documentation fixes around this time
  32. menu_heading_id variable is not set in menu-region–footer.html.twig
  33. Add @file documentation to navigation.html.twig layout template
  34. Add @file documentation to menu-region–footer.html.twig template
  35. Views UI action buttons create janky layout shift on page load Polishing the loading of pages with heavy JS usage is important to show we care about UX
  36. Remove bottom radius on hover state of expanded sub menu item
  37. Setting empty URL when making embedded media a link in CKEditor5 causes JS errors
  38. Update color of submenu title text
  39. Collapsed nav-tabs status not exposed to screen reader There is a good number of accessibility fixes after this one, always nice to commit
  40. Incorrect padding on child menu items
  41. Claro: Form labels that are disabled have too low color contrast
  42. Claro should not hardcode decimal list style type for <ol>
  43. Some of string comparisons should use String.prototype.startsWith() or String.prototype.endsWith() Removing regular expressions as much as we can is a noble goal
  44. Location of “Skip to Main” link below admin toolbar in Claro is problematic for screen magnifier users
  45. Focus states on mobile second level navigation items can get cut off in Olivero
  46. Regression: Shortcuts menu flickers when the page is loaded Those toolbar flickering issues are tricky. Thankfully the new navigation module code is simpler than the existing Toolbar code, so it’s much much easier to deal with
  47. escapeAdmin.js functionality should be removed(it not used anymore) Removed the feature that removed the overlay… for now, escapeAdmin will be back one way or another)
  48. Navigation module offsets the Olivero skip link element
  49. Umami page.tpl.php breaks block placeholders Sometime themes can break really nice Drupal features (like bigpipe)
  50. Claro CSS for dropbutton items adds large gap of white space
  51. Replace dialogContentResize jQuery event with CustomEvent Those events issues are really exciting, we’re moving away slowly from jQuery for event management
  52. Umami views should use responsive grid Another case of core not using the awesome features we provide, not anymore 🙂
  53. Claro highlighted row not communicated to keyboard users
  54. Fix overflow visibility for wrapper content in navigation CSS
  55. Claro details component does not have the right class
  56. Make drupal.tableheader only use CSS for sticky table headers I will always welcome CSS-removing-JS patches
  57. Mismatch between implementation and description for Drupal.Message.prototype.remove().
  58. “Skip to main content” link skips over content that is essential to the page, banner role should be for global content
  59. Add pdureau as a co-maintainer for the Theme API with a focus on SDC Adding new maintainers is too rare. In this case the community is better for having him around
  60. Choose an icon for the Announcements link
  61. Remove deprecated moved_files entries in core

Many of these issues are maintenance focused, it’s not shiny, it’s not exciting, and it needs to be done.
Sponsoring big initiatives like Starshot is exciting, let’s not forget the unexciting day to day that keeps things
running. If you’re interested in supporting my work on Drupal core and keep the frontend fixes coming,
consider sponsoring me.

Read more

Related Posts:

  • Palantir: DrupalCon Pittsburgh Preview
    Palantir: DrupalCon Pittsburgh Preview
  • Specbee: The Ultimate Guide to Jumpstart your Drupal Contribution Journey
    Specbee: The Ultimate Guide to Jumpstart your Drupal…
  • DrupalEasy: Perfecting the Art of Drupal Talent Development
    DrupalEasy: Perfecting the Art of Drupal Talent Development
  • Drupal blog: The evolution of Drupal's composability: from the command line to the browser
    Drupal blog: The evolution of Drupal's…
  • GNU Guix: Adding a fully-bootstrapped Mono
    GNU Guix: Adding a fully-bootstrapped Mono
  • GNU Guix: Guix User and Contributor Survey 2024: The Results (part 1)
    GNU Guix: Guix User and Contributor Survey 2024: The…

Recent Posts

  • [TUT] LoRa & LoRaWAN – MikroTik wAP LR8 kit mit The Things Network verbinden [4K | DE]
  • Mercado aguarda Powell e olha Trump, dados e Haddad | MINUTO TOURO DE OURO – 11/02/25
  • Dan Levy Gets Candid About Learning How To Act Differently After Schitt’s Creek: ‘It’s Physically…
  • Building a Rock Shelter & Overnight Stay in Heavy Snow 🏕️⛰️
  • Les milliardaires Elon Musk et Xavier Niel s’insultent copieusement

Categories

  • Android
  • Linux
  • News
  • Open Source
©2025 Open World News | Powered by Superb Themes
We use cookies on our website to give you the most relevant experience by remembering your preferences and repeat visits. By clicking “Accept All”, you consent to the use of ALL the cookies. However, you may visit "Cookie Settings" to provide a controlled consent.
Cookie SettingsAccept All
Manage consent

Privacy Overview

This website uses cookies to improve your experience while you navigate through the website. Out of these, the cookies that are categorized as necessary are stored on your browser as they are essential for the working of basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website. These cookies will be stored in your browser only with your consent. You also have the option to opt-out of these cookies. But opting out of some of these cookies may affect your browsing experience.
Necessary
Always Enabled
Necessary cookies are absolutely essential for the website to function properly. These cookies ensure basic functionalities and security features of the website, anonymously.
CookieDurationDescription
cookielawinfo-checkbox-analytics11 monthsThis cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Analytics".
cookielawinfo-checkbox-functional11 monthsThe cookie is set by GDPR cookie consent to record the user consent for the cookies in the category "Functional".
cookielawinfo-checkbox-necessary11 monthsThis cookie is set by GDPR Cookie Consent plugin. The cookies is used to store the user consent for the cookies in the category "Necessary".
cookielawinfo-checkbox-others11 monthsThis cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Other.
cookielawinfo-checkbox-performance11 monthsThis cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Performance".
viewed_cookie_policy11 monthsThe cookie is set by the GDPR Cookie Consent plugin and is used to store whether or not user has consented to the use of cookies. It does not store any personal data.
Functional
Functional cookies help to perform certain functionalities like sharing the content of the website on social media platforms, collect feedbacks, and other third-party features.
Performance
Performance cookies are used to understand and analyze the key performance indexes of the website which helps in delivering a better user experience for the visitors.
Analytics
Analytical cookies are used to understand how visitors interact with the website. These cookies help provide information on metrics the number of visitors, bounce rate, traffic source, etc.
Advertisement
Advertisement cookies are used to provide visitors with relevant ads and marketing campaigns. These cookies track visitors across websites and collect information to provide customized ads.
Others
Other uncategorized cookies are those that are being analyzed and have not been classified into a category as yet.
SAVE & ACCEPT