France 🇫🇷
Account created on 18 November 2012, almost 13 years ago
#

Merge Requests

More

Recent comments

🇫🇷France Grimreaper France 🇫🇷
🇫🇷France Grimreaper France 🇫🇷

Hello,

MR should target Core 11.x branch.

Currently there are too many diff due to wrong target branch.

🇫🇷France Grimreaper France 🇫🇷

Waiting for a feedback on extlink update numbers, which may cause problem in futur.

🇫🇷France Grimreaper France 🇫🇷

I think there is an error with extlink_update_200001

Should have been: 10201

10: Lowest supported core major version
2: major extlink branch: 2.0.x
01: incremental number

🇫🇷France Grimreaper France 🇫🇷

Confirming the bug.

🇫🇷France Grimreaper France 🇫🇷

Hello,

I tried to reproduce the bug on a fresh install using DDEV, which is using Nginx by default for its Drupal template.

Core: 11.2.4
PHP: 8.3

DDEV, config.yaml:

type: drupal10  # Even if using Core 11
docroot: web
php_version: "8.3"
webserver_type: nginx-fpm
database:
    type: mariadb
    version: "10.11"

I did not manage to reproduce the bug.

Attaching the DDEV nginx conf.

🇫🇷France Grimreaper France 🇫🇷

Fun fact....

While testing 💬 CSS and JS returns 404 when enabling css and js aggregation on nginx Closed: works as designed on ddev to have a quick nginx setup, I reproduced the issue...

InvalidArgumentException: Class "Drupal\ui_suite_bootstrap\HookHandler\LibraryInfoAlter" does not exist. in Drupal\Core\DependencyInjection\ClassResolver->getInstanceFromDefinition() (line 32 of /var/www/html/app/core/lib/Drupal/Core/DependencyInjection/ClassResolver.php).

https://sobki-platform-demo-bootstrap.ddev.site/sites/default/files/css/...

And so confirm that also need to add autoload in Sobki Bootstrap and that I will do a release because I witness the fix too!

🇫🇷France Grimreaper France 🇫🇷

Thanks for the merge \o/

Don't forget to "save" the issue credits on https://new.drupal.org/contribution-record/11422605, tickling the checkboxes is not enough (I encountered that too, the time to take this new habit ;))

🇫🇷France Grimreaper France 🇫🇷

Thanks!

Will start to do some issue triage.

🇫🇷France Grimreaper France 🇫🇷

Thanks! Waiting for @aglobalwander_ feedback as well.

🇫🇷France Grimreaper France 🇫🇷
🇫🇷France Grimreaper France 🇫🇷
🇫🇷France Grimreaper France 🇫🇷

@aglobalwander_ , @herved

If no more autoload problem with the current dev version, I will do a release.

Can you both confirm that please?

🇫🇷France Grimreaper France 🇫🇷

Back to RTBC per comment 15

🇫🇷France Grimreaper France 🇫🇷

Hello,

Thanks for the MR, I have the problem with https://www.drupal.org/project/sobki_profile_bootstrap

Before:

