Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Contact form 7 froms stop working if dependency scripts are deferred after their latest update #3625

Closed
2 of 6 tasks
DahmaniAdame opened this issue Feb 27, 2021 · 36 comments · Fixed by #3629
Closed
2 of 6 tasks
Assignees
Labels
3rd party compatibility Issues related to 3rd party compatibility like theme, plugin or hosting effort: [XS] < 1 day of estimated development time module: defer JS priority: high Issues which should be resolved as quickly as possible type: bug Indicates an unexpected problem or unintended behavior
Milestone

Comments

@DahmaniAdame
Copy link
Contributor

DahmaniAdame commented Feb 27, 2021

Before submitting an issue please check that you’ve completed the following steps:

  • Made sure you’re on the latest version
  • Used the search feature to ensure that the bug hasn’t been reported before

Describe the bug
Contact Form 7 latest update added more dependencies to core WordPress JS libraries.
The form stops working if some of the libraries are deferred.

To Reproduce
Steps to reproduce the behavior:

  1. Enable CF7, create a form, add it to a page
  2. Enable WP Rocket JS deferring
  3. Check the page where the form was added for the browser console errors

Expected behavior
CF7 should work out of the box even if our deferring is working.

The following scripts need to be excluded from defering:

/wp-includes/js/dist/(.*).js

Screenshots
Error

Additional context
Contact form 7 has 5M+ installs.

Backlog Grooming (for WP Media dev team use only)

  • Reproduce the problem
  • Identify the root cause
  • Scope a solution
  • Estimate the effort
@DahmaniAdame
Copy link
Contributor Author

@DahmaniAdame DahmaniAdame changed the title Contact form 7 froms stop working dependency scripts are deferred after their latest update Contact form 7 froms stop working if dependency scripts are deferred after their latest update Feb 27, 2021
@NataliaDrause
Copy link
Contributor

Related: https://secure.helpscout.net/conversation/1437701881/242861/
but the mentioned files for the workaround are not present. Still checking this.

@engahmeds3ed
Copy link
Contributor

engahmeds3ed commented Mar 1, 2021

@wp-media/productrocket

I think we have two options here to be able to groom ( I gave them a try on weekend and those are my thoughts to be validated ):-

  1. We can exclude the pattern wp-includes/js/dist/(.*).js from being deferred as those files are libraries that for sure their functions would be called in the page itself.
  2. As I noticed, all those files inside dist directory is called using wp. (except for _ inside i18n) so we can defer all inline scripts which contains those patterns like what we do with jquery scripts by enclose them in DOMContentLoaded event listener.

What do you think?

@vmanthos
Copy link
Contributor

vmanthos commented Mar 1, 2021

This seems related to #2850 and:
#2318

Solution no 2, assuming that other scripts are not using wp., is better since 1 will flag those files as render-blocking on PageSpeed Insights.

@GeekPress GeekPress added 3rd party compatibility Issues related to 3rd party compatibility like theme, plugin or hosting module: defer JS priority: high Issues which should be resolved as quickly as possible labels Mar 1, 2021
@GeekPress
Copy link
Contributor

@vmanthos @engahmeds3ed Can we be sure that solution no 2 will work 100% of the time and it can't trigger another issue?

I agree with @vmanthos that solution no 1 isn't the way to go for us as it will flag these files as render-blocking and result in a worse PSI grade.

@GeekPress
Copy link
Contributor

GeekPress commented Mar 1, 2021

@vmanthos I forgot an important point. Until the JS files are located in the footer, they aren't considered as render-blocking!

You can try your self, put a JS file on the header with no defer, it will be reported as render-blocking on PSI. Put the same JS file in the footer without defer attribute, this JS won't be reported anymore as render-blocking on PSI.

@engahmeds3ed
Copy link
Contributor

@GeekPress If u mean putting those files in footer, I think this will lead to the same results as those files (functions/classes inside them) are used inside inline scripts so we will need to move those inlines also, is this what you mean here?

@GeekPress
Copy link
Contributor

@engahmeds3ed These files are already loaded into the footer.

@vmanthos
Copy link
Contributor

vmanthos commented Mar 1, 2021

@engahmeds3ed
Copy link
Contributor

So option 1 is valid ? or we need to give option 2 a try?

@GeekPress
Copy link
Contributor

Option 1 is valid but maybe without the regex to exclude all /dist/ files.

Based on the latest SG Optimizer version to fix this problem, we can exclude only these 3 scripts:
https://plugins.trac.wordpress.org/changeset/2481447/sg-cachepress/trunk/core/Front_End_Optimization/Front_End_Optimization.php

@engahmeds3ed
Copy link
Contributor

@GeekPress after testing that locally, the following is the final list of files to be excluded from deferring

'/wp-includes/js/dist/vendor/lodash(.min)?.js',
'/wp-includes/js/dist/api-fetch(.min)?.js',
'/wp-includes/js/dist/i18n(.min)?.js',
'/wp-includes/js/dist/vendor/wp-polyfill(.min)?.js',
'/wp-includes/js/dist/url(.min)?.js',

please check the following line

