Skip to content

Conversation

Mamaduka
Copy link
Member

What?

This is a small follow-up to #52686.

PR adds a static keyword to closures that don't use $this in the Footnotes block.

Why?

Since closures capture a reference to $this, memory leaks can ensue.

See #50723.

Testing Instructions

WP loads without an error.

@Mamaduka Mamaduka requested a review from ajitbohra as a code owner July 20, 2023 06:59
@Mamaduka Mamaduka requested review from mcsf, ellatrix and ramonjd and removed request for ajitbohra July 20, 2023 06:59
@Mamaduka Mamaduka self-assigned this Jul 20, 2023
@Mamaduka Mamaduka added [Type] Performance Related to performance efforts Backport to WP 6.8 Beta/RC Pull request that needs to be backported to the WordPress major release that's currently in beta [Block] Footnotes Affects the Footnotes Block labels Jul 20, 2023
@Mamaduka Mamaduka changed the title Footnotes: Use static closures when not using '' Footnotes: Use static closures when not using '$this' Jul 20, 2023
Copy link
Member

@ramonjd ramonjd left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

Footnotes work as expected
No errors in PHP logs

🍺

@Mamaduka
Copy link
Member Author

Thanks for testing, @ramonjd!

@Mamaduka Mamaduka merged commit 25489da into trunk Jul 20, 2023
@Mamaduka Mamaduka deleted the add/footnotes-static-closures branch July 20, 2023 09:04
@github-actions github-actions bot added this to the Gutenberg 16.4 milestone Jul 20, 2023
westonruter added a commit that referenced this pull request Jul 20, 2023
…ding-strategy