...
[notice] Performed install task: sobki_profile_bootstrap_set_front_page
 [notice] Translation file not found: https://ftp.drupal.org/files/translations/all/address/address-2.0.4.en.po.
 [notice] Translation file not found: https://ftp.drupal.org/files/translations/all/ai/ai-1.1.2.en.po.
 [notice] Translation file not found: https://ftp.drupal.org/files/translations/all/ai_provider_azure/ai_provider_azure-1.1.0-beta2.en.po.
 [notice] Translation file not found: https://ftp.drupal.org/files/translations/all/animated_gif/animated_gif-2.1.0.en.po.
 [notice] Translation file not found: https://ftp.drupal.org/files/translations/all/antibot/antibot-2.0.4.en.po.
 [notice] Translation file not found: https://ftp.drupal.org/files/translations/all/cache_control_override/cache_control_override-2.0.1.en.po.
 [notice] Translation file not found: https://ftp.drupal.org/files/translations/all/clientside_validation/clientside_validation-4.1.2.en.po.
 [notice] Translation file not found: https://ftp.drupal.org/files/translations/all/cqri/cqri-1.0.0-alpha2.en.po.
 [notice] Translation file not found: https://ftp.drupal.org/files/translations/all/ctools/ctools-4.1.0.en.po.
 [notice] Translation file not found: https://ftp.drupal.org/files/translations/all/dashboard/dashboard-2.0.0.en.po.
 [notice] Translation file not found: https://ftp.drupal.org/files/translations/all/default_content/default_content-2.0.0-alpha3.en.po.
 [notice] Translation file not found: https://ftp.drupal.org/files/translations/11.x/drupal/drupal-11.2.2.fr.po.
 [notice] Translation file not found: https://ftp.drupal.org/files/translations/all/drupal/drupal-11.2.2.en.po.
 [notice] Translation file not found: https://ftp.drupal.org/files/translations/all/editor_advanced_link/editor_advanced_link-2.3.1.en.po.
 [notice] Translation file not found: https://ftp.drupal.org/files/translations/all/entity_reference_revisions/entity_reference_revisions-8.x-1.12.en.po.
 [notice] Translation file not found: https://ftp.drupal.org/files/translations/all/entity_vdts/entity_vdts-1.0.0.en.po.
 [notice] Translation file not found: https://ftp.drupal.org/files/translations/all/extlink/extlink-2.0.4.en.po.
 [notice] Translation file not found: https://ftp.drupal.org/files/translations/all/fences/fences-3.0.7.en.po.
 [notice] Translation file not found: https://ftp.drupal.org/files/translations/all/field_formatter/field_formatter-3.0.0.en.po.
 [notice] Translation file not found: https://ftp.drupal.org/files/translations/all/field_group/field_group-4.0.0.en.po.
 [notice] Translation file not found: https://ftp.drupal.org/files/translations/all/field_tools/field_tools-8.x-1.0-alpha13.en.po.
 [notice] Translation file not found: https://ftp.drupal.org/files/translations/all/geocoder/geocoder-8.x-4.29.en.po.
 [notice] Translation file not found: https://ftp.drupal.org/files/translations/all/geofield/geofield-8.x-1.64.en.po.
 [notice] Translation file not found: https://ftp.drupal.org/files/translations/all/geofield_map/geofield_map-11.0.5.en.po.
 [notice] Translation file not found: https://ftp.drupal.org/files/translations/all/gin/gin-5.0.3.en.po.
 [notice] Translation file not found: https://ftp.drupal.org/files/translations/all/gin_login/gin_login-2.1.3.en.po.
 [notice] Translation file not found: https://ftp.drupal.org/files/translations/all/health_check/health_check-3.1.0.fr.po.
 [notice] Translation file not found: https://ftp.drupal.org/files/translations/all/health_check/health_check-3.1.0.en.po.
 [notice] Translation file not found: https://ftp.drupal.org/files/translations/all/inline_entity_form/inline_entity_form-3.0.0-rc21.en.po.
 [notice] Translation file not found: https://ftp.drupal.org/files/translations/all/key/key-8.x-1.20.en.po.
 [notice] Translation file not found: https://ftp.drupal.org/files/translations/all/language_switcher_extended/language_switcher_extended-8.x-1.2.en.po.
 [notice] Translation file not found: https://ftp.drupal.org/files/translations/all/layout_builder_at/layout_builder_at-3.0.1.en.po.
 [notice] Translation file not found: https://ftp.drupal.org/files/translations/all/layout_builder_browser/layout_builder_browser-8.x-1.8.en.po.
 [notice] Translation file not found: https://ftp.drupal.org/files/translations/all/layout_builder_operation_link/layout_builder_operation_link-2.2.0.en.po.
 [notice] Translation file not found: https://ftp.drupal.org/files/translations/all/layout_builder_reorder/layout_builder_reorder-2.0.0.en.po.
 [notice] Translation file not found: https://ftp.drupal.org/files/translations/all/layout_builder_restrictions/layout_builder_restrictions-3.0.4.en.po.
 [notice] Translation file not found: https://ftp.drupal.org/files/translations/all/layout_builder_restrictions_by_role/layout_builder_restrictions_by_role-1.0.0-rc1.en.po.
 [notice] Translation file not found: https://ftp.drupal.org/files/translations/all/leaflet/leaflet-10.3.7.en.po.
 [notice] Translation file not found: https://ftp.drupal.org/files/translations/all/link_attributes/link_attributes-2.1.1.en.po.
 [notice] Translation file not found: https://ftp.drupal.org/files/translations/all/linked_field/linked_field-8.x-1.7.en.po.
 [notice] Translation file not found: https://ftp.drupal.org/files/translations/all/linkit/linkit-7.0.7.en.po.
 [notice] Translation file not found: https://ftp.drupal.org/files/translations/all/media_entity_download/media_entity_download-8.x-2.4.en.po.
 [notice] Translation file not found: https://ftp.drupal.org/files/translations/all/media_entity_link/media_entity_link-2.0.5.en.po.
 [notice] Translation file not found: https://ftp.drupal.org/files/translations/all/media_library_edit/media_library_edit-3.0.4.en.po.
 [notice] Translation file not found: https://ftp.drupal.org/files/translations/all/media_library_form_element/media_library_form_element-2.1.2.en.po.
 [notice] Translation file not found: https://ftp.drupal.org/files/translations/all/media_thumbnails/media_thumbnails-2.0.0.en.po.
 [notice] Translation file not found: https://ftp.drupal.org/files/translations/all/menu_admin_per_menu/menu_admin_per_menu-8.x-1.7.en.po.
 [notice] Translation file not found: https://ftp.drupal.org/files/translations/all/menu_block/menu_block-8.x-1.14.en.po.
 [notice] Translation file not found: https://ftp.drupal.org/files/translations/all/menu_link_attributes/menu_link_attributes-8.x-1.5.en.po.
 [notice] Translation file not found: https://ftp.drupal.org/files/translations/all/menu_manipulator/menu_manipulator-4.0.0.fr.po.
 [notice] Translation file not found: https://ftp.drupal.org/files/translations/all/menu_manipulator/menu_manipulator-4.0.0.en.po.
 [notice] Translation file not found: https://ftp.drupal.org/files/translations/all/menu_trail_by_path/menu_trail_by_path-2.2.0.en.po.
 [notice] Translation file not found: https://ftp.drupal.org/files/translations/all/metatag/metatag-2.1.1.en.po.
 [notice] Translation file not found: https://ftp.drupal.org/files/translations/all/metatag_async_widget/metatag_async_widget-1.2.3.en.po.
 [notice] Translation file not found: https://ftp.drupal.org/files/translations/all/navigation_extra_tools/navigation_extra_tools-1.2.1.en.po.
 [notice] Translation file not found: https://ftp.drupal.org/files/translations/all/paragraph_view_mode/paragraph_view_mode-3.2.0.en.po.
 [notice] Translation file not found: https://ftp.drupal.org/files/translations/all/paragraphs/paragraphs-8.x-1.19.en.po.
 [notice] Translation file not found: https://ftp.drupal.org/files/translations/all/paragraphs_viewmode/paragraphs_viewmode-8.x-1.2.en.po.
 [notice] Translation file not found: https://ftp.drupal.org/files/translations/all/pathauto/pathauto-8.x-1.13.en.po.
 [notice] Translation file not found: https://ftp.drupal.org/files/translations/all/redirect/redirect-8.x-1.11.en.po.
 [notice] Translation file not found: https://ftp.drupal.org/files/translations/all/responsive_preview/responsive_preview-2.2.0.en.po.
 [notice] Translation file not found: https://ftp.drupal.org/files/translations/all/robotstxt/robotstxt-8.x-1.6.en.po.
 [notice] Translation file not found: https://ftp.drupal.org/files/translations/all/role_delegation/role_delegation-8.x-1.4.en.po.
 [notice] Translation file not found: https://ftp.drupal.org/files/translations/all/scheduler/scheduler-2.2.1.en.po.
 [notice] Translation file not found: https://ftp.drupal.org/files/translations/all/scheduler_content_moderation_integration/scheduler_content_moderation_integration-3.0.4.fr.po.
 [notice] Translation file not found: https://ftp.drupal.org/files/translations/all/scheduler_content_moderation_integration/scheduler_content_moderation_integration-3.0.4.en.po.
 [notice] Translation file not found: https://ftp.drupal.org/files/translations/all/section_library/section_library-2.0.1.en.po.
 [notice] Translation file not found: https://ftp.drupal.org/files/translations/all/simple_megamenu/simple_megamenu-2.2.0.en.po.
 [notice] Translation file not found: https://ftp.drupal.org/files/translations/all/simple_sitemap/simple_sitemap-4.2.2.en.po.
 [notice] Translation file not found: https://ftp.drupal.org/files/translations/all/sitemap/sitemap-8.x-2.0.en.po.
 [notice] Translation file not found: https://ftp.drupal.org/files/translations/all/sobki_theme_admin/sobki_theme_admin-1.0.1.en.po.
 [notice] Translation file not found: https://ftp.drupal.org/files/translations/all/svg_image/svg_image-3.2.1.en.po.
 [notice] Translation file not found: https://ftp.drupal.org/files/translations/all/system_stream_wrapper/system_stream_wrapper-2.1.0.fr.po.
 [notice] Translation file not found: https://ftp.drupal.org/files/translations/all/system_stream_wrapper/system_stream_wrapper-2.1.0.en.po.
 [notice] Translation file not found: https://ftp.drupal.org/files/translations/all/tablefield/tablefield-3.0.0.en.po.
 [notice] Translation file not found: https://ftp.drupal.org/files/translations/all/token/token-8.x-1.15.en.po.
 [notice] Translation file not found: https://ftp.drupal.org/files/translations/all/translatable_menu_link_uri/translatable_menu_link_uri-2.1.3.en.po.
 [notice] Translation file not found: https://ftp.drupal.org/files/translations/all/ui_examples/ui_examples-1.0.2.en.po.
 [notice] Translation file not found: https://ftp.drupal.org/files/translations/all/ui_icons/ui_icons-1.1.0-beta6.en.po.
 [notice] Translation file not found: https://ftp.drupal.org/files/translations/all/ui_patterns/ui_patterns-2.0.4.en.po.
 [notice] Translation file not found: https://ftp.drupal.org/files/translations/all/ui_skins/ui_skins-1.1.0-alpha3.en.po.
 [notice] Translation file not found: https://ftp.drupal.org/files/translations/all/ui_styles/ui_styles-8.x-1.16.en.po.
 [notice] Translation file not found: https://ftp.drupal.org/files/translations/all/ui_suite_bootstrap/ui_suite_bootstrap-5.2.0-beta2.en.po.
 [notice] Translation file not found: https://ftp.drupal.org/files/translations/all/views_custom_cache_tag/views_custom_cache_tag-8.x-1.4.en.po.
 [notice] Translation file not found: https://ftp.drupal.org/files/translations/all/webform/webform-6.3.0-beta3.en.po.
 [notice] Translation file not found: https://ftp.drupal.org/files/translations/all/yoast_seo/yoast_seo-8.x-2.2.en.po.
 [notice] Translations imported: 5351 added, 1982 updated, 0 removed.
 [notice] The configuration was successfully updated. 400 configuration objects updated.
 [notice] Performed install task: install_finish_translations