'api-fetch.js' => array('dependencies' => array('wp-i18n', 'wp-polyfill', 'wp-url'),

here
https://github.com/wordpress/wordpress-develop/blob/9ca0ce7275fdaea1b9635deeba6bd3f821529270/src/wp-includes/assets/script-loader-packages.php#L1

so I added url.js to the list als lodash.js is already there on SG code.

I will create PR now directly.

@NataliaDrause
Copy link
Contributor

Related: https://secure.helpscout.net/conversation/1438422069/242990?folderId=3864740

To confirm a comment above:

Until the JS files are located in the footer, they aren't considered as render-blocking!

I checked on one customer's site and the scripts were not mentioned as render-blocking when excluded from deferring.

@GeekPress
Copy link
Contributor

@engahmeds3ed Thanks for the info. Let's go with that approach :)

@GeekPress GeekPress added the type: bug Indicates an unexpected problem or unintended behavior label Mar 1, 2021
@Tabrisrp Tabrisrp added this to the 3.8.6 milestone Mar 1, 2021
engahmeds3ed added a commit that referenced this issue Mar 1, 2021
…red after latest update (PR #3629)

* exclude files from being deferred
* add hooks script to the exclude list
@Tabrisrp Tabrisrp mentioned this issue Mar 2, 2021
crystinutzaa added a commit that referenced this issue Mar 4, 2021
* Update wording in first activation notice on the dashboard (PR #3583)

Add automatically to match the description on the website. Also without it it sounds like WP Rocket would not know how to deal with the remaining 20%.

* Fixes #3590 Imagify icon not shown in Chrome (PR #3591)

* Translate /languages/rocket.pot in de_DE

translation completed updated for the source file '/languages/rocket.pot'
on the 'de_DE' language.

* Translate /languages/rocket.pot in de_DE

translation completed updated for the source file '/languages/rocket.pot'
on the 'de_DE' language.

* Translate /languages/rocket.pot in de_DE

translation completed updated for the source file '/languages/rocket.pot'
on the 'de_DE' language.

* Translate /languages/rocket.pot in de_DE

translation completed updated for the source file '/languages/rocket.pot'
on the 'de_DE' language.

* Translate /languages/rocket.pot in de_DE

translation completed updated for the source file '/languages/rocket.pot'
on the 'de_DE' language.

* Fixes #3498 Turn off "Delay JS" option when Safe Mode is activated (PR #3574)

* Fixes #3454 Delay JS is not working if scrolling the page with the mouse wheel (PR #3573)

* Closes #2839 Remove Age Verify plugin compatibility files (PR #3585)

* Closes #1744 Show warning when PageSpeed Ninja is active (PR #3580)

* Fixes #3238 Remove empty values in $purge_urls array (PR #3579)

* Fixes #2777 Update text formatting in Rocket Analytics modal (#3598)

* Closes #3113 Stop removing empty lines in the .htaccess (PR #3599)

* Fixes #3605 Replace deprecated jQuery methods (PR #3606)

* Translate /languages/rocket.pot in ru_RU

translation completed for the source file '/languages/rocket.pot'
on the 'ru_RU' language.

* Closes #3564 Update minified filename structure to use query string instead of version in filename (PR #3595)

* Fixes #3083 Update delay JS RegEx to ignore space inside script tags (PR #3587)

* Updating AWX webhook url

* Fixes #3576 Guard rocket_defer_inline_exclusions filter return when used by 3rd parties (PR #3582)

* Fixes #2970 Add new post-type exclusion "cms_block" from CPCSS generation (PR #3550)

* Closes #3423 Add preconnect tag for CDN URLs (#3463)

* Add add_preconnect_cdn() method

* Add integration test draft and notes.

* Implement preconnect for non-crossorigin cdn-urls

* Add fixture, adjust integration test

* Revise forcorrect cdn urls, use crossorigin second

* Run phpcbf

* Update CDN preconnect testcases

* Use agnostic scheme when not provided

* Rerun phpcs

* Clean dns-prefetch out of testcases :)

* Add testcase/solution for `test/tests`

* Closes #3539 Combine @import rules into the minified CSS files (PR #3603)

* update plugin version

* update pot file with changed strings

* Translate /languages/rocket.pot in de_DE

translation completed for the source file '/languages/rocket.pot'
on the 'de_DE' language.

* Translate /languages/rocket.pot in fr_FR

translation completed for the source file '/languages/rocket.pot'
on the 'fr_FR' language.

* Fix #3625 Contact form 7 stop working if dependency scripts are deferred after latest update (PR #3629)

* exclude files from being deferred
* add hooks script to the exclude list

* update translations

* Translate /languages/rocket.pot in tr_TR

translation completed for the source file '/languages/rocket.pot'
on the 'tr_TR' language.

Co-authored-by: Presskopp <cherrmann@gmx.de>
Co-authored-by: transifex-integration[bot] <43880903+transifex-integration[bot]@users.noreply.github.com>
Co-authored-by: Jonathan Buttigieg <jonathan@wp-media.me>
Co-authored-by: Jorge <jorgemartinezmenendez00@gmail.com>
Co-authored-by: Natalia Drause <60236665+NataliaDrause@users.noreply.github.com>
Co-authored-by: Caspar Green <cg@caspar.green>
Co-authored-by: Ahmed Saed <eng.ahmeds3ed@gmail.com>
Co-authored-by: Vasilis Manthos <vmanthos@users.noreply.github.com>
Co-authored-by: Albert Cintas <69654544+AlbertCintas@users.noreply.github.com>
Co-authored-by: Sandy Figueroa <sandyfigueroa@users.noreply.github.com>
Co-authored-by: Soponar Cristina <crystinutzaa@gmail.com>
@PCAviation
Copy link

Does this also solve the problem where the form stops working after 12-24 hours?

JavaScript was only half the problem with the CF7 update. The second problem is that the form will stop working after a period of time, due to the use of "nonces". Of course this can be solved by caching the entire website every 12-24 hours but that will degrade the value of an external cache like CloudFlare and CloudFlare Argo, making them somewhat useless.

@DahmaniAdame
Copy link
Contributor Author

@PCAviation the fix is specific to the new dependencies that CF7 is using. We will start to automatically exclude them.
We can't unfortunately do anything about the nonce needing to be renewed periodically. It's up to the CF7 developers to secure their form in a way that is compatible with page caching.
The only workaround is to renew the cache at an interval that is compatible with the nonce lifecycle using our Cache Lifespan feature.

@PCAviation
Copy link

@PCAviation the fix is specific to the new dependencies that CF7 is using. We will start to automatically exclude them.
We can't unfortunately do anything about the nonce needing to be renewed periodically. It's up to the CF7 developers to secure their form in a way that is compatible with page caching.
The only workaround is to renew the cache at an interval that is compatible with the nonce lifecycle using our Cache Lifespan feature.

Yes, I know. I'm simply pointing this out for future reference because a lot of people dealing with the CF7 plugin don't know that "JavaScript was only half the problem with the CF7 update".

I was also under the impression that JS minification also does not work with CF7. I had to disable BOTH JS "minification" and "deferring" to get CF7 to work. Do you know if that's the case?

@luckyankit
Copy link

I don't know why but wp-rocket team is taking decisions without taking into consideration that excluding such JS files from deferring are making a good impact on the pagespeed score. Taking the shortcut of just excluding rather than combining it in correct sequence is just a big lapse on the wp-rocket side. Many sites which I have optimized in past which were using contact-form-7 has observed a drop in mobile pagespeed score by 20-25 points after this latest update. Kindly revert this change and find the correct way of deferring these JS files in the correct sequence.

@PCAviation
Copy link

I don't know why but wp-rocket team is taking decisions without taking into consideration that excluding such JS files from deferring are making a good impact on the pagespeed score. Taking the shortcut of just excluding rather than combining it in correct sequence is just a big lapse on the wp-rocket side. Many sites which I have optimized in past which were using contact-form-7 has observed a drop in mobile pagespeed score by 20-25 points after this latest update. Kindly revert this change and find the correct way of deferring these JS files in the correct sequence.

This affects all Wordpress caching plugins not just WP-Rocket. The fault is with the author of the CF7.

@luckyankit
Copy link

then people can get rid of contact-form-7, rather than wp-rocket deciding to slow down thousands of sites to fix a very minor issue. And NO, it doesn't affect every cache plugin, Litespeed JS deferring does way better. Not only the pagespeed score has dropped, but the time to interact with the page has also increased and in some cases, LCP also increased. Well done!

@luckyankit
Copy link

@GeekPress Nice catch!
I've tried that with Contact Form 7 on my test site, and PSI didn't flag the files.

Related tickets
https://secure.helpscout.net/conversation/1438795814/243070
https://secure.helpscout.net/conversation/1439134214/243130
https://secure.helpscout.net/conversation/1438701667/243053
https://secure.helpscout.net/conversation/1438623587/243038

Those files become the part of critical render path. It shows up in the pagespeed tests!

@PCAviation
Copy link

then people can get rid of contact-form-7, rather than wp-rocket deciding to slow down thousands of sites to fix a very minor issue. And NO, it doesn't affect every cache plugin, Litespeed JS deferring does way better. Not only the pagespeed score has dropped, but the time to interact with the page has also increased and in some cases, LCP also increased. Well done!

The CF7 use of "nonces" also means the cache has to be refreshed every 24 hours or the form stops working. The only other alternative is only re-cache that single page every 24-hours or turn off caching on that page.

@luckyankit
Copy link

Exclude contact form page from caching. Simple!

@luckyankit
Copy link

It still won't justify the blunder the wp-rocket team did with excluding JS decision.

@GeekPress
Copy link
Contributor

I don't know why but wp-rocket team is taking decisions without taking into consideration that excluding such JS files from deferring are making a good impact on the pagespeed score.

@AkkiVerma These files aren't render-blocking at all as they are loading from the footer, and not the header as I mentioned here:
#3625 (comment)

And it has been validated by someone else of our team:
#3625 (comment)

You can be sure each time we are taking a decision, we are sure about the impact it could have on PSI grade and loading time.

@luckyankit
Copy link

I am talking about, those files gets added to critical render path, those are not render-blocking but still load in parallel, hence that affects the pagespeed score greatly as the JS start executing as soon as it loads. This needs to be changed!

@GeekPress
Copy link
Contributor

It doesn't affect your PSI at all as they are loaded from the footer...

@luckyankit
Copy link

It has affected already the PSI score, by 20-25 for mobile, no change for desktop. I am a speed expert and no one can tell better than me!

@GeekPress
Copy link
Contributor

GeekPress commented Mar 12, 2021

Sorry, I forgot we aren't « speed experts » too...

@luckyankit
Copy link

This is my full-time work and many sites using wp-rocket with contact form 7 have mobile scores dropped already. I have re-fixed them by charging again! Thanks to your blunder, I made some extra money out of it! haha

@luckyankit
Copy link

luckyankit commented Mar 12, 2021

I am sure you're a speed expert too, just wondering how you missed out on the part of the critical render path or the dropped PSI scores!

@GeekPress
Copy link
Contributor

As I said, JS files in the footer aren't render-blocking.

Take this video as you want:
https://share.getcloudapp.com/X6u9P0Rr

@luckyankit
Copy link

The things you're trying to show in the video, the JS files are not the same as what is added by the contact form 7.

Do you want to take a bet? I would show you that those JS added by contact form 7 affects the PSI score of mobile. PSI score dropped after you excluded those files in the latest update of wp-rocket. This is why my clients contacted me back to check what went wrong after the plugin update. Why the PSI score dropped. Otherwise, why would I even bother!

I don't monitor the changelog of any plugin, of what is being updated and whatnot. And again I am saying, those files become the part of critical rendering path yet not is render-blocking:

image

Please understand what JS gets loaded, starts executing immediately, leading to an increase of time to interact and some effect on FID too and hence the drop in page speed score.

@amiremami
Copy link

Hey guys and specially @GeekPress , thanks a lot for the best caching plugin : )

I also noticed about this change recently and contacted support team and they confirmed this is a new change in wp rocket.

So, for example this is before updating to latest version of the plugin:

https://gtmetrix.com/reports/www.angrybbq.com/mJysMHp4/

Now it's changed to:

https://gtmetrix.com/reports/www.angrybbq.com/yRcr0X7z/

On homepage, there isn't any contact form at all, so why excluding these assets somewhere the contact form is not using at all.

Do you think, you can provide any other solution for this?

Thanks again

@piotrbak
Copy link
Contributor

piotrbak commented Mar 15, 2021

On homepage, there isn't any contact form at all, so why excluding these assets somewhere the contact form is not using at all.

It's worth mentioning that CF7 is loading around 7 script files, even, if the form is not present on the page.

@GeekPress
Copy link
Contributor

@AkkiVerma I've just done some tests on multiple websites, and I got the exact same result. Whatever the JS files include the defer attribute or not doesn't impact the PSI grade until these files are inserted in the footer.

If you have different behavior, you have a different configuration.

The defer attribute change only one thing, the priority is set to low with defer and medium without. But as the JS files should be the latest files to load, it doesn't change in any way the loading order.

Thanks for trying to share your point, but I think we are going nowhere here.

then people can get rid of contact-form-7, rather than wp-rocket deciding to slow down thousands of sites to fix a very minor issue.

A quick clarification about that.

In any case, automatically excluding these files from Defer JS is the only solution we can provide. The problem should be fixed on Contact Form 7...

On our side, we don't want to break customer's websites. It's also our responsibility. If we don't exclude these files from being deferred, it will break the website. This isn't acceptable.

@amiremami Thanks for your feedback. You are using the outdated GT Metrix report. And indeed, on this one GT Metrix is checking if script tags contain the defer attribute. But it's the old report... And you should be focused on the new one which is using Lighthouse metrics (same as Google PageSpeed).

iCaspar pushed a commit that referenced this issue Mar 23, 2021
…red after latest update (PR #3629)

* exclude files from being deferred
* add hooks script to the exclude list
iCaspar added a commit that referenced this issue Mar 23, 2021
* Update wording in first activation notice on the dashboard (PR #3583)

Add automatically to match the description on the website. Also without it it sounds like WP Rocket would not know how to deal with the remaining 20%.

* Fixes #3590 Imagify icon not shown in Chrome (PR #3591)

* Translate /languages/rocket.pot in de_DE

translation completed updated for the source file '/languages/rocket.pot'
on the 'de_DE' language.

* Translate /languages/rocket.pot in de_DE

translation completed updated for the source file '/languages/rocket.pot'
on the 'de_DE' language.

* Translate /languages/rocket.pot in de_DE

translation completed updated for the source file '/languages/rocket.pot'
on the 'de_DE' language.

* Translate /languages/rocket.pot in de_DE

translation completed updated for the source file '/languages/rocket.pot'
on the 'de_DE' language.

* Translate /languages/rocket.pot in de_DE

translation completed updated for the source file '/languages/rocket.pot'
on the 'de_DE' language.

* Fixes #3498 Turn off "Delay JS" option when Safe Mode is activated (PR #3574)

* Fixes #3454 Delay JS is not working if scrolling the page with the mouse wheel (PR #3573)

* Closes #2839 Remove Age Verify plugin compatibility files (PR #3585)

* Closes #1744 Show warning when PageSpeed Ninja is active (PR #3580)

* Fixes #3238 Remove empty values in $purge_urls array (PR #3579)

* Fixes #2777 Update text formatting in Rocket Analytics modal (#3598)

* Closes #3113 Stop removing empty lines in the .htaccess (PR #3599)

* Fixes #3605 Replace deprecated jQuery methods (PR #3606)

* Translate /languages/rocket.pot in ru_RU

translation completed for the source file '/languages/rocket.pot'
on the 'ru_RU' language.

* Closes #3564 Update minified filename structure to use query string instead of version in filename (PR #3595)

* Fixes #3083 Update delay JS RegEx to ignore space inside script tags (PR #3587)

* Updating AWX webhook url

* Fixes #3576 Guard rocket_defer_inline_exclusions filter return when used by 3rd parties (PR #3582)

* Fixes #2970 Add new post-type exclusion "cms_block" from CPCSS generation (PR #3550)

* Closes #3423 Add preconnect tag for CDN URLs (#3463)

* Add add_preconnect_cdn() method

* Add integration test draft and notes.

* Implement preconnect for non-crossorigin cdn-urls

* Add fixture, adjust integration test

* Revise forcorrect cdn urls, use crossorigin second

* Run phpcbf

* Update CDN preconnect testcases

* Use agnostic scheme when not provided

* Rerun phpcs

* Clean dns-prefetch out of testcases :)

* Add testcase/solution for `test/tests`

* Closes #3539 Combine @import rules into the minified CSS files (PR #3603)

* update plugin version

* update pot file with changed strings

* Translate /languages/rocket.pot in de_DE

translation completed for the source file '/languages/rocket.pot'
on the 'de_DE' language.

* Translate /languages/rocket.pot in fr_FR

translation completed for the source file '/languages/rocket.pot'
on the 'fr_FR' language.

* Fix #3625 Contact form 7 stop working if dependency scripts are deferred after latest update (PR #3629)

* exclude files from being deferred
* add hooks script to the exclude list

* update translations

* Translate /languages/rocket.pot in tr_TR

translation completed for the source file '/languages/rocket.pot'
on the 'tr_TR' language.

Co-authored-by: Presskopp <cherrmann@gmx.de>
Co-authored-by: transifex-integration[bot] <43880903+transifex-integration[bot]@users.noreply.github.com>
Co-authored-by: Jonathan Buttigieg <jonathan@wp-media.me>
Co-authored-by: Jorge <jorgemartinezmenendez00@gmail.com>
Co-authored-by: Natalia Drause <60236665+NataliaDrause@users.noreply.github.com>
Co-authored-by: Caspar Green <cg@caspar.green>
Co-authored-by: Ahmed Saed <eng.ahmeds3ed@gmail.com>
Co-authored-by: Vasilis Manthos <vmanthos@users.noreply.github.com>
Co-authored-by: Albert Cintas <69654544+AlbertCintas@users.noreply.github.com>
Co-authored-by: Sandy Figueroa <sandyfigueroa@users.noreply.github.com>
Co-authored-by: Soponar Cristina <crystinutzaa@gmail.com>
iCaspar added a commit that referenced this issue Mar 23, 2021
* Update wording in first activation notice on the dashboard (PR #3583)

Add automatically to match the description on the website. Also without it it sounds like WP Rocket would not know how to deal with the remaining 20%.

* Fixes #3590 Imagify icon not shown in Chrome (PR #3591)

* Translate /languages/rocket.pot in de_DE

translation completed updated for the source file '/languages/rocket.pot'
on the 'de_DE' language.

* Translate /languages/rocket.pot in de_DE

translation completed updated for the source file '/languages/rocket.pot'
on the 'de_DE' language.

* Translate /languages/rocket.pot in de_DE

translation completed updated for the source file '/languages/rocket.pot'
on the 'de_DE' language.

* Translate /languages/rocket.pot in de_DE

translation completed updated for the source file '/languages/rocket.pot'
on the 'de_DE' language.

* Translate /languages/rocket.pot in de_DE

translation completed updated for the source file '/languages/rocket.pot'
on the 'de_DE' language.

* Fixes #3498 Turn off "Delay JS" option when Safe Mode is activated (PR #3574)

* Fixes #3454 Delay JS is not working if scrolling the page with the mouse wheel (PR #3573)

* Closes #2839 Remove Age Verify plugin compatibility files (PR #3585)

* Closes #1744 Show warning when PageSpeed Ninja is active (PR #3580)

* Fixes #3238 Remove empty values in $purge_urls array (PR #3579)

* Fixes #2777 Update text formatting in Rocket Analytics modal (#3598)

* Closes #3113 Stop removing empty lines in the .htaccess (PR #3599)

* Fixes #3605 Replace deprecated jQuery methods (PR #3606)

* Translate /languages/rocket.pot in ru_RU

translation completed for the source file '/languages/rocket.pot'
on the 'ru_RU' language.

* Closes #3564 Update minified filename structure to use query string instead of version in filename (PR #3595)

* Fixes #3083 Update delay JS RegEx to ignore space inside script tags (PR #3587)

* Updating AWX webhook url

* Fixes #3576 Guard rocket_defer_inline_exclusions filter return when used by 3rd parties (PR #3582)

* Fixes #2970 Add new post-type exclusion "cms_block" from CPCSS generation (PR #3550)

* Closes #3423 Add preconnect tag for CDN URLs (#3463)

* Add add_preconnect_cdn() method

* Add integration test draft and notes.

* Implement preconnect for non-crossorigin cdn-urls

* Add fixture, adjust integration test

* Revise forcorrect cdn urls, use crossorigin second

* Run phpcbf

* Update CDN preconnect testcases

* Use agnostic scheme when not provided

* Rerun phpcs

* Clean dns-prefetch out of testcases :)

* Add testcase/solution for `test/tests`

* Closes #3539 Combine @import rules into the minified CSS files (PR #3603)

* update plugin version

* update pot file with changed strings

* Translate /languages/rocket.pot in de_DE

translation completed for the source file '/languages/rocket.pot'
on the 'de_DE' language.

* Translate /languages/rocket.pot in fr_FR

translation completed for the source file '/languages/rocket.pot'
on the 'fr_FR' language.

* Fix #3625 Contact form 7 stop working if dependency scripts are deferred after latest update (PR #3629)

* exclude files from being deferred
* add hooks script to the exclude list

* update translations

* Translate /languages/rocket.pot in tr_TR

translation completed for the source file '/languages/rocket.pot'
on the 'tr_TR' language.

Co-authored-by: Presskopp <cherrmann@gmx.de>
Co-authored-by: transifex-integration[bot] <43880903+transifex-integration[bot]@users.noreply.github.com>
Co-authored-by: Jonathan Buttigieg <jonathan@wp-media.me>
Co-authored-by: Jorge <jorgemartinezmenendez00@gmail.com>
Co-authored-by: Natalia Drause <60236665+NataliaDrause@users.noreply.github.com>
Co-authored-by: Caspar Green <cg@caspar.green>
Co-authored-by: Ahmed Saed <eng.ahmeds3ed@gmail.com>
Co-authored-by: Vasilis Manthos <vmanthos@users.noreply.github.com>
Co-authored-by: Albert Cintas <69654544+AlbertCintas@users.noreply.github.com>
Co-authored-by: Sandy Figueroa <sandyfigueroa@users.noreply.github.com>
Co-authored-by: Soponar Cristina <crystinutzaa@gmail.com>
iCaspar added a commit that referenced this issue Mar 26, 2021
* Add Unit test Warmup/APIClient

* Add unit tests for Frontend APIClient

* Update comments with @uses for AbstractAPI coverage

* Fixes #3083 Update delay JS RegEx to ignore space inside script tags (PR #3587)

* Updating AWX webhook url

* Fixes #3576 Guard rocket_defer_inline_exclusions filter return when used by 3rd parties (PR #3582)

* Fixes #2970 Add new post-type exclusion "cms_block" from CPCSS generation (PR #3550)

* Closes #3423 Add preconnect tag for CDN URLs (#3463)

* Add add_preconnect_cdn() method

* Add integration test draft and notes.

* Implement preconnect for non-crossorigin cdn-urls

* Add fixture, adjust integration test

* Revise forcorrect cdn urls, use crossorigin second

* Run phpcbf

* Update CDN preconnect testcases

* Use agnostic scheme when not provided

* Rerun phpcs

* Clean dns-prefetch out of testcases :)

* Add testcase/solution for `test/tests`

* Closes #3539 Combine @import rules into the minified CSS files (PR #3603)

* update plugin version

* Fix #3625 Contact form 7 stop working if dependency scripts are deferred after latest update (PR #3629)

* exclude files from being deferred
* add hooks script to the exclude list

* Translate /languages/rocket.pot in de_DE

translation completed updated for the source file '/languages/rocket.pot'
on the 'de_DE' language.

* Translate /languages/rocket.pot in de_DE

translation completed updated for the source file '/languages/rocket.pot'
on the 'de_DE' language.

* Translate /languages/rocket.pot in de_DE

translation completed updated for the source file '/languages/rocket.pot'
on the 'de_DE' language.

* Translate /languages/rocket.pot in de_DE

translation completed updated for the source file '/languages/rocket.pot'
on the 'de_DE' language.

* Translate /languages/rocket.pot in de_DE

translation completed updated for the source file '/languages/rocket.pot'
on the 'de_DE' language.

* Translate /languages/rocket.pot in ru_RU

translation completed for the source file '/languages/rocket.pot'
on the 'ru_RU' language.

* update pot file with changed strings

* Translate /languages/rocket.pot in de_DE

translation completed for the source file '/languages/rocket.pot'
on the 'de_DE' language.

* Translate /languages/rocket.pot in fr_FR

translation completed for the source file '/languages/rocket.pot'
on the 'fr_FR' language.

* update translations

* Translate /languages/rocket.pot in tr_TR

translation completed for the source file '/languages/rocket.pot'
on the 'tr_TR' language.

* Exclude googleoptimize.com from minify/combine JS (PR #3609)

* Exclude www.idxhome.com from combine/defer JS (#3619)

* Exclude wcpv_registration_local from combine JS (PR #3634)

* Add additional inline JS exclusions from combine JS (PR #3638)

* Closes #2883 UI improvement for Never Cache URL placeholder (PR #3631)

* Bump elliptic from 6.5.3 to 6.5.4 (PR #3650)

Bumps [elliptic](https://github.com/indutny/elliptic) from 6.5.3 to 6.5.4.
- [Release notes](https://github.com/indutny/elliptic/releases)
- [Commits](indutny/elliptic@v6.5.3...v6.5.4)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Fixes #3528 Add AMP query string to cached query strings when activating the plugin (PR #3613)

* Tiered Pricing Table for WooCommerce nonce action exclusion (PR #3652)

* Closes #2812 Add new filter to rewrite srcset to the CDN (PR #3648)

* Fixes #2041 CDN: prevent incorrect URL on srcset with duplicated relative URLS (PR #3615)

* Fixes #3114 Apply font-display:swap to CPCSS (PR #3633)

* Fixes #3073 Remove content from attributes list for WebP conversion (PR #3607)

* Fixes #3394 PHP notice in Update_Subscriber::disable_auto_updates() (PR #3632)

* update version to 3.8.7

* v3.8.6 (#3623)

* Update wording in first activation notice on the dashboard (PR #3583)

Add automatically to match the description on the website. Also without it it sounds like WP Rocket would not know how to deal with the remaining 20%.

* Fixes #3590 Imagify icon not shown in Chrome (PR #3591)

* Translate /languages/rocket.pot in de_DE

translation completed updated for the source file '/languages/rocket.pot'
on the 'de_DE' language.

* Translate /languages/rocket.pot in de_DE

translation completed updated for the source file '/languages/rocket.pot'
on the 'de_DE' language.

* Translate /languages/rocket.pot in de_DE

translation completed updated for the source file '/languages/rocket.pot'
on the 'de_DE' language.

* Translate /languages/rocket.pot in de_DE

translation completed updated for the source file '/languages/rocket.pot'
on the 'de_DE' language.

* Translate /languages/rocket.pot in de_DE

translation completed updated for the source file '/languages/rocket.pot'
on the 'de_DE' language.

* Fixes #3498 Turn off "Delay JS" option when Safe Mode is activated (PR #3574)

* Fixes #3454 Delay JS is not working if scrolling the page with the mouse wheel (PR #3573)

* Closes #2839 Remove Age Verify plugin compatibility files (PR #3585)

* Closes #1744 Show warning when PageSpeed Ninja is active (PR #3580)

* Fixes #3238 Remove empty values in $purge_urls array (PR #3579)

* Fixes #2777 Update text formatting in Rocket Analytics modal (#3598)

* Closes #3113 Stop removing empty lines in the .htaccess (PR #3599)

* Fixes #3605 Replace deprecated jQuery methods (PR #3606)

* Translate /languages/rocket.pot in ru_RU

translation completed for the source file '/languages/rocket.pot'
on the 'ru_RU' language.

* Closes #3564 Update minified filename structure to use query string instead of version in filename (PR #3595)

* Fixes #3083 Update delay JS RegEx to ignore space inside script tags (PR #3587)

* Updating AWX webhook url

* Fixes #3576 Guard rocket_defer_inline_exclusions filter return when used by 3rd parties (PR #3582)

* Fixes #2970 Add new post-type exclusion "cms_block" from CPCSS generation (PR #3550)

* Closes #3423 Add preconnect tag for CDN URLs (#3463)

* Add add_preconnect_cdn() method

* Add integration test draft and notes.

* Implement preconnect for non-crossorigin cdn-urls

* Add fixture, adjust integration test

* Revise forcorrect cdn urls, use crossorigin second

* Run phpcbf

* Update CDN preconnect testcases

* Use agnostic scheme when not provided

* Rerun phpcs

* Clean dns-prefetch out of testcases :)

* Add testcase/solution for `test/tests`

* Closes #3539 Combine @import rules into the minified CSS files (PR #3603)

* update plugin version

* update pot file with changed strings

* Translate /languages/rocket.pot in de_DE

translation completed for the source file '/languages/rocket.pot'
on the 'de_DE' language.

* Translate /languages/rocket.pot in fr_FR

translation completed for the source file '/languages/rocket.pot'
on the 'fr_FR' language.

* Fix #3625 Contact form 7 stop working if dependency scripts are deferred after latest update (PR #3629)

* exclude files from being deferred
* add hooks script to the exclude list

* update translations

* Translate /languages/rocket.pot in tr_TR

translation completed for the source file '/languages/rocket.pot'
on the 'tr_TR' language.

Co-authored-by: Presskopp <cherrmann@gmx.de>
Co-authored-by: transifex-integration[bot] <43880903+transifex-integration[bot]@users.noreply.github.com>
Co-authored-by: Jonathan Buttigieg <jonathan@wp-media.me>
Co-authored-by: Jorge <jorgemartinezmenendez00@gmail.com>
Co-authored-by: Natalia Drause <60236665+NataliaDrause@users.noreply.github.com>
Co-authored-by: Caspar Green <cg@caspar.green>
Co-authored-by: Ahmed Saed <eng.ahmeds3ed@gmail.com>
Co-authored-by: Vasilis Manthos <vmanthos@users.noreply.github.com>
Co-authored-by: Albert Cintas <69654544+AlbertCintas@users.noreply.github.com>
Co-authored-by: Sandy Figueroa <sandyfigueroa@users.noreply.github.com>
Co-authored-by: Soponar Cristina <crystinutzaa@gmail.com>

* Fixes #3658 Force the PSR Container dependency to v1.0.0 (PR #3660)

* Add new inline JS exclusion from combine JS (PR #3683)

* Ignore Pinterest ads "pp" query string when serving the cache (PR #3682)

* Fix double space in renewal banner copy (PR #3674)

* Exclude reload_attached_coupons from combine JS (PR #3671)

* Exclude arf_footer_cl_logic_call from combine JS (PR #3665)

* Fix rest API tests fixtures (PR #3688)

* add details attribute to error data
* remove details attribute from error data and use assertArraySubset to make sure that needed attributes are there
* adjust the GH workflow to use WP 5.7
* adjust the GH workflow to use latest WP version always for non legacy

* Exclude nonce actions for Discount Rules and Dynamic Pricing for WooCommerce (PR #3679)

* update fixtures after typo fix

* Closes #3230 Add PHP 8 to our CI matrix (PR #3656)

* add PHP 8 to our CI matrix
* update composer configuration
* update phpstan-wp dependency version
* update phpunit package version
* update workflows
* only bailout if the provided structure is not empty
* update return typehint for setUp() and setUpBeforeClass()
* use Mockery for mocks instead of phpunit mocks
* remove separate process

* update version to 3.9-alpha1

* v3.8.6 (#3623)

* Update wording in first activation notice on the dashboard (PR #3583)

Add automatically to match the description on the website. Also without it it sounds like WP Rocket would not know how to deal with the remaining 20%.

* Fixes #3590 Imagify icon not shown in Chrome (PR #3591)

* Translate /languages/rocket.pot in de_DE

translation completed updated for the source file '/languages/rocket.pot'
on the 'de_DE' language.

* Translate /languages/rocket.pot in de_DE

translation completed updated for the source file '/languages/rocket.pot'
on the 'de_DE' language.

* Translate /languages/rocket.pot in de_DE

translation completed updated for the source file '/languages/rocket.pot'
on the 'de_DE' language.

* Translate /languages/rocket.pot in de_DE

translation completed updated for the source file '/languages/rocket.pot'
on the 'de_DE' language.

* Translate /languages/rocket.pot in de_DE

translation completed updated for the source file '/languages/rocket.pot'
on the 'de_DE' language.

* Fixes #3498 Turn off "Delay JS" option when Safe Mode is activated (PR #3574)

* Fixes #3454 Delay JS is not working if scrolling the page with the mouse wheel (PR #3573)

* Closes #2839 Remove Age Verify plugin compatibility files (PR #3585)

* Closes #1744 Show warning when PageSpeed Ninja is active (PR #3580)

* Fixes #3238 Remove empty values in $purge_urls array (PR #3579)

* Fixes #2777 Update text formatting in Rocket Analytics modal (#3598)

* Closes #3113 Stop removing empty lines in the .htaccess (PR #3599)

* Fixes #3605 Replace deprecated jQuery methods (PR #3606)

* Translate /languages/rocket.pot in ru_RU

translation completed for the source file '/languages/rocket.pot'
on the 'ru_RU' language.

* Closes #3564 Update minified filename structure to use query string instead of version in filename (PR #3595)

* Fixes #3083 Update delay JS RegEx to ignore space inside script tags (PR #3587)

* Updating AWX webhook url

* Fixes #3576 Guard rocket_defer_inline_exclusions filter return when used by 3rd parties (PR #3582)

* Fixes #2970 Add new post-type exclusion "cms_block" from CPCSS generation (PR #3550)

* Closes #3423 Add preconnect tag for CDN URLs (#3463)

* Add add_preconnect_cdn() method

* Add integration test draft and notes.

* Implement preconnect for non-crossorigin cdn-urls

* Add fixture, adjust integration test

* Revise forcorrect cdn urls, use crossorigin second

* Run phpcbf

* Update CDN preconnect testcases

* Use agnostic scheme when not provided

* Rerun phpcs

* Clean dns-prefetch out of testcases :)

* Add testcase/solution for `test/tests`

* Closes #3539 Combine @import rules into the minified CSS files (PR #3603)

* update plugin version

* update pot file with changed strings

* Translate /languages/rocket.pot in de_DE

translation completed for the source file '/languages/rocket.pot'
on the 'de_DE' language.

* Translate /languages/rocket.pot in fr_FR

translation completed for the source file '/languages/rocket.pot'
on the 'fr_FR' language.

* Fix #3625 Contact form 7 stop working if dependency scripts are deferred after latest update (PR #3629)

* exclude files from being deferred
* add hooks script to the exclude list

* update translations

* Translate /languages/rocket.pot in tr_TR

translation completed for the source file '/languages/rocket.pot'
on the 'tr_TR' language.

Co-authored-by: Presskopp <cherrmann@gmx.de>
Co-authored-by: transifex-integration[bot] <43880903+transifex-integration[bot]@users.noreply.github.com>
Co-authored-by: Jonathan Buttigieg <jonathan@wp-media.me>
Co-authored-by: Jorge <jorgemartinezmenendez00@gmail.com>
Co-authored-by: Natalia Drause <60236665+NataliaDrause@users.noreply.github.com>
Co-authored-by: Caspar Green <cg@caspar.green>
Co-authored-by: Ahmed Saed <eng.ahmeds3ed@gmail.com>
Co-authored-by: Vasilis Manthos <vmanthos@users.noreply.github.com>
Co-authored-by: Albert Cintas <69654544+AlbertCintas@users.noreply.github.com>
Co-authored-by: Sandy Figueroa <sandyfigueroa@users.noreply.github.com>
Co-authored-by: Soponar Cristina <crystinutzaa@gmail.com>

* Add integration test for Warmup\APIClient

* Adjust Warmup\APIClient fixture

* Adjust Warmup\APIClient unit test w/new fixture

* Add integration test Frontend\APIClient

* Modify Frontend\APIClient fixture for new test.

* Fix warmup APIClient fixture WPError case

* Add remaining testcases for Frontend APIClient

* Use actual returmed error codes in APIClients

* Refactor check_response()

* Refactor Unit tests for new Fixture

* Clean up fixture

* Refactor Warmup API Unit test for check_response()

* Restore odd removals

* Don’t alias Brain\Monkey\Functions

Co-authored-by: Vasilis Manthos <vmanthos@users.noreply.github.com>
Co-authored-by: Albert Cintas <69654544+AlbertCintas@users.noreply.github.com>
Co-authored-by: Ahmed Saed <eng.ahmeds3ed@gmail.com>
Co-authored-by: Sandy Figueroa <sandyfigueroa@users.noreply.github.com>
Co-authored-by: Rémy Perona <remperona@gmail.com>
Co-authored-by: transifex-integration[bot] <43880903+transifex-integration[bot]@users.noreply.github.com>
Co-authored-by: Adame Dahmani <hello@adame.io>
Co-authored-by: Jorge <jorgemartinezmenendez00@gmail.com>
Co-authored-by: Scott Hartley <45110039+ScottTravisHartley@users.noreply.github.com>
Co-authored-by: Natalia Drause <60236665+NataliaDrause@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Rémy Perona <remy@wp-rocket.me>
Co-authored-by: Presskopp <cherrmann@gmx.de>
Co-authored-by: Jonathan Buttigieg <jonathan@wp-media.me>
Co-authored-by: Soponar Cristina <crystinutzaa@gmail.com>
Co-authored-by: Cristina Soponar <45258937+crystinutzaa@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
3rd party compatibility Issues related to 3rd party compatibility like theme, plugin or hosting effort: [XS] < 1 day of estimated development time module: defer JS priority: high Issues which should be resolved as quickly as possible type: bug Indicates an unexpected problem or unintended behavior
Projects
None yet
10 participants