🇦🇹Austria @maxilein

Account created on 10 November 2010, over 14 years ago
#

Recent comments

🇦🇹Austria maxilein

I just realized that this bug is only if Header region and Main Menu region are NOT flipped (=default).
If header and main menu are flipped (as in screenshot the bug is not happening).
Very interesting.
In the current dev. version from about an hour ago the bug is gone.
I'll test further.

🇦🇹Austria maxilein

Thank you. It works beautifully.
By the way: thank you for your quick responses. And I have rarely seen such a clean and well organized theme like yours!
it is really impressive.

🇦🇹Austria maxilein

Here is a step by step description showing settings + result on each page.

🇦🇹Austria maxilein

You don't read my text or I don't understand what you are saying:

You say: "The logo option has no relationship with the menu". And by the design you chose I think it should be that way.

BUT there is a bug: The logo options is the ONLY way to also move the menu to the right! The drop-down alone is dead.

🇦🇹Austria maxilein

it is fine for me as it is.
But someone else might think that the dropdown does nothing - if they don't tick the logo option

🇦🇹Austria maxilein

otherwise it stays left aligned even though right is selected

🇦🇹Austria maxilein

the menu only right aligns when the checkbox for the logo is ticked

🇦🇹Austria maxilein

Thanks for your feedback.
I am using latest Drupal CMS and latest solo.dev - both without customization and no extra modules enabled.

But your screenshots helped a lot to narrow the issue down:
There is a difference if a menu entry has children or not.
If it has no child the error occurs.
Please see screenshots.

🇦🇹Austria maxilein

Thank you. Fantastic!
I tried it of course right away. The result is exactly what I wanted (including this issue Logo and Main Menu in the same horizontal height 💬 Logo and Main Menu in the same horizontal height Active ): Logo left aligned, Main Menu to the right.

Perfect for me. This issue alone seems to solve both this issue and the one mentioned above.

But here is the catch for anintuitive understanding of the theme configuration: the dropdown by itself does not right align the menu. In fact it does not seem to do anything.
If you look at the attached screenshots: the menu only right aligns when the checkbox for the logo is ticked.

🇦🇹Austria maxilein

if I add

align-items: center;
to

@media (min-width: 62rem) {
.solo-inner .navigation__responsive {
display: flex !important;
flex-wrap: wrap;
align-items: center;
}
}

it is correctly aligned in the menu.
But I am not sure this is the right position to add it without breaking anything else ...
please check...

🇦🇹Austria maxilein

Thank you!
I would appreciate it very much if you could make the changes. I don't even have git installed ...

🇦🇹Austria maxilein

We are using it for years.
Please take the D11 patch from the issue 📌 Drupal 11 compatibility Active and make a new release. It is working on D11.1.5 just fine.

🇦🇹Austria maxilein

Following the https://www.drupal.org/node/3375748 API changes and therefore changing line 18 in SimplePercentageItem.php from

* category = @Translation("number"),

to

* category = "number",

fixes the issue.

🇦🇹Austria maxilein

How about some log messages?

"view xy about to be deleted by module xy uninstall."

"view xy's configuration export BEFORE changes: "

"view xy's configuration export BEFORE changes: "

"view xy deleted by module xy uninstall. see previous log messages for configuration changes made."

🇦🇹Austria maxilein

hm, ... it works if you just use

composer require 'drupal/views_dependent_filters

🇦🇹Austria maxilein

I had some left overs from this module. It was listed as unsupported, but was nowhere to be found in the file system or comopser.json...

composer remove drupal/eca_context-eca_context (as mentined above) helped me get rid of that finally...

🇦🇹Austria maxilein

Same here:

composer require 'drupal/views_dependent_filters:^1.3'
./composer.json has been updated
Running composer update drupal/views_dependent_filters
Gathering patches for root package.
Loading composer repositories with package information
Updating dependencies
Your requirements could not be resolved to an installable set of packages.

Problem 1
- Root composer.json requires drupal/views_dependent_filters ^1.3 -> satisfiable by drupal/views_dependent_filters[1.3.0].
- drupal/views_dependent_filters 1.3.0 requires drupal/core ^8.8 || ^9 || ^10 -> found drupal/core[8.8.0, ..., 8.9.20, 9.0.0, ..., 9.5.11, 10.0.0, ..., 10.4.4] but the package is fixed to 11.1.3 (lock file version) by a partial update and that version does not match. Make sure you list it as an argument for the update command.