...

After:

...
[notice] Performed install task: sobki_profile_bootstrap_set_front_page
 [notice] Translation file not found: https://ftp.drupal.org/files/translations/11.x/drupal/drupal-11.2.2.fr.po.
 [notice] Translation file not found: https://ftp.drupal.org/files/translations/all/health_check/health_check-3.1.0.fr.po.
 [notice] Translation file not found: https://ftp.drupal.org/files/translations/all/menu_manipulator/menu_manipulator-4.0.0.fr.po.
 [notice] Translation file not found: https://ftp.drupal.org/files/translations/all/scheduler_content_moderation_integration/scheduler_content_moderation_integration-3.0.4.fr.po.
 [notice] Translation file not found: https://ftp.drupal.org/files/translations/all/system_stream_wrapper/system_stream_wrapper-2.1.0.fr.po.
 [notice] Translations imported: 5351 added, 1982 updated, 0 removed.
 [notice] The configuration was successfully updated. 400 configuration objects updated.
 [notice] Performed install task: install_finish_translations
...

So only remaining warnings are not for "en". And except FR for Core, I think remaining warnings are for modules currently without translation files. I have not checked as this issue is for "en".

🇫🇷France Grimreaper France 🇫🇷

MR rebased and last review taken into account, back to needs review.

🇫🇷France Grimreaper France 🇫🇷

