Problem/Motivation

Hello project maintainers,

This is an automated issue to help make this module compatible with Drupal 10.

To read more about this effort by the Drupal Association, please read: The project update bot is being refreshed to support Drupal 10 readiness of contributed projects

Patches will periodically be added to this issue that remove Drupal 10 deprecated API uses. To stop further patches from being posted, change the status to anything other than Active, Needs review, Needs work or Reviewed and tested by the community. Alternatively, you can remove the "ProjectUpdateBotD10" tag from the issue to stop the bot from posting updates.

The patches will be posted by the Project Update Bot official user account. This account will not receive any issue credit contributions for itself or any company.

Proposed resolution

You have a few options for how to use this issue:

  1. Accept automated patches until this issue is closed

    If this issue is left open (status of Active, Needs review, Needs work or Reviewed and tested by the community) and the "ProjectUpdateBotD10" tag is left on this issue, new patches will be posted periodically if new deprecation fixes are needed.

    As the Drupal Rector project improves and is able to fix more deprecated API uses, the patches posted here will cover more of the deprecated API uses in the module.

    Patches and/or merge requests posted by others are ignored by the bot, and general human interactions in the issue do not stop the bot from posting updates, so feel free to use this issue to refine bot patches. The bot will still post new patches then if there is a change in the new generated patch compared to the patch that the bot posted last. Those changes are then up to humans to integrate.

  2. Leave open but stop new automated patches.

    If you want to use this issue as a starting point to remove deprecated API uses but then don't want new automated patches, remove the "ProjectUpdateBotD10" tag from the issue and use it like any other issue (the status does not matter then). If you want to receive automated patches again, add back the "ProjectUpdateBotD10" tag.

  3. Close it and don't use it

    If the maintainers of this project don't find this issue useful, they can close this issue (any status besides Active, Needs review, Needs work and Reviewed and tested by the community) and no more automated patches will be posted here.

    If the issue is reopened, then new automated patches will be posted.

    If you are using another issue(s) to work on Drupal 10 compatibility it would be very useful to other contributors to add those issues as "Related issues" when closing this issue.

Remaining tasks

Using the patches

  1. Apply the latest patch in the comments by Project Update Bot or human contributors that made it better.
  2. Thoroughly test the patch. These patches are automatically generated so they haven't been tested manually or automatically.
  3. Provide feedback about how the testing went. If you can improve the patch, post an updated patch here.

Providing feedback

If there are problems with one of the patches posted by the Project Update Bot, such as it does not correctly replace a deprecation, you can file an issue in the Drupal Rector issue queue. For other issues with the bot, for instance if the issue summary created by the bot is unclear, use the Project analysis issue queue.

Issue fork fast_404-3287465

Command icon Show commands

Start within a Git clone of the project using the version control instructions.

Or, if you do not have SSH keys set up on git.drupalcode.org:

  • seeds Comparecompare
  • 8.x-2.x Comparecompare
  • 3287465-automated-drupal-10 Comparechanges, plain diff MR !5

Comments

Project Update Bot created an issue. See original summary.

project update bot’s picture

Status: Active » Needs review
StatusFileSize
new1.56 KB

This is an automated patch generated by Drupal Rector. Please see the issue summary for more details.

It is important that any automated tests available are run with this patch and that you manually test this patch.

Drupal 10 Compatibility

According to the Upgrade Status module, even with this patch, this module is not yet compatible with Drupal 10.

Currently Drupal Rector, version 0.12.0, cannot fix all Drupal 10 compatibility problems.

This patch does not update the info.yml file for Drupal 10 compatibility.

Leaving this issue open, even after committing the current patch, will allow the Project Update Bot to post additional Drupal 10 compatibility fixes as they become available in Drupal Rector.

Debug info

Bot run #127

This patch was created using these packages:

  1. mglaman/phpstan-drupal: 1.1.9
  2. palantirnet/drupal-rector: 0.12.0
project update bot’s picture