🇦🇹Austria maxilein

Could you please make a new release?

📌 | Warmer | Drush 13
🇦🇹Austria maxilein

Just installed the current dev on D11.1.
Works fine with drush 13 even without this patch.

🇦🇹Austria maxilein

drush was not affected. Only the cache clear calls from the UI.

🇦🇹Austria maxilein

Sorry it applied to the dev version correctly.

🇦🇹Austria maxilein

The patch does not apply on the latest dev odr stable versions (as of 20 Jan 2024 at 20:16 CET)

🇦🇹Austria maxilein

Cannot apply it to the current or current dev version.
There seems to be a lot of new code in ckeditor_templates_ui.module that the patch requires ...

🇦🇹Austria maxilein

The patch does not apply to Version 1.0.0
Could you create a dev version that is compatible to D11?

🇦🇹Austria maxilein

Look at this patch: https://www.drupal.org/project/better_fields_report/issues/3428959 📌 Automated Drupal 11 compatibility fixes for better_fields_report Needs review
There is a comment to avoid New Lines at the end of the file

🇦🇹Austria maxilein

If I understand it correctly it is a long missing functionality! Thank you!
So it is like a configurable popup for links to selected content types?
Can it popup links to views also?

🇦🇹Austria maxilein

Thank you!
Will help adoption a lot.
And explains more than words.

🇦🇹Austria maxilein

It does make the error go away. Thank you. Sorry for the late response.

🇦🇹Austria maxilein