I squashed and rebased the commit on MR to fix git conflict.

🇫🇷France Grimreaper France 🇫🇷

Per comment 15, adding tag to not forget the suggestion if needed or not.

🇫🇷France Grimreaper France 🇫🇷

Rebasing and taking review into account.

🇫🇷France Grimreaper France 🇫🇷
🇫🇷France Grimreaper France 🇫🇷

Debugging config update.
Starting slot mapping conversion.

TODO:
- finish slot mapping
- cleanup todos and code quality
- provide service to refactor common code between Drush command and potential hook_update

I think regarding the migration, the process could be.

1: dev environment, destroy your env to update code with ui_patterns_legacy Drush command
2: once code is updated, rebuild your env and execute normal update

I think instead of providing a Drush command for config update, we can do that in multiple hook_update_N + hook_update_NAME.

🇫🇷France Grimreaper France 🇫🇷
🇫🇷France Grimreaper France 🇫🇷
🇫🇷France Grimreaper France 🇫🇷

grimreaper created an issue.

🇫🇷France Grimreaper France 🇫🇷
🇫🇷France Grimreaper France 🇫🇷
🇫🇷France Grimreaper France 🇫🇷

Merged.

🇫🇷France Grimreaper France 🇫🇷
🇫🇷France Grimreaper France 🇫🇷
🇫🇷France Grimreaper France 🇫🇷