This is an automated patch generated by Drupal Rector. Please see the issue summary for more details.

It is important that any automated tests available are run with this patch and that you manually test this patch.

Drupal 10 Compatibility

According to the Upgrade Status module, even with this patch, this module is not yet compatible with Drupal 10.

Currently Drupal Rector, version 0.13.0, cannot fix all Drupal 10 compatibility problems.

This patch does not update the info.yml file for Drupal 10 compatibility.

Leaving this issue open, even after committing the current patch, will allow the Project Update Bot to post additional Drupal 10 compatibility fixes as they become available in Drupal Rector.

Debug info

Bot run #139

This patch was created using these packages:

  1. mglaman/phpstan-drupal: 1.1.24
  2. palantirnet/drupal-rector: 0.13.0
project update bot’s picture

StatusFileSize
new931 bytes
new7.95 KB

This is an automated patch generated by Drupal Rector. Please see the issue summary for more details.

It is important that any automated tests available are run with this patch and that you manually test this patch.

Drupal 10 Compatibility

According to the Upgrade Status module, even with this patch, this module is not yet compatible with Drupal 10.

Currently Drupal Rector, version 0.13.1, cannot fix all Drupal 10 compatibility problems.

This patch does not update the info.yml file for Drupal 10 compatibility.

Leaving this issue open, even after committing the current patch, will allow the Project Update Bot to post additional Drupal 10 compatibility fixes as they become available in Drupal Rector.

Debug info

Bot run #145

This patch was created using these packages:

  1. mglaman/phpstan-drupal: 1.1.25
  2. palantirnet/drupal-rector: 0.13.1
shamir.vs’s picture

Hi, Patch #4 applied successfully, but the patch was incompatible with Drupal 10.
Providing a patch to make the module compatible with Drupal 10.
Please review

robloach’s picture

Status: Needs review » Reviewed & tested by the community

Installed properly! Nicely done.

kristen pol’s picture

@shamir.vs and/or @RobLoach Curious if you were working on this as part of the Drupal 10 Global Porting Day?

project update bot’s picture

Issue summary: View changes
rajab natshah’s picture

Priority: Normal » Major
Issue summary: View changes
rajab natshah’s picture

Thank you for having time to maintained the Fast 404 module.
an important module for performance.

Hoping for a soft commit on the 8.x-2.x branch. To ease with further testing under Drupal 10
Testing now with git clone git@git.drupal.org:project/fast_404.git

Had real physical testing round for Fast 404 with Drupal ~10

composer create-project drupal/recommended-project:~10 /var/www/html/sandboxes/drupal10fast_404__test
cd /var/www/html/sandboxes/drupal10fast_404__test/
composer require drush/drush:~11.0;

cd /var/www/html/sandboxes/drupal10fast_404__test/web/modules
git clone git@git.drupal.org:project/fast_404.git
cd fast_404/
git fetch origin
git checkout 8.x-2.x

Get the patch and apply it under Drupal 10 site. ( to be able to enable )

wget https://www.drupal.org/files/issues/2022-08-26/3287465-automated-drupal-10-compatibility-fixes-5.patch
git apply 3287465-automated-drupal-10-compatibility-fixes-5.patch
rm 3287465-automated-drupal-10-compatibility-fixes-5.patch

Change file/directory mod and ownership of files:

cd /var/www/html/sandboxes/drupal10fast_404__test/
sudo chmod 775 -R .;sudo chown www-data:$USER -R .;

Install with Drush

./vendor/drush/drush/drush site:install standard --yes --site-name="Fast 404 - Real physical testing with Drupal ~10" --account-name="webmaster" --account-pass="d" --account-mail="test@drupal.org" --db-url="mysql://root:123___@localhost/sandboxes_drupal10fast_404__test" -vvv ;
./vendor/drush/drush/drush pm:enable fast404
[success] Successfully enabled: fast404

Rebuild the cache:

sudo chmod 775 -R .;sudo chown www-data:$USER -R .;
./vendor/drush/drush/drush cache:rebuild