I think this is a good idea.
It is very hard to track down the source of the error.
(see this case https://www.drupal.org/project/clamav/issues/3328591 🐛 Dragging inline image: Problem with private:// file path ot permissions? Active )
It is not something the administrator would be able to fix ...

🇦🇹Austria maxilein

I have the same error and if you google it there are a view others.

Warning: Undefined array key "connect_nulls" in Drupal\charts\Plugin\views\style\ChartsPluginStyleChart->render() (line 336 of /...//modules/contrib/charts/src/Plugin/views/style/ChartsPluginStyleChart.php)

#0 /...//core/includes/bootstrap.inc(166): _drupal_error_handler_real()
#1 /...//modules/contrib/charts/src/Plugin/views/style/ChartsPluginStyleChart.php(336): _drupal_error_handler()
#2 /...//core/modules/views/src/Plugin/views/display/DisplayPluginBase.php(2177): Drupal\charts\Plugin\views\style\ChartsPluginStyleChart->render()
#3 /...//core/modules/views/src/ViewExecutable.php(1593): Drupal\views\Plugin\views\display\DisplayPluginBase->render()
#4 /...//core/modules/views/src/Plugin/views/display/Block.php(133): Drupal\views\ViewExecutable->render()
#5 /...//core/modules/views/src/ViewExecutable.php(1690): Drupal\views\Plugin\views\display\Block->execute()
#6 /...//core/modules/views/src/Element/View.php(81): Drupal\views\ViewExecutable->executeDisplay()
#7 [internal function]: Drupal\views\Element\View::preRenderViewElement()
#8 /...//core/lib/Drupal/Core/Security/DoTrustedCallbackTrait.php(113): call_user_func_array()
#9 /...//core/lib/Drupal/Core/Render/Renderer.php(870): Drupal\Core\Render\Renderer->doTrustedCallback()
#10 /...//core/lib/Drupal/Core/Render/Renderer.php(432): Drupal\Core\Render\Renderer->doCallback()
#11 /...//core/lib/Drupal/Core/Render/Renderer.php(248): Drupal\Core\Render\Renderer->doRender()
#12 /...//core/lib/Drupal/Core/Template/TwigExtension.php(484): Drupal\Core\Render\Renderer->render()
#13 /...//sites/default/files/php/twig/67862c3a8fea6_viewfield-item.html.twig_K-GaYPZNWd_RyzYVAcCyBbYFE/jdIHjz7GsR44U3CXMdLcawygTY3-F3jzlkYV39vuJcE.php(94): Drupal\Core\Template\TwigExtension->escapeFilter()
#14 /var/www/vendor/twig/twig/src/Template.php(431): __TwigTemplate_2805eb420b5100c429475342ec366984->block_content()
#15 /...//sites/default/files/php/twig/67862c3a8fea6_viewfield-item.html.twig_K-GaYPZNWd_RyzYVAcCyBbYFE/jdIHjz7GsR44U3CXMdLcawygTY3-F3jzlkYV39vuJcE.php(77): Twig\Template->yieldBlock()
#16 /var/www/vendor/twig/twig/src/Template.php(387): __TwigTemplate_2805eb420b5100c429475342ec366984->doDisplay()
#17 /var/www/vendor/twig/twig/src/Template.php(343): Twig\Template->yield()
#18 /var/www/vendor/twig/twig/src/Template.php(358): Twig\Template->display()
#19 /var/www/vendor/twig/twig/src/TemplateWrapper.php(35): Twig\Template->render()
#20 /...//core/themes/engines/twig/twig.engine(33): Twig\TemplateWrapper->render()
#21 /...//core/lib/Drupal/Core/Theme/ThemeManager.php(348): twig_render_template()
#22 /...//core/lib/Drupal/Core/Render/Renderer.php(491): Drupal\Core\Theme\ThemeManager->render()
#23 /...//core/lib/Drupal/Core/Render/Renderer.php(248): Drupal\Core\Render\Renderer->doRender()
#24 /...//core/modules/views/src/Plugin/views/field/EntityField.php(974): Drupal\Core\Render\Renderer->render()
#25 /...//core/modules/views/src/Plugin/views/field/FieldPluginBase.php(1214): Drupal\views\Plugin\views\field\EntityField->render_item()
#26 /...//core/modules/views/views.theme.inc(238): Drupal\views\Plugin\views\field\FieldPluginBase->advancedRender()
#27 [internal function]: template_preprocess_views_view_field()
#28 /...//core/lib/Drupal/Core/Theme/ThemeManager.php(261): call_user_func_array()
#29 /...//core/lib/Drupal/Core/Render/Renderer.php(491): Drupal\Core\Theme\ThemeManager->render()
#30 /...//core/lib/Drupal/Core/Render/Renderer.php(248): Drupal\Core\Render\Renderer->doRender()
#31 /...//core/modules/views/src/Plugin/views/field/FieldPluginBase.php(1796): Drupal\Core\Render\Renderer->render()
#32 /...//core/modules/views/src/Plugin/views/style/StylePluginBase.php(769): Drupal\views\Plugin\views\field\FieldPluginBase->theme()
#33 [internal function]: Drupal\views\Plugin\views\style\StylePluginBase->elementPreRenderRow()
#34 /...//core/lib/Drupal/Core/Security/DoTrustedCallbackTrait.php(113): call_user_func_array()
#35 /...//core/lib/Drupal/Core/Render/Renderer.php(870): Drupal\Core\Render\Renderer->doTrustedCallback()
#36 /...//core/lib/Drupal/Core/Render/Renderer.php(432): Drupal\Core\Render\Renderer->doCallback()
#37 /...//core/lib/Drupal/Core/Render/Renderer.php(248): Drupal\Core\Render\Renderer->doRender()
#38 /...//core/modules/views/src/Plugin/views/style/StylePluginBase.php(708): Drupal\Core\Render\Renderer->render()
#39 /...//core/modules/views/src/Plugin/views/style/StylePluginBase.php(574): Drupal\views\Plugin\views\style\StylePluginBase->renderFields()
#40 /...//core/modules/views/src/Plugin/views/style/StylePluginBase.php(462): Drupal\views\Plugin\views\style\StylePluginBase->renderGrouping()
#41 /...//core/modules/views/src/Plugin/views/display/DisplayPluginBase.php(2177): Drupal\views\Plugin\views\style\StylePluginBase->render()
#42 /...//core/modules/views/src/ViewExecutable.php(1593): Drupal\views\Plugin\views\display\DisplayPluginBase->render()
#43 /...//core/modules/views/src/Plugin/views/display/Block.php(133): Drupal\views\ViewExecutable->render()
#44 /...//core/modules/views/src/ViewExecutable.php(1690): Drupal\views\Plugin\views\display\Block->execute()
#45 /...//core/modules/views/src/Element/View.php(81): Drupal\views\ViewExecutable->executeDisplay()
#46 [internal function]: Drupal\views\Element\View::preRenderViewElement()
#47 /...//core/lib/Drupal/Core/Security/DoTrustedCallbackTrait.php(113): call_user_func_array()
#48 /...//core/lib/Drupal/Core/Render/Renderer.php(870): Drupal\Core\Render\Renderer->doTrustedCallback()
#49 /...//core/lib/Drupal/Core/Render/Renderer.php(432): Drupal\Core\Render\Renderer->doCallback()
#50 /...//core/lib/Drupal/Core/Render/Renderer.php(248): Drupal\Core\Render\Renderer->doRender()
#51 /...//core/lib/Drupal/Core/Template/TwigExtension.php(484): Drupal\Core\Render\Renderer->render()
#52 /...//sites/default/files/php/twig/67862c3a8fea6_viewfield-item.html.twig_K-GaYPZNWd_RyzYVAcCyBbYFE/jdIHjz7GsR44U3CXMdLcawygTY3-F3jzlkYV39vuJcE.php(94): Drupal\Core\Template\TwigExtension->escapeFilter()
#53 /var/www/vendor/twig/twig/src/Template.php(431): __TwigTemplate_2805eb420b5100c429475342ec366984->block_content()
#54 /...//sites/default/files/php/twig/67862c3a8fea6_viewfield-item.html.twig_K-GaYPZNWd_RyzYVAcCyBbYFE/jdIHjz7GsR44U3CXMdLcawygTY3-F3jzlkYV39vuJcE.php(77): Twig\Template->yieldBlock()
#55 /var/www/vendor/twig/twig/src/Template.php(387): __TwigTemplate_2805eb420b5100c429475342ec366984->doDisplay()
#56 /var/www/vendor/twig/twig/src/Template.php(343): Twig\Template->yield()
#57 /var/www/vendor/twig/twig/src/Template.php(358): Twig\Template->display()
#58 /var/www/vendor/twig/twig/src/TemplateWrapper.php(35): Twig\Template->render()
#59 /...//core/themes/engines/twig/twig.engine(33): Twig\TemplateWrapper->render()
#60 /...//core/lib/Drupal/Core/Theme/ThemeManager.php(348): twig_render_template()
#61 /...//core/lib/Drupal/Core/Render/Renderer.php(491): Drupal\Core\Theme\ThemeManager->render()
#62 /...//core/lib/Drupal/Core/Render/Renderer.php(248): Drupal\Core\Render\Renderer->doRender()
#63 /...//core/lib/Drupal/Core/Template/TwigExtension.php(484): Drupal\Core\Render\Renderer->render()
#64 /...//sites/default/files/php/twig/67862c3a8fea6_viewfield.html.twig_jbKm3zPYyIvhEMWL4zUWqEZyo/vNiMG7oVYamrdfqXrJ_KL-xTZwfetLbMnBVYbNa_niM.php(90): Drupal\Core\Template\TwigExtension->escapeFilter()
#65 /var/www/vendor/twig/twig/src/Template.php(387): __TwigTemplate_17ba97cd14306990d974735319171a51->doDisplay()
#66 /var/www/vendor/twig/twig/src/Template.php(343): Twig\Template->yield()
#67 /var/www/vendor/twig/twig/src/Template.php(358): Twig\Template->display()
#68 /var/www/vendor/twig/twig/src/TemplateWrapper.php(35): Twig\Template->render()
#69 /...//core/themes/engines/twig/twig.engine(33): Twig\TemplateWrapper->render()
#70 /...//core/lib/Drupal/Core/Theme/ThemeManager.php(348): twig_render_template()
#71 /...//core/lib/Drupal/Core/Render/Renderer.php(491): Drupal\Core\Theme\ThemeManager->render()
#72 /...//core/lib/Drupal/Core/Render/Renderer.php(504): Drupal\Core\Render\Renderer->doRender()
#73 /...//core/lib/Drupal/Core/Render/Renderer.php(504): Drupal\Core\Render\Renderer->doRender()
#74 /...//core/lib/Drupal/Core/Render/Renderer.php(504): Drupal\Core\Render\Renderer->doRender()
#75 /...//core/lib/Drupal/Core/Render/Renderer.php(248): Drupal\Core\Render\Renderer->doRender()
#76 /...//core/lib/Drupal/Core/Template/TwigExtension.php(484): Drupal\Core\Render\Renderer->render()
#77 /...//sites/default/files/php/twig/67862c3a8fea6_taxonomy-term.html.twig_w2ZB8F9Rtc_8FNFZ9b45l6QNr/ljPIUo-_dJ38wTy7D8NgQVja92-OCxR8uvX51_vLJk4.php(72): Drupal\Core\Template\TwigExtension->escapeFilter()
#78 /var/www/vendor/twig/twig/src/Template.php(387): __TwigTemplate_bd68ef3e5b521e89806a5a6eba79c513->doDisplay()
#79 /var/www/vendor/twig/twig/src/Template.php(343): Twig\Template->yield()
#80 /var/www/vendor/twig/twig/src/Template.php(358): Twig\Template->display()
#81 /var/www/vendor/twig/twig/src/TemplateWrapper.php(35): Twig\Template->render()
#82 /...//core/themes/engines/twig/twig.engine(33): Twig\TemplateWrapper->render()
#83 /...//core/lib/Drupal/Core/Theme/ThemeManager.php(348): twig_render_template()
#84 /...//core/lib/Drupal/Core/Render/Renderer.php(491): Drupal\Core\Theme\ThemeManager->render()
#85 /...//core/lib/Drupal/Core/Render/Renderer.php(504): Drupal\Core\Render\Renderer->doRender()
#86 /...//core/lib/Drupal/Core/Render/Renderer.php(248): Drupal\Core\Render\Renderer->doRender()
#87 /...//core/lib/Drupal/Core/Template/TwigExtension.php(484): Drupal\Core\Render\Renderer->render()
#88 /...//sites/default/files/php/twig/67862c3a8fea6_views-view.html.twig_5u1S5z1PtGibMgkaR-54XZmwm/n7LJrm2QMQXgG3j9XjavnYffRaRLZaSB8YqyCE4U4Z0.php(77): Drupal\Core\Template\TwigExtension->escapeFilter()
#89 /var/www/vendor/twig/twig/src/Template.php(387): __TwigTemplate_61e96a9b640aa9f1bda9458006520146->doDisplay()
#90 /var/www/vendor/twig/twig/src/Template.php(343): Twig\Template->yield()
#91 /var/www/vendor/twig/twig/src/Template.php(358): Twig\Template->display()
#92 /var/www/vendor/twig/twig/src/TemplateWrapper.php(35): Twig\Template->render()
#93 /...//core/themes/engines/twig/twig.engine(33): Twig\TemplateWrapper->render()
#94 /...//core/lib/Drupal/Core/Theme/ThemeManager.php(348): twig_render_template()
#95 /...//core/lib/Drupal/Core/Render/Renderer.php(491): Drupal\Core\Theme\ThemeManager->render()
#96 /...//core/lib/Drupal/Core/Render/Renderer.php(504): Drupal\Core\Render\Renderer->doRender()
#97 /...//core/lib/Drupal/Core/Render/Renderer.php(248): Drupal\Core\Render\Renderer->doRender()
#98 /...//core/lib/Drupal/Core/Render/MainContent/HtmlRenderer.php(238): Drupal\Core\Render\Renderer->render()
#99 /...//core/lib/Drupal/Core/Render/Renderer.php(638): Drupal\Core\Render\MainContent\HtmlRenderer->Drupal\Core\Render\MainContent\{closure}()
#100 /...//core/lib/Drupal/Core/Render/MainContent/HtmlRenderer.php(231): Drupal\Core\Render\Renderer->executeInRenderContext()
#101 /...//core/lib/Drupal/Core/Render/MainContent/HtmlRenderer.php(128): Drupal\Core\Render\MainContent\HtmlRenderer->prepare()
#102 /...//core/lib/Drupal/Core/EventSubscriber/MainContentViewSubscriber.php(90): Drupal\Core\Render\MainContent\HtmlRenderer->renderResponse()
#103 [internal function]: Drupal\Core\EventSubscriber\MainContentViewSubscriber->onViewRenderArray()
#104 /...//core/lib/Drupal/Component/EventDispatcher/ContainerAwareEventDispatcher.php(111): call_user_func()
#105 /var/www/vendor/symfony/http-kernel/HttpKernel.php(186): Drupal\Component\EventDispatcher\ContainerAwareEventDispatcher->dispatch()
#106 /var/www/vendor/symfony/http-kernel/HttpKernel.php(76): Symfony\Component\HttpKernel\HttpKernel->handleRaw()
#107 /...//core/lib/Drupal/Core/StackMiddleware/Session.php(53): Symfony\Component\HttpKernel\HttpKernel->handle()
#108 /...//core/lib/Drupal/Core/StackMiddleware/KernelPreHandle.php(48): Drupal\Core\StackMiddleware\Session->handle()
#109 /...//core/lib/Drupal/Core/StackMiddleware/ContentLength.php(28): Drupal\Core\StackMiddleware\KernelPreHandle->handle()
#110 /...//core/modules/big_pipe/src/StackMiddleware/ContentLength.php(32): Drupal\Core\StackMiddleware\ContentLength->handle()
#111 /...//core/modules/page_cache/src/StackMiddleware/PageCache.php(116): Drupal\big_pipe\StackMiddleware\ContentLength->handle()
#112 /...//core/modules/page_cache/src/StackMiddleware/PageCache.php(90): Drupal\page_cache\StackMiddleware\PageCache->pass()
#113 /...//core/lib/Drupal/Core/StackMiddleware/ReverseProxyMiddleware.php(48): Drupal\page_cache\StackMiddleware\PageCache->handle()
#114 /...//core/lib/Drupal/Core/StackMiddleware/NegotiationMiddleware.php(51): Drupal\Core\StackMiddleware\ReverseProxyMiddleware->handle()
#115 /...//core/lib/Drupal/Core/StackMiddleware/AjaxPageState.php(36): Drupal\Core\StackMiddleware\NegotiationMiddleware->handle()
#116 /...//core/lib/Drupal/Core/StackMiddleware/StackedHttpKernel.php(51): Drupal\Core\StackMiddleware\AjaxPageState->handle()
#117 /...//core/lib/Drupal/Core/DrupalKernel.php(741): Drupal\Core\StackMiddleware\StackedHttpKernel->handle()
#118 /...//index.php(19): Drupal\Core\DrupalKernel->handle()
#119 {main}
🇦🇹Austria maxilein

Thank you! I will try this.

🇦🇹Austria maxilein

But it is such an annoyance that this functionality is missing ... for everyone who develops using views ...

🇦🇹Austria maxilein

Thank you.
I am trying to test your patch.
I can only download a module by using composer. But it rejects downloading 1.0.2. Therefore I cannot apply the patch.
Could you add it to the dev version?

🇦🇹Austria maxilein

That sounds good.
Maybe create some tokens that can be read from the beginning or end of the body to instruct ECA?
(I never used ECA though)

🇦🇹Austria maxilein

Wow! Looking forward to it! Thank you all!

Commenting and making notes on content fragments without the field limitations is such an important feature.

🇦🇹Austria maxilein

Oh and I cannot THANK you enough to make this long missing feature!!!

🇦🇹Austria maxilein

I installed it for testing it.
The widget appears on number and decimal fields (these are the one I tested so far).
Can you please give me an example for the mask settings you used to develop it.

Following the instructions above I tested: 999,999,999,999.99 - but I am still stuck with 3 digits before and 2 after the comma. As described in #25.

🇦🇹Austria maxilein

See module page:

NOTE: The module relies on recording some Revision history. This happens only when the module is enabled. Thus the graph won't be reliable for period when the module was not in use.

So create some revisions and see if the graph appears...

🇦🇹Austria maxilein

I installed it on D10.3 and it worked fine. Sorry for forgetting to mention that in my comment.

🇦🇹Austria maxilein

Maybe you can state on the module page, that the contrib module automatically replaces the deprecated core module and
continues without data or configuration loss.
Thank you.

🇦🇹Austria maxilein

At first try: It seems it will keep the configuration and automatically replace the core module.
Don't yet know if that works.

🇦🇹Austria maxilein

If installed in D10.3 will it automatically keep the configuration of the core module?

🇦🇹Austria maxilein

I think we can close this as a duplicate https://www.drupal.org/project/diff/issues/3419173 🐛 mb_convert_encoding is deprecated in PHP 8.2 Active

🇦🇹Austria maxilein

Shouldn't this patch respect the setting of the php_max value of each system?
Maybe I misunderstood you. But for some people a precision of 14 may not be enough. E.g. scientific data ...

Production build 0.71.5 2024