Default menu_name is tools not admin.

https://git.drupalcode.org/project/drupal/-/blob/11.x/core/lib/Drupal/Co...

protected $defaults = [
    // (required) The name of the menu for this link.
    'menu_name' => 'tools',
🇫🇷France Grimreaper France 🇫🇷

If you can give a quick review before merge that will be great! :)

🇫🇷France Grimreaper France 🇫🇷

grimreaper created an issue.

🇫🇷France Grimreaper France 🇫🇷

Thanks @herved for your investigation.

Need also to document it.

🇫🇷France Grimreaper France 🇫🇷

#3158669-37: [Policy] By default deprecate non-experimental modules that are used by less 5% of sites before the next major version

the data is only available via querying the d.o database, we'd need to ask the DA for updated stats.

So no fresh data if not asked.

🇫🇷France Grimreaper France 🇫🇷

For the figures of my previous comment, I took data from end of september 2024.

And I just realize that we are already in september 2025... time flies!

And in my previous comment, I wrote to discuss about current situation... So tomorrow I will try to find more recent data.

🇫🇷France Grimreaper France 🇫🇷

Thanks @herved for the investigation.

Good idea the autoload in the composer.json! (this reminds me of a bug in a custom project (with normal layout plugins as PHP in a theme as it can be registered in theme))

I will try to propose an MR next week or you can if you want.

And it is strange because I have projects using DDEV and ui_suite_bootstrap and didn't get the bug.

🇫🇷France Grimreaper France 🇫🇷

MR rebased.

Unrelated build test failure, back to RTBC.

🇫🇷France Grimreaper France 🇫🇷

Hello,

I think we should put aside assumptions (mine included of course) like:
- "Navigation will become stable"
- "Layout Builder is not really maintained"
- "Once an alternative is out it will mostly be moved out"
- ...

To debate/discuss on facts and metrics at the present time.

It does not mean I disagree with some opinions, I share them too! For example:
- I too think that DB is better than LB. And I would say it is normal, LB is 8 years old (created same year as UI Patters 1) so DB can benefit from all the experience and feedback from LB.
- I too think that Navigation should have not used it. "using Display builder for the navigation could be an option too!", I also thought about that but don't think it will be worth it :)

If stuff evolves, like LB moved out of Core, then let's re-organize at this moment.

Layout Builder usage statistics

From #3158669-44: [Policy] By default deprecate non-experimental modules that are used by less 5% of sites before the next major version and from https://www.drupal.org/project/usage/drupal , I have extracted the following figures:

So a total of websites with LB enabled of 105639.

I took numbers from 29th september as 27th september (data from the comment) was not available.

These numbers are minimum because websites without the "Update" module enabled are not detected.

Also, in my first comment I forgot to mention the Dashboard module with 5581 websites and in Drupal CMS. And the Dashboard module has also its own twirked LB (less twirked than for Navigation I think).

Code coverage

at the end it's a global percentage on your whole codebase.

Unfortunately, I never got a real occasion of using test/code coverage with reports. So if I understand correctly, even if possible to mark file, class or function as excluded from test coverage, it will still impact the result like never reaching 100% ?

Code related it's simple, if there is 60% coverage it can be in the beta codebase, if not it's an external module.

I don't understand the "Code related it's simple" or is it our French speaking habits which do not translate well? :)

Where does the "60%" come from?

Marketing

we are professionals