Open a browser and change the address to:
http://localhost/sandboxes/drupal10fast_404__test/web/no-page
The following Page not found page will show up

On having the following in the settings.php file

/**
 * Subscribe to NotFoundHttpException event.
 *
 * The Fast 404 Event subscriber can listen to the NotFoundHttpException event
 * to completely replace the Drupal 404 page.
 *
 * By default, Fast 404 only listens to KernelRequest event. If a user hits a
 * valid path, but another module intervenes and returns a NotFoundHttpException
 * exception, e.g. m4032404 module, the native Drupal 404 page is returned
 * instead of the Fast 404 page.
 *
 * Default value for this setting is FALSE.
 */
$settings['fast404_not_found_exception'] = TRUE;

/**
 * Default Fast 404 error message.
 *
 * Default value for this setting is shown below. The '@path' token will be
 * replaced by the the path being requested relative to the executed script.
 */
$settings['fast404_html'] = '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML+RDFa 1.0//EN" "http://www.w3.org/MarkUp/DTD/xhtml-rdfa-1.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><title>404 Not Found</title></head><body><h1>Not Found</h1><p>The requested URL "@path" was not found on this server.</p></body></html>';

Rebuild the cache:

sudo chmod 775 -R .;sudo chown www-data:$USER -R .;
./vendor/drush/drush/drush cache:rebuild

Navigate to http://localhost/sandboxes/drupal10fast_404__test/web/no-page or reload the URL in the browser
The following fast 404 page will show up
 4040 Not found page with fast 404

rajab natshah’s picture

Priority: Major » Critical
rajab natshah’s picture

Hoping for a soft commit and a soft tag release ( pre-release ), to speed up update testing with Drupal 10

rajab natshah’s picture

pcate’s picture

+1 RTBC. The patch applied cleanly and fixed D10 compatibility issues.

jeremy.sloan’s picture

PCate which fast_404 version are you using? I am using 2.0.0-alpha6 and the patch doesn't apply.

pcate’s picture

PCate which fast_404 version are you using? I am using 2.0.0-alpha6 and the patch doesn't apply.

I applied it the 8.x-2.x branch.

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

yahyaalhamad’s picture

I created an issue fork using the patch, to use it:

Use this in your composer.json:

        {
            "type": "composer",
            "url": "https://packages.drupal.org/8",
            "exclude": [
                "drupal/fast_404"
            ]
        },
        {
            "type": "git",
            "url": "https://git.drupalcode.org/issue/fast_404-3287465.git"
        }

Install fast_404 from the issue fork.
composer require 'drupal/fast_404:dev-3287465-automated-drupal-10'

fabsgugu’s picture

This MR can be accepted?
It would be nice to release a new version with this commit.

edmund.dunn’s picture

Posting the static patch because using the MR doesn't allow pinning to a specific commit, so anyone can submit pretty much anything and inject it into our codebase IIRC. This also fixed our issue.

edmund.dunn’s picture

Never mind, it doesn't apply using composer. My apologies.

edmund.dunn’s picture

This applies cleanly via composer. I had to take out the portion that applied to fast_404.info.yml. If anyone can get that working via composer it would be super helpful!

The relevant change would be:
core_version_requirement: ^8.8 || ^9 || ^10

edmund.dunn’s picture

StatusFileSize
new428 bytes

Found the solution. https://www.drupal.org/project/drupal/issues/3036459#comment-14836380 I had to add it in a separate patch file. But it installs cleanly.

ershov.andrey’s picture

Fix for 8.x-2.0-alpha6

joseph.olstad’s picture

  • joseph.olstad committed 435102af on 8.x-2.x
    Issue #3287465 by YahyaAlHamad, Project Update Bot, edmund.dunn, ershov....
joseph.olstad’s picture

Status: Reviewed & tested by the community » Fixed

Status: Fixed » Closed (fixed)

Automatically closed - issue fixed for 2 weeks with no activity.