* origin/trunk: (59 commits)
  Promisify action creator return type for WP data dispatch (#52530)
  [RNMobile] Add WP hook for registering non-core blocks (#52791)
  removes check for active preview device type to enable the fixed toolbar preference (#52770)
  Enforce checks against redeclaration for functions and classes (#52696)
  update appearance tools, (#52785)
  Behaviors: Extend Global Styles API to read/write behaviors config. (#52370)
  HeaderToolbar - Update inserterMethod meta data (#52735)
  add options for debugging php unit tests (#52778)
  Docs: Interactivity API > Getting Started Guide - minor adjustments (#52786)
  Footnotes: Use static closures when not using '' (#52781)
  Improve slug generation & matching in request utils (#52414)
  Open "docs" folder for the Interactivity API package and Getting Started Guide (#52462)
  Global Styles: Don't use named arguments for 'sprintf' (#52782)
  E2E utils - Update locator to hide the keyboard on iOS to pick the first element, on iPad two buttons are available and the second one makes the floating keyboard to show up (#52771)
  Patterns: Reinstate template parts mode spec (#52780)
  chore(release): publish
  Update changelog files
  Patterns: Fix empty general template parts category (#52747)
  Add id to pattern inserted notice to stop multiple notices stacking (#52746)
  Site Editor: Fix site link accessibility issues (#52744)
  ...
@tellthemachines
Copy link
Contributor

I just cherry-picked this PR to the update/packages-RC2 branch to get it included in the next release: 5b8a1c5

@tellthemachines tellthemachines removed the Backport to WP 6.8 Beta/RC Pull request that needs to be backported to the WordPress major release that's currently in beta label Jul 24, 2023
tellthemachines added a commit that referenced this pull request Jul 24, 2023
* Filter out patterns that are not allowed in the inserter (#52675)

* Remove autofocus and improve placeholder text consistency. (#52634)

* Do not navigate to the styles pages unless you're in a random listing page (#52728)

* Patterns: Don't override the rootClientID  in create menu - only set if undefined (#52713)

* Footnotes: store in revisions (#52686)

* Fix: Block toolbar obscuring document tools when Top Toolbar is enabled (#52722)

* Update toolbar width

* Site editor needs specific width

* fixes top toolbar width for post editor when not in fullscreen

* remove the body rule

---------

Co-authored-by: Andrei Draganescu <andrei.draganescu@automattic.com>

* Site Editor: Fix site link accessibility issues (#52744)

* Add id to pattern inserted notice to stop multiple notices stacking (#52746)

* Global Styles: Don't use named arguments for 'sprintf' (#52782)

* Footnotes: Use static closures when not using '' (#52781)

* removes check for active preview device type to enable the fixed toolbar preference (#52770)

* Parser / Site Editor: Ensure autop is not run when freeform block is set to core/html (#52716)

* Parse / Site Editor: Ensure autop is not run when freeform block is set to core/html

* Switch to equals freeform instead of not equals core/html

* Rename core/test-freeform to core/freeform in tests

* Adding @SInCE annotation for relevant 6.3 changes. (#52820)

* Navigation: Load the raw property on the navigation fallback (#52758)

* Navigation: Load the raw property on the navigation fallback

* Update lib/compat/wordpress-6.3/navigation-fallback.php

Co-authored-by: Dave Smith <getdavemail@gmail.com>

* Update lib/compat/wordpress-6.3/navigation-fallback.php

Co-authored-by: Dave Smith <getdavemail@gmail.com>

* Add a test for these properties

* Update phpunit/class-gutenberg-rest-navigation-fallback-controller-test.php

Co-authored-by: Dave Smith <getdavemail@gmail.com>

* Update phpunit/class-gutenberg-rest-navigation-fallback-controller-test.php

Co-authored-by: Dave Smith <getdavemail@gmail.com>

* Update phpunit/class-gutenberg-rest-navigation-fallback-controller-test.php

Co-authored-by: Dave Smith <getdavemail@gmail.com>

* Update phpunit/class-gutenberg-rest-navigation-fallback-controller-test.php

Co-authored-by: Dave Smith <getdavemail@gmail.com>

* Update phpunit/class-gutenberg-rest-navigation-fallback-controller-test.php

Co-authored-by: Dave Smith <getdavemail@gmail.com>

* Update phpunit/class-gutenberg-rest-navigation-fallback-controller-test.php

Co-authored-by: Dave Smith <getdavemail@gmail.com>

* Update phpunit/class-gutenberg-rest-navigation-fallback-controller-test.php

Co-authored-by: Dave Smith <getdavemail@gmail.com>

* Update phpunit/class-gutenberg-rest-navigation-fallback-controller-test.php

Co-authored-by: Dave Smith <getdavemail@gmail.com>

* Update phpunit/class-gutenberg-rest-navigation-fallback-controller-test.php

Co-authored-by: Dave Smith <getdavemail@gmail.com>

* add more comments

* add necessary method

* Fix php coding standards error

---------

Co-authored-by: Dave Smith <getdavemail@gmail.com>
Co-authored-by: Jerry Jones <jones.jeremydavid@gmail.com>

* Allow styles to be changed dynamically through editor settings (#52767)

* ResizableFrame: Fix styling in Firefox (#52700)

* ResizableFrame: Fix styling in Firefox

* Remove unused class

* Patterns: Fix empty general template parts category (#52747)

---------

Co-authored-by: Glen Davies <glen.davies@automattic.com>

---------

Co-authored-by: Carolina Nymark <myazalea@hotmail.com>
Co-authored-by: Andrea Fercia <a.fercia@gmail.com>
Co-authored-by: Riad Benguella <benguella@gmail.com>
Co-authored-by: Glen Davies <glendaviesnz@users.noreply.github.com>
Co-authored-by: Ella <4710635+ellatrix@users.noreply.github.com>
Co-authored-by: James Koster <james@jameskoster.co.uk>
Co-authored-by: Andrei Draganescu <andrei.draganescu@automattic.com>
Co-authored-by: George Mamadashvili <georgemamadashvili@gmail.com>
Co-authored-by: Andrei Draganescu <me@andreidraganescu.info>
Co-authored-by: Andrew Serong <14988353+andrewserong@users.noreply.github.com>
Co-authored-by: Ramon <ramonjd@users.noreply.github.com>
Co-authored-by: Ben Dwyer <ben@scruffian.com>
Co-authored-by: Dave Smith <getdavemail@gmail.com>
Co-authored-by: Jerry Jones <jones.jeremydavid@gmail.com>
Co-authored-by: Lena Morita <lena@jaguchi.com>
Co-authored-by: Kai Hao <kevin830726@gmail.com>
Co-authored-by: Glen Davies <glen.davies@automattic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
[Block] Footnotes Affects the Footnotes Block [Type] Performance Related to performance efforts
Projects
No open projects
Development

Successfully merging this pull request may close these issues.

3 participants