I don't know if there are a lot of contributors or people who use Drupal nowadays who are not professional (sorry, assumption...). So not sure if this argument is still relevant or maybe this word is not the most accurate.

Being able to provide good metrics on code, even very good metrics on tests and quality can compensate.

I agree with that even if I am not sure the percentage of people sensitive to this argument, but at least for me it is a good argument. :)

Submodule and proposed solution

Seeing the other comments, I am now opened and in favor (if not technically a burden) for another submodule.

As LB is a module, why not having it handled in its dedicated submodule like ui_patterns_layouts (I know ui_patterns_layouts is not just for LB but layout plugin in general)?

(My) requirements are that either the chosen technical solution, it should not complicate deployment/development workflow more.

I mean, a website with LB + DB entity view (+ nothing OR + sub module OR + separated module) should be installable with standard install processes like:
- drush si my_profile (speaking about a profile having both in installation requirements, and yes of course I am thinking about Sobki)
- drush si --existing-config

I have no doubt that we will be able to add warning/error messages on module activation and/or on report status page, to tell the admin to enable another module. My main concern is installation/reinstallation from scratch when all modules will be enabled at the same time and we will have to potentially take care of activation order.

Have a nice end of weekend :)

🇫🇷France Grimreaper France 🇫🇷

Thanks @pierre for the meet ;)

To review :)

🇫🇷France Grimreaper France 🇫🇷

WIP on context mapping. now there are the form elements but it is not saved.

🇫🇷France Grimreaper France 🇫🇷
🇫🇷France Grimreaper France 🇫🇷

Hello,

Thanks, sharing my thoughts.

External module

I would say not an external module because Layout Builder is a Core module.

The logic of UI Suite modules is for Core feature support it goes into sub-modules, for contrib support it goes into other contrib modules. Yes, ui_icons has some exceptions with ui_icons_field_linkit*, maybe it should not have there :)

Submodule

And not another submodule too...

From an admin (or whatever role which enables modules) point of view, I don't think we have to/can ask the admin to know that if both LB and DB entity view are enabled on the website, an additional module is needed. The admin does not have to know about this implementation complexity.

Let's suppose there is this display_builder_layout_support submodule, display_builder_entity_view can't declare a dependency on it, so it should probably be with a hook_requirements on "install" phase that can check if LB is enabled or not and ask you to enable the submodule first? But what will be the behavior (or the installation order) when reinstalling from existing config or with install profiles?

