Tallinn
Account created on 5 January 2005, about 20 years ago
#

Merge Requests

Recent comments

🇪🇪Estonia tormi Tallinn

Duplicate of 1964422, closing.

🇪🇪Estonia tormi Tallinn

Updated the group_audience check to use property_exists() and isset() for safer property access.

🇪🇪Estonia tormi Tallinn

I am adding a static patch 2822764-129.patch based on #129 Support adding new entities when translating Needs review / MR #120

🇪🇪Estonia tormi Tallinn

Saved changes from #25 MR as a static patch for rules v4.0.

🇪🇪Estonia tormi Tallinn

Removed $this->notif_error++; > $this->notif_errors++; as it's handled elsewhere.

🇪🇪Estonia tormi Tallinn

Here's the commit where rabbit_hole_update_8102() is being renamed to rabbit_hole_update_8104() and new rabbit_hole_update_8103() function is introduced before the renamed rabbit_hole_update_8104() function: https://git.drupalcode.org/project/rabbit_hole/-/commit/dc579f2023bfc597...

🇪🇪Estonia tormi Tallinn

For me, the issue is caused by the fact that the function rabbit_hole_update_8102() (see https://git.drupalcode.org/project/rabbit_hole/-/commit/b7d8d84d1fdc50af...) is missing in the rabbit_hole.install file:

drush updb
[error] The installed version of the /Honeypot/ module is too old to update. Update
to an intermediate version first (last removed version: 8104, installed
version: 8102).
🇪🇪Estonia tormi Tallinn

Committed #3351078: Remove EOL PHP versions, add support for PHP v8.2 & v8.3, Drupal 11

Adding MR as patch here for patching purposes in the project.

🇪🇪Estonia tormi Tallinn

Use custom dockerfile instead of build_as_root for caching Lando build steps.

.lando.yml:

services:
  appserver:
    overrides:
      build:
        context: ./.lando
        dockerfile: appserver.Dockerfile

.lando/appserver.Dockerfile:

# Overrride Lando's PHP service.
FROM devwithlando/php:8.3-fpm-4

# Install vim, sudo, node 20, and npm globally
RUN apt-get update && \
    apt-get install -y --no-install-recommends \
    gnupg2 \
    sudo \
    vim \
    wget \
    && wget -qO- https://deb.nodesource.com/setup_20.x | bash - && \
    apt-get install -y nodejs \
    && apt-get clean \
    && rm -rf /var/lib/apt/lists/*

# Verify installation
RUN node -v && npm -v
🇪🇪Estonia tormi Tallinn

I'm adding Joachim's MR diff as a static patch so it can be referenced from the project.

🇪🇪Estonia tormi Tallinn

Okay, this did the trick for me: max_filesize: '10 MB'.

🇪🇪Estonia tormi Tallinn

Here's my stack trace from local environment.

The size of the `public://images-2024-09/IG-post_Foli-kumppani (1).png` is 18MB and `createDerivative` fails because of this - there's no derivate in https://xxx.lndo.site/sites/default/files/styles/medium/public/images-20...

The website encountered an unexpected error. Try again later.

TypeError: Drupal\system\Plugin\ImageToolkit\GDToolkit::setImage(): Argument #1 ($image) must be of type ?GdImage, bool given, called in /app/web/core/modules/system/src/Plugin/ImageToolkit/GDToolkit.php on line 287 in Drupal\system\Plugin\ImageToolkit\GDToolkit->setImage() (line 203 of core/modules/system/src/Plugin/ImageToolkit/GDToolkit.php).
Drupal\system\Plugin\ImageToolkit\GDToolkit->load() (Line: 217)
Drupal\system\Plugin\ImageToolkit\GDToolkit->getImage() (Line: 354)
Drupal\system\Plugin\ImageToolkit\GDToolkit->save('/app/web/sites/default/files/styles/medium/public/images-2024-09/IG-post_Foli-kumppani (1).png') (Line: 125)
Drupal\Core\Image\Image->save('public://styles/medium/public/images-2024-09/IG-post_Foli-kumppani (1).png') (Line: 334)
Drupal\image\Entity\ImageStyle->createDerivative('public://images-2024-09/IG-post_Foli-kumppani (1).png', 'public://styles/medium/public/images-2024-09/IG-post_Foli-kumppani (1).png') (Line: 224)
Drupal\image\Controller\ImageStyleDownloadController->deliver(Object, 'public', Object, 'public') (Line: 90)
Drupal\stage_file_proxy\Controller\ImageStyleDownloadController->deliver(Object, 'public', Object, 'public')
call_user_func_array(Array, Array) (Line: 123)
Drupal\Core\EventSubscriber\EarlyRenderingControllerWrapperSubscriber->Drupal\Core\EventSubscriber\{closure}() (Line: 638)
Drupal\Core\Render\Renderer->executeInRenderContext(Object, Object) (Line: 121)
Drupal\Core\EventSubscriber\EarlyRenderingControllerWrapperSubscriber->wrapControllerExecutionInRenderContext(Array, Array) (Line: 97)
Drupal\Core\EventSubscriber\EarlyRenderingControllerWrapperSubscriber->Drupal\Core\EventSubscriber\{closure}() (Line: 181)
Symfony\Component\HttpKernel\HttpKernel->handleRaw(Object, 1) (Line: 76)
Symfony\Component\HttpKernel\HttpKernel->handle(Object, 1, 1) (Line: 53)
Drupal\Core\StackMiddleware\Session->handle(Object, 1, 1) (Line: 48)
Drupal\Core\StackMiddleware\KernelPreHandle->handle(Object, 1, 1) (Line: 28)
Drupal\Core\StackMiddleware\ContentLength->handle(Object, 1, 1) (Line: 48)
Drupal\Core\StackMiddleware\ReverseProxyMiddleware->handle(Object, 1, 1) (Line: 51)
Drupal\Core\StackMiddleware\NegotiationMiddleware->handle(Object, 1, 1) (Line: 36)
Drupal\Core\StackMiddleware\AjaxPageState->handle(Object, 1, 1) (Line: 51)
Drupal\Core\StackMiddleware\StackedHttpKernel->handle(Object, 1, 1) (Line: 741)
Drupal\Core\DrupalKernel->handle(Object) (Line: 19)

And here's the image creation failure stack trace:

Warning: imagecreatefrompng(): "public://images-2024-06/IG-post_Foli-kumppani.png" is not a valid PNG file in Drupal\system\Plugin\ImageToolkit\GDToolkit->load() (line 273 of /app/web/core/modules/system/src/Plugin/ImageToolkit/GDToolkit.php)
#0 /app/web/core/includes/bootstrap.inc(166): _drupal_error_handler_real(2, 'imagecreatefrom...', '/app/web/core/m...', 273)
#1 [internal function]: _drupal_error_handler(2, 'imagecreatefrom...', '/app/web/core/m...', 273)
#2 /app/web/core/modules/system/src/Plugin/ImageToolkit/GDToolkit.php(273): imagecreatefrompng('public://images...')
#3 /app/web/core/modules/system/src/Plugin/ImageToolkit/GDToolkit.php(217): Drupal\system\Plugin\ImageToolkit\GDToolkit->load()
#4 /app/web/core/modules/system/src/Plugin/ImageToolkit/GDToolkit.php(354): Drupal\system\Plugin\ImageToolkit\GDToolkit->getImage()
#5 /app/web/core/lib/Drupal/Core/Image/Image.php(125): Drupal\system\Plugin\ImageToolkit\GDToolkit->save('/app/web/sites/...')
#6 /app/web/core/modules/image/src/Entity/ImageStyle.php(334): Drupal\Core\Image\Image->save('public://styles...')
#7 /app/web/core/modules/image/src/Controller/ImageStyleDownloadController.php(224): Drupal\image\Entity\ImageStyle->createDerivative('public://images...', 'public://styles...')
#8 /app/web/modules/contrib/stage_file_proxy/src/Controller/ImageStyleDownloadController.php(90): Drupal\image\Controller\ImageStyleDownloadController->deliver(Object(Symfony\Component\HttpFoundation\Request), 'public', Object(Drupal\image\Entity\ImageStyle), 'public')
#9 [internal function]: Drupal\stage_file_proxy\Controller\ImageStyleDownloadController->deliver(Object(Symfony\Component\HttpFoundation\Request), 'public', Object(Drupal\image\Entity\ImageStyle), 'public')
#10 /app/web/core/lib/Drupal/Core/EventSubscriber/EarlyRenderingControllerWrapperSubscriber.php(123): call_user_func_array(Array, Array)
#11 /app/web/core/lib/Drupal/Core/Render/Renderer.php(638): Drupal\Core\EventSubscriber\EarlyRenderingControllerWrapperSubscriber->Drupal\Core\EventSubscriber\{closure}()
#12 /app/web/core/lib/Drupal/Core/EventSubscriber/EarlyRenderingControllerWrapperSubscriber.php(121): Drupal\Core\Render\Renderer->executeInRenderContext(Object(Drupal\Core\Render\RenderContext), Object(Closure))
#13 /app/web/core/lib/Drupal/Core/EventSubscriber/EarlyRenderingControllerWrapperSubscriber.php(97): Drupal\Core\EventSubscriber\EarlyRenderingControllerWrapperSubscriber->wrapControllerExecutionInRenderContext(Array, Array)
#14 /app/vendor/symfony/http-kernel/HttpKernel.php(181): Drupal\Core\EventSubscriber\EarlyRenderingControllerWrapperSubscriber->Drupal\Core\EventSubscriber\{closure}()
#15 /app/vendor/symfony/http-kernel/HttpKernel.php(76): Symfony\Component\HttpKernel\HttpKernel->handleRaw(Object(Symfony\Component\HttpFoundation\Request), 1)
#16 /app/web/core/lib/Drupal/Core/StackMiddleware/Session.php(53): Symfony\Component\HttpKernel\HttpKernel->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#17 /app/web/core/lib/Drupal/Core/StackMiddleware/KernelPreHandle.php(48): Drupal\Core\StackMiddleware\Session->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#18 /app/web/core/lib/Drupal/Core/StackMiddleware/ContentLength.php(28): Drupal\Core\StackMiddleware\KernelPreHandle->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#19 /app/web/core/lib/Drupal/Core/StackMiddleware/ReverseProxyMiddleware.php(48): Drupal\Core\StackMiddleware\ContentLength->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#20 /app/web/core/lib/Drupal/Core/StackMiddleware/NegotiationMiddleware.php(51): Drupal\Core\StackMiddleware\ReverseProxyMiddleware->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#21 /app/web/core/lib/Drupal/Core/StackMiddleware/AjaxPageState.php(36): Drupal\Core\StackMiddleware\NegotiationMiddleware->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#22 /app/web/core/lib/Drupal/Core/StackMiddleware/StackedHttpKernel.php(51): Drupal\Core\StackMiddleware\AjaxPageState->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#23 /app/web/core/lib/Drupal/Core/DrupalKernel.php(741): Drupal\Core\StackMiddleware\StackedHttpKernel->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#24 /app/web/index.php(19): Drupal\Core\DrupalKernel->handle(Object(Symfony\Component\HttpFoundation\Request))
#25 {main}

This might be related to https://www.drupal.org/project/drupal/issues/3261924 🐛 Avoid warning from imagecreatefrompng when loading png with obscure iCCP profiles Needs work

🇪🇪Estonia tormi Tallinn

I followed platch's suggestion in #4, also created a separate static patch, didn't change the status (no tests yet).

🇪🇪Estonia tormi Tallinn

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

🇪🇪Estonia tormi Tallinn

Please enable `mailsystem` module, define defaults there and export configuration. That should do it.

🇪🇪Estonia tormi Tallinn

Linked somewhat related issue for visibility.

🇪🇪Estonia tormi Tallinn

Note that there's no EntityQueue class defined in ctools module.

I had a similar warning, but for LinkitProfile class:
Deprecated function: Creation of dynamic property LinkitProfile::$table is deprecated funktiossa ctools_export_load_object() (rivi 540 tiedostossa /app/web/sites/all/modules/contrib/ctools/includes/export.inc)..

The solution was to deal with LinkitProfile class in linkit module, see https://www.drupal.org/project/linkit/issues/3401666 🐛 Dynamic properties are deprecated in PHP 8.2 Needs review .

So, here we need to update the EntityQueue class in some contrib module.

Changing status to works as designed for now.

🇪🇪Estonia tormi Tallinn

Okay, this needs too much refactoring - getters and setters for every property. Let's use `AllowDynamicProperties` instead.

🇪🇪Estonia tormi Tallinn

Added a getter method to `scald.module` to retrieve the type. Let's see what tests are saying this time.

🇪🇪Estonia tormi Tallinn

In this patch, I've:

  • Removed the dynamic property assignments from the constructor.
  • Added protected properties for each of the class variables.
  • Added a setProperty() method to set properties.
  • Modified the constructor to use the setProperty() method to set properties.
🇪🇪Estonia tormi Tallinn

Installation section needs to be updated, too.

🇪🇪Estonia tormi Tallinn

I updated the timestamp comparison formula.

🇪🇪Estonia tormi Tallinn

@paulsheldrake looks interesting. Any reason to limit it to svg only?
I would use it to show inline small image for pre-loading purpouses.

Please don't! We had an incident of backups of the production database failing due to large `data:image` chunks in the database.

🇪🇪Estonia tormi Tallinn

Any ideas how to resolve this?

🇪🇪Estonia tormi Tallinn

I would keep Drush in composer update "drupal/core-*" drush/drush --with-all-dependencies. Remove Drush before update? section covers Jaypan's proposal.

🇪🇪Estonia tormi Tallinn

Patched D7 branch here: https://www.drupal.org/project/fastly/issues/3408149#comment-15356279 🐛 TypeError: in_array(): Argument #2 ($haystack) must be of type array, null given in in_array() Needs review .

🇪🇪Estonia tormi Tallinn

@irsar, what @smustgrave said in #196. I'm also trying to figure out if there's a version I can use for the latest D10.

🇪🇪Estonia tormi Tallinn

I think adding internal patches of contrib code to the project repository is not a good idea. Instead, I would introduce this approach - adding the relevant diff from MR as a static patch for composer builds. Check out a recent example:  https://www.drupal.org/project/embed/issues/3309747#comment-15251415 📌 Add CKEditor 5 compatibility and keep supporting CKEditor 4 RTBC

🇪🇪Estonia tormi Tallinn

Patch #3 has the wrong path: web/sites/default/modules/contrib/simplehtmldom/simplehtmldom.make.

🇪🇪Estonia tormi Tallinn

And another warning:

Warning: Trying to access array offset on value of type null in text_field_update() (line 346 of /app/web/sites/all/modules/contrib/scald/modules/fields/mee/mee.module).

🇪🇪Estonia tormi Tallinn

There's another similar error in the same file:

TypeError: Cannot access offset of type string on string in _mee_process_item_value() (line 826 of /app/web/sites/all/modules/contrib/scald/modules/fields/mee/mee.module).

🇪🇪Estonia tormi Tallinn

So I think it will be better to check the root cause why the serialized data are not an array, than mask this with a conversion.

Indeed, thanks.

Production build 0.71.5 2024