This adds an is_dir() check in _get_block_templates_paths before trying to run a RecursiveDirectoryIterator to avoid errors being reported in New Relic even thought the errors should be handled by a try/catch block.
Follow-up to [57215].
Reviewed by jorbin.
Merges [57928] to the to the 6.5 branch.
Props iCaleb, sean212, mukesh27, joemcgill.
Fixes#60915.
Built from https://develop.svn.wordpress.org/branches/6.5@57947
git-svn-id: http://core.svn.wordpress.org/branches/6.5@57444 1a063a9b-81f0-0310-95a4-ce76da25c4cd
Due to some changes on the WP.com side to compress the requested images on the fly, the exact image size in the response could be different between platforms.
This commit aims to make the affected tests more reliable.
Follow-up to [139/tests], [31258], [34568], [47142], [57903], [57904], [57924].
Reviewed by jorbin.
Merges [57931] to the 6.5 branch.
Props peterwilsoncc, jorbin.
See #60865.
Built from https://develop.svn.wordpress.org/branches/6.5@57935
git-svn-id: http://core.svn.wordpress.org/branches/6.5@57436 1a063a9b-81f0-0310-95a4-ce76da25c4cd
Compose V2, which was first released in 2020, is included with all currently supported versions of Docker Desktop. Compose V1 stopped receiving updates in July 2023.
The biggest difference is that the command to interact with Compose changed from `docker-compose` to `docker compose`.
GitHub has now started removing V1 from Ubuntu & Windows images, which caused all Docker-based GitHub Actions workflows to fail.
This change migrates to the new `docker compose` command to address these failures.
Merges [57918] to the 6.5 branch.
Props swissspidy, thelovekesh.
See #60901.
Built from https://develop.svn.wordpress.org/branches/6.5@57927
git-svn-id: http://core.svn.wordpress.org/branches/6.5@57428 1a063a9b-81f0-0310-95a4-ce76da25c4cd
It appears that something has changed on the WP.com side to compress the requested images on the fly, which interfered with the previous expectations in these tests.
Follow-up to [139/tests], [31258], [47142].
Reviewed by audrasjb.
Merges [57903] and [57904] to the 6.5 branch.
Props dextorlobo, swissspidy, davidbaumwald, SergeyBiryukov.
Fixes#60865.
Built from https://develop.svn.wordpress.org/branches/6.5@57908
git-svn-id: http://core.svn.wordpress.org/branches/6.5@57409 1a063a9b-81f0-0310-95a4-ce76da25c4cd
With this change default shadow presets are never shown for classic themes, and classic themes have no options for adding custom ones.
This essentially reverts [57717] and [57827] / [57828], which had unintended consequences.
Reviewed by audrasjb.
Merges [57885] to the 6.5 branch.
Props ajlende, oandregal, madhudollu, swissspidy, get_dave, andrewserong, desrosj.
Fixes#60815.
Built from https://develop.svn.wordpress.org/branches/6.5@57889
git-svn-id: http://core.svn.wordpress.org/branches/6.5@57390 1a063a9b-81f0-0310-95a4-ce76da25c4cd
Addresses a regression introduced in [57605] where the “Select†button in the media modal was not clickable anymore due to an overlaid element.
Props ramonopoly, swissspidy, freewebmentor.
Reviewed by joedolson.
Merges [57881] to the 6.5 branch.
Fixes#33049.
Built from https://develop.svn.wordpress.org/branches/6.5@57884
git-svn-id: http://core.svn.wordpress.org/branches/6.5@57385 1a063a9b-81f0-0310-95a4-ce76da25c4cd
Relocate the upload of font files uploaded via the Font Library feature to the `wp-content/uploads/fonts` (or multisite equivalent) directory.
This accounts for immutable file systems in which directories are unable to be created within `wp-content` and deploy processes which require special consideration of the `uploads` directory to ensure it remains persistent between deploys.
Reviewed by davidbaumwald.
Merges [57878] to the 6.5 branch.
Props azaozz, burnuser, cbirdsong, christopherplus, costdev, davidbaumwald, desrosj, elrae, euthelup, get_dave, grantmkin, hellofromtonya, janthiel, jazzs3quence, johnbillion, jorbin, justlevine, kraftner, matveb, mcsf, mmaattiiaass, nico23, peterwilsoncc, priethor, rmccue, samuelsidler, swissspidy, youknowriad.
Fixes#60845.
Built from https://develop.svn.wordpress.org/branches/6.5@57880
git-svn-id: http://core.svn.wordpress.org/branches/6.5@57381 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This modifies the font directory API to more closely reflect the upload directory API to help account for naive filtering when uploading fonts.
This moves the protection of infinite loops to the new function `_wp_filter_font_directory()` to allow developers extending and maintaining the font library to apply the filter without the need for a closure.
These changes also ensure both the `upload_dir` and `font_dir` filter are applied consistently when both creating and deleting fonts faces. Prior to this commit the `upload_dir` filter was only fired when creating fonts faces via the REST API.
Applying the font directory filter to the `upload_dir` filter is now done by adding the `_wp_filter_font_directory` function rather than `wp_get_font_dir()`. Developers who have previously modified the font upload directory using the `font_dir` filter will NOT need to upload their code.
Extenders wishing to upload files to the font directory can do so via the code:
{{{#!php
<?php
add_filter( 'upload_dir', '_wp_filter_font_directory' );
// Your code to upload or sideload a font file.
remove_filter( 'upload_dir', '_wp_filter_font_directory' );
}}}
Introduces:
* `wp_font_dir()`: Attempt to create and retrieve the font upload directory. The equivalent to `wp_upload_dir()`.
* `_wp_filter_font_directory()`: To run on the `upload_dir` filter, this sets the default destination of the fonts directory and fires the `font_dir` filter.
`wp_get_font_dir()` has been modified to be a lightweight getter for the font directory. It returns the location without attempting to create it. The equivalent to `wp_get_upload_dir()`.
Follow up to [57740].
Reviewed by swissspidy.
Merges [57868] to the 6.5 branch.
Props peterwilsoncc, mukesh27, mikachan, costdev, mmaattiiaass, swissspidy, youknowriad, dd32, grantmkin.
Fixes#60652.
Built from https://develop.svn.wordpress.org/branches/6.5@57879
git-svn-id: http://core.svn.wordpress.org/branches/6.5@57380 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This changeset updates a translation string to ensure the "Patterns" menu item introduced in [57543] is translatable.
This quickfix simply removes the erroneous `context` parameter so no new string is introduced during WP 6.5 string freeze period. A follow-up changeset will be needed to replace the current `__()` function with `_x()` and put back the `context` parameter.
Follow-up to [57543].
Reviewed by swissspidy.
Merges [57864] to the to the 6.5 branch.
Props jdy68, audrasjb, kebbet, swissspidy.
Fixes#60825.
Built from https://develop.svn.wordpress.org/branches/6.5@57866
git-svn-id: http://core.svn.wordpress.org/branches/6.5@57367 1a063a9b-81f0-0310-95a4-ce76da25c4cd
Follow up to [57687]. If no icons of the preferred type are available, then the icon array should return the collection of valid icons found, rather than an empty array.
Props dglingren, sabernhardt, swissspidy, sabernhardt, antpb, joedolson.
Reviewed by swissspidy.
Merges [57845] to the 6.5 branch.
Fixes#60740.
Built from https://develop.svn.wordpress.org/branches/6.5@57846
git-svn-id: http://core.svn.wordpress.org/branches/6.5@57347 1a063a9b-81f0-0310-95a4-ce76da25c4cd
Ensures parity with the `script_loader_src` filter for regular scripts, allowing the URL to be filtered, for example to load them from a CDN or alter query parameters.
Reviewed by swissspidy.
Merges [57840] to the to the 6.5 branch.
Props dd32, peterwilsoncc, westonruter.
Fixes#60742.
Built from https://develop.svn.wordpress.org/branches/6.5@57844
git-svn-id: http://core.svn.wordpress.org/branches/6.5@57345 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This prunes stores and configurations that are empty arrays, as stores are expected to be JSON objects.
By not printing empty configurations, less redundant data is serialized into the HTML.
Reviewed by gziolo.
Merges [57841] to the to the 6.5 branch.
Props jonsurrell, luisherranz, darerodz, gziolo, swissspidy.
Fixes#60761.
Built from https://develop.svn.wordpress.org/branches/6.5@57843
git-svn-id: http://core.svn.wordpress.org/branches/6.5@57344 1a063a9b-81f0-0310-95a4-ce76da25c4cd
Adds an explicit 1 hour expiration for the translation file cache introduced in [57287] / #58919.
This prevents stale caches when a site does not use the regular way of installing language packs, for example when an atomic filesystem is involved.
Also configures the translation_files group as a global cache group on multisite.
Reviewed by swissspidy.
Merges [57831] to the to the 6.5 branch.
Props dd32.
Fixes#60764.
Built from https://develop.svn.wordpress.org/branches/6.5@57838
git-svn-id: http://core.svn.wordpress.org/branches/6.5@57339 1a063a9b-81f0-0310-95a4-ce76da25c4cd
Resolves an issue where context on a void tag element such as `<img>` was incorrectly passed to following elements.
Adds tests.
Reviewed by gziolo.
Merges [57832] to the to the 6.5 branch.
Props santosguillamot, luisherranz, cbravobernal, dmsnell, gziolo, swissspidy.
Fixes#60768.
Built from https://develop.svn.wordpress.org/branches/6.5@57834
git-svn-id: http://core.svn.wordpress.org/branches/6.5@57335 1a063a9b-81f0-0310-95a4-ce76da25c4cd
Use a priority of 100 to ensure that other filters can add additional directives before the processing starts.
This way, directives will be processed even if the $parsed_block variable is edited by a filter.
Reviewed by gziolo.
Merges [57826] to the to the 6.5 branch.
Props cbravobernal, swissspidy, flixos90, joemcgill, gziolo.
Fixes#60743.
Built from https://develop.svn.wordpress.org/branches/6.5@57830
git-svn-id: http://core.svn.wordpress.org/branches/6.5@57331 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This is a follow-up to [57717] to ensure that classic themes without a `theme.json` file or without `appearanceTools: true` in `theme.json` do not have shadow controls by default.
Reviewed by youknowriad.
Merges [57827] to the to the 6.5 branch.
Props wildworks, vcanales, madhudollu, swissspidy, youknowriad.
Fixes#60633
Built from https://develop.svn.wordpress.org/branches/6.5@57828
git-svn-id: http://core.svn.wordpress.org/branches/6.5@57329 1a063a9b-81f0-0310-95a4-ce76da25c4cd
Short-circuits directive processing when the markup does not actually contain any `data-wp-*` attributes.
This reduces function calls and memory usage for the best case scenario due to not involving `WP_HTML_Tag_Processor`.
Reviewed by gziolo, swissspidy.
Merges [57824] to the to the 6.5 branch.
Props joemcgill, swissspidy, gziolo, cbravobernal, flixos90.
Fixes#60749.
Built from https://develop.svn.wordpress.org/branches/6.5@57825
git-svn-id: http://core.svn.wordpress.org/branches/6.5@57326 1a063a9b-81f0-0310-95a4-ce76da25c4cd
When encountering text nodes in an HTML document, the HTML parser needs
to run the active format reconstruction algorithm, even if it doesn't
stop to visit those text nodes. This is because the formats, which might
need reconstructing, will impact the breadcrumbs of all downstream nodes
from the text node.
In this patch, this process is triggered, which properly triggers the
active format reconstruction. It also enables the visiting of other token
types as is possible in the Tag Processor.
Developed in https://github.com/WordPress/wordpress-develop/pull/6054
Discussed in https://core.trac.wordpress.org/ticket/60170
Reviewed by swissspidy.
Merges [57806] to the to the 6.5 branch.
Props: dmsnell, jonsurrell, westonruter.
Fixes: #60455.
Follow-up to: [57348].
Built from https://develop.svn.wordpress.org/branches/6.5@57823
git-svn-id: http://core.svn.wordpress.org/branches/6.5@57324 1a063a9b-81f0-0310-95a4-ce76da25c4cd
When making repeated updates to a document, the Tag Processor will end
up copying the entire document once for every update. This can lead to
catastrophic behavior in the worse case.
However, when batch-applying updates it's able to copy chunks of the
document in one thread and only end up copying the entire document once
for the entire batch.
Previously the Tag Processor has been eagerly applying udpates, but in
this patch it defers applying those updates as long as is possible.
Developed in https://github.com/WordPress/wordpress-develop/pull/6120
Discussed in https://core.trac.wordpress.org/ticket/60697
Follow-up to [55706], [56941], [57348].
Reviewed by swissspidy.
Merges [57805] to the to the 6.5 branch.
Props dmsnell, bernhard-reiter, jonsurrell, westonruter.
Fixes#60697.
Built from https://develop.svn.wordpress.org/branches/6.5@57815
git-svn-id: http://core.svn.wordpress.org/branches/6.5@57316 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This removes settings that are the default value or required for side-loading from the `WP_REST_Font_Faces_Controller::handle_font_file_upload()`.
This is to harden the endpoint and future proof against any changes to `wp_handle_upload()` and related functions/security checks.
Reviewed by swissspidy, audrasjb.
Merges [57804] to the to the 6.5 branch.
Props peterwilsoncc, dd32.
Fixes#60741.
Built from https://develop.svn.wordpress.org/branches/6.5@57813
git-svn-id: http://core.svn.wordpress.org/branches/6.5@57314 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This changeset removes the "Pattern overrides" section from features.
Also updates the field guide link, this link should redirect correctly once the post is published.
Follow-up to [57715], [57767].
Reviewed by audrasjb.
Merges [57809] to the to the 6.5 branch.
Props ryelle, benjamin_zekavica, richtabor, laurlittle.
See #60303.
Built from https://develop.svn.wordpress.org/branches/6.5@57810
git-svn-id: http://core.svn.wordpress.org/branches/6.5@57311 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This changeset switches back the admin menu items `height` property to `px` unit to prevent issues with themes using `html { font-size: 62.5%; }`.
Follow-up to [57765].
Reviewed by swissspidy.
Merges [57792] to the to the 6.5 branch.
Props bgnicolepaschen, sabernhardt, huzaifaalmesbah, ironprogrammer, shailu25, mohonchandra.
Fixes#60707.
See #43633.
Built from https://develop.svn.wordpress.org/branches/6.5@57808
git-svn-id: http://core.svn.wordpress.org/branches/6.5@57309 1a063a9b-81f0-0310-95a4-ce76da25c4cd
Resetting the `$wp_current_filter` global during test teardown is unnecessary, as it is taken care of by the unit test's base class.
This changeset removes the reset accordingly.
Follow-up [57790].
Reviewed by swissspidy.
Merges [57799] to the to the 6.5 branch.
Props swissspidy, timothyblynjacobs.
See #60671.
Built from https://develop.svn.wordpress.org/branches/6.5@57803
git-svn-id: http://core.svn.wordpress.org/branches/6.5@57304 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This changeset adds a new `rest_pre_insert_{$this->post_type}` filter in the `WP_REST_Templates_Controller`, where it is applied to the return value of the `prepare_item_for_database` method. (This is consistent with the `WP_REST_Post_Controller`, where that filter has existed before.)
The new filter is then used to inject hooked blocks into the template (or template part) content received via the endpoint, prior to persisting it to the database.
This supersedes the previous mechanism, which was using the `rest_after_insert_{$this->post_type}` ''action'', from which it performed an additional `wp_update_post` call to update the template (part) content with the hooked blocks injected. The new technique eschews that additional call and the resulting extra revision it created, as well as a problem with regard to duplicated escaping and sanitization, which had caused some special characters to be garbled.
Reviewed by swissspidy.
Merges [57790] to the to the 6.5 branch.
Props tomjcafferkey, gziolo, swissspidy, karolmanijak.
Fixes#60671.
Built from https://develop.svn.wordpress.org/branches/6.5@57802
git-svn-id: http://core.svn.wordpress.org/branches/6.5@57303 1a063a9b-81f0-0310-95a4-ce76da25c4cd