About the arguments that DB is replacing LB, I see multiple problems.

  1. LB will remain enabled anyway due to the dependency from the Navigation module. Which is still experimental at the moment of writing this comment, but at some point will become stable and become the default "admin toolbar". So even if not using LB at all on entity view diplays, LB will be enabled and its hook_entity_type_alter will have to be handled.
  2. We "bath" (not sure this expression translates well :)) in UI Suite/DB almost daily, but let's not forget that the vast majority of people in the Drupal community and also on projects site builders and content contributors don't (they don't even know about it). Just about UIP1 to UIP2 upgrade even if UIP2 is far better, for site builders that's a huge change in terms of UI elements and habits, also without talking about the number of websites still on UIP1. So transitioning from LB to DB should be as smooth as possible, so avoiding the requirement of people having to switch all their LB usage (config, content overrides) in one shot should be preferred. I think what Pierre did with conversion of LB to DB when enabling DB on a display already using LB is very good and enough. I totally understand that we don't need to support in the opposite direction or still maintaining conversion if the site builder still edits LB after DB activation on this display. We can't assume all the usages. Maybe on some websites, site builders will switch to DB for some usage but will remain on LB on other usage because of the time to convert LB customizations to DB, etc.

We don't want to live side of Layout Builder,

We don't want but we have to. On website level because both modules enabled. On one entity view display level in particular, we can avoid the side by side but easing the transition like you wrote "We just want to provide a smooth conversion from Layout Builder,".

By doing so we promote co-existence

We can change the logic in display_builder_entity_view/src/Form/LayoutBuilderEntityViewDisplayForm.php that as soon as DB is enabled, we hide LB options.

I also understand that the current implementation is a maintenance pain:

  1. needing a Core patch
  2. for code coverage having to rely on LB

Will the discussion about trait refactoring be able to help? By minimizing the code needed only for LB, covering the common code and potentially not covering the LB only if too hard to cover?

🇫🇷France Grimreaper France 🇫🇷
🇫🇷France Grimreaper France 🇫🇷

Hi,

Changes looks good. Thanks!

I rebased the MR, pipeline test failures are unrelated.

🇫🇷France Grimreaper France 🇫🇷

grimreaper made their first commit to this issue’s fork.

🇫🇷France Grimreaper France 🇫🇷

I would say won't fix until Core is able to do it with media?

🇫🇷France Grimreaper France 🇫🇷

Hi,

Can you please share your Drupal Core version?

🇫🇷France Grimreaper France 🇫🇷

Until context handling is discussed, current MR ready for review for the fixes it brings.

🇫🇷France Grimreaper France 🇫🇷

Review taken into account.

Wrong rebase so I also squashed MR commits. And now it properly rebased.

🇫🇷France Grimreaper France 🇫🇷
🇫🇷France Grimreaper France 🇫🇷
🇫🇷France Grimreaper France 🇫🇷

grimreaper created an issue.

🇫🇷France Grimreaper France 🇫🇷

grimreaper created an issue.

🇫🇷France Grimreaper France 🇫🇷

For contexts.

In Block layout and in Layout Builder, it is coming from app/core/lib/Drupal/Core/Block/BlockBase.php

  public function buildConfigurationForm(array $form, FormStateInterface $form_state) {
    ...
    $form['context_mapping'] = $this->addContextAssignmentElement($this, $contexts);
    ...
  }
🇫🇷France Grimreaper France 🇫🇷

I had been able to fix my custom form with:

    $element['#national_number'] = FALSE;
    $element['#dial_code'] = FALSE;

But I think when using either #nation_number and/or #dial_code, current validation is not enough.

🇫🇷France Grimreaper France 🇫🇷

I think it needs to use the hidden field proposed by the library https://intl-tel-input.com/examples/hidden-input.html

🇫🇷France Grimreaper France 🇫🇷

Hello @paskainos,

No worries, I will finish this.

Should've / could've anticipated that.

1: I should have (and will) update release note to mention this new requirement
2: I didn't know that this .info.yml requirement was not taken automatically so I will also fix other contrib modules I maintain.
3: the .info.yml change only prevents installation, so for websites with the module already enabled it is not handled

So unfortunately, very little stuff you could have done no worries. Except looking at the whole diff but that's not something normally asked when doing updates ^^.

So it will be ok for next releases, composer will prevent the update, but not for 1.1.0-alpha4 so I will put a big warning message on release note.

🇫🇷France Grimreaper France 🇫🇷

Thanks! I will try to merge and release today. Unfortunately affected to other subject.

🇫🇷France Grimreaper France 🇫🇷

Hi,

Thanks, README.md composer instructions also need to be updated.

I also see that there is currently no Bootswatch 5.3.8 version, so will wait for it.

🇫🇷France Grimreaper France 🇫🇷

grimreaper created an issue.

🇫🇷France Grimreaper France 🇫🇷

After discussion on infrastructure Slack channel, PHP requirement from .info.yml is not extracted, need to create a composer.json file.

Then indicate in previous release the problem.

🇫🇷France Grimreaper France 🇫🇷

Hi,

Liked mentioned in comment 7, please create a dedicated project.

🇫🇷France Grimreaper France 🇫🇷

Warning: Attempt to read property "title" on null in template_preprocess_image_formatter() (line 60 of core/modules/image/image.field.inc). + other warnings related to image formatter.

Comes from wrongly generated sample values, same problem in Layout Builder.

🇫🇷France Grimreaper France 🇫🇷

Remaining warnings:

Warning: Undefined array key "#information" in Drupal\webform\Element\Webform::preRenderWebformElement() (line 136 of modules/contrib/webform/src/Element/Webform.php).

Warning: Attempt to read property "title" on null in template_preprocess_image_formatter() (line 60 of core/modules/image/image.field.inc). + other warnings related to image formatter.

🇫🇷France Grimreaper France 🇫🇷

Fixed LB conversion with empty section.

New one

Warning: Undefined array key "name" in template_preprocess_taxonomy_term() (line 66 of core/modules/taxonomy/taxonomy.module).

🇫🇷France Grimreaper France 🇫🇷

Encountered 4 other types of error when enabling DB on all Sobki's displays.

Warning: Undefined array key "block_content" in Drupal\display_builder_entity_view\Entity\LayoutBuilderEntityViewDisplay->buildThemeRegistryEntry() (line 542 of modules/contrib/display_builder/modules/display_builder_entity_view/src/Entity/EntityViewDisplayTrait.php).

Warning: Undefined array key "#information" in Drupal\webform\Element\Webform::preRenderWebformElement() (line 136 of modules/contrib/webform/src/Element/Webform.php).

TypeError: Drupal\display_builder_entity_view\BuilderDataConverter::convertFromLayoutBuilder(): Argument #1 ($sections) must be of type array, null given, called in /project/app/modules/contrib/display_builder/modules/display_builder_entity_view/src/Entity/LayoutBuilderEntityViewDisplay.php on line 130 in Drupal\display_builder_entity_view\BuilderDataConverter->convertFromLayoutBuilder() (line 71 of modules/contrib/display_builder/modules/display_builder_entity_view/src/BuilderDataConverter.php).

Warning: Attempt to read property "title" on null in template_preprocess_image_formatter() (line 60 of core/modules/image/image.field.inc).

Note for myself:

https://web-sobki-d11.docker.localhost/admin/structure/block-content/man...
https://web-sobki-d11.docker.localhost/admin/structure/block-content/man...
https://web-sobki-d11.docker.localhost/admin/structure/types/manage/job_...
https://web-sobki-d11.docker.localhost/admin/structure/block-content/man...
https://web-sobki-d11.docker.localhost/admin/structure/block-content/man...
https://web-sobki-d11.docker.localhost/admin/structure/block-content/man...
https://web-sobki-d11.docker.localhost/admin/structure/block-content/man...
https://web-sobki-d11.docker.localhost/admin/structure/block-content/man...
https://web-sobki-d11.docker.localhost/admin/structure/block-content/man...
https://web-sobki-d11.docker.localhost/admin/structure/block-content/man...
https://web-sobki-d11.docker.localhost/admin/structure/types/manage/blog...

🇫🇷France Grimreaper France 🇫🇷

Ok,

preparing the new squashed commits.

🇫🇷France Grimreaper France 🇫🇷

Can you please give a new look :)

🇫🇷France Grimreaper France 🇫🇷

Hi again,

I pushed the fix. Also found a deprecation about views plugin annotation when executing tests locally.

I also put a review comment on my own change, an idea I realized after pushing.

If you can, please test and share your opinion.

After lunch break going to merge and release. I will squash your commits and only keep the views plugin change in a dedicated commit.

🇫🇷France Grimreaper France 🇫🇷

Don't worry this will be merged today :)

I have the fix for dependencies.

I was testing, back to sabberworm 8.6 without the patch to reproduce the problem I had that needed the patch. Impossible to reproduce.

So I will test with version 9.

🇫🇷France Grimreaper France 🇫🇷

grimreaper created an issue.

🇫🇷France Grimreaper France 🇫🇷

This issue allowed me to realize that there is a miss in the logic of gathering CSS files. It is forgetting dependencies. So since library reorganisation in ui_suite_bootstrap, it does not work because the framework css is from a sub library.

Will fix that too.

🇫🇷France Grimreaper France 🇫🇷

Which PHP version are you using?

Starting 1.1.0-alpha4, ui_skins requires PHP 8.3, but it seems that updating the .info.yml did not put the requirement into the automatically generated composer.json by drupal.org facade.

🇫🇷France Grimreaper France 🇫🇷

Also fixed the LB migration for UI Patterns Block

🇫🇷France Grimreaper France 🇫🇷

grimreaper created an issue.

🇫🇷France Grimreaper France 🇫🇷

Thanks!

You can assign it to you if you want and un-assign when ready.

🇫🇷France Grimreaper France 🇫🇷

Adding potentially related issue 💬 How to order icon packs Active

🇫🇷France Grimreaper France 🇫🇷

grimreaper created an issue.

🇫🇷France Grimreaper France 🇫🇷

Hi,

Thanks a lot for bringing that to attention.

I was not aware of the new sabberworm release. If no more need the patch, it will be very nice!

I planned synchronised releases in the UI Suite ecosystem, so I will test next time.

🇫🇷France Grimreaper France 🇫🇷

On overview page, not possible to quickly just print component name, description, because handled by ui-patterns-component-metadata template on both overview page and single page.

I didn't wanted to introduce a new template.

Production build 0.71.5 2024