Skip to content

Extract completer function into matchAutocompleters#71417

Closed
USERSATOSHI wants to merge 4 commits intoWordPress:trunkfrom
USERSATOSHI:try/refine-autocompleter-when-matching
Closed

Extract completer function into matchAutocompleters#71417
USERSATOSHI wants to merge 4 commits intoWordPress:trunkfrom
USERSATOSHI:try/refine-autocompleter-when-matching

Conversation

@USERSATOSHI
Copy link
Copy Markdown
Contributor

What?

Solves Part of #30969

Refines Autocomplete matcher function into a separate function for better testability.
This allows the function to be tested as well as later can be compared when trying to optimize the completer.

Why?

Let's isolate the completer function to be unit testable. (Note that unit tests are much more useful and less fragile than a component test for this example case). Unit tests will allow us to document supported use cases and give us more confidence if we'd like to try a different matching algorithm.

This PR allows the completer function to be unit testable which is much less fragile and would allow to compare trade offs when trying different algorithms for performance optimization.

How?

This PR addresses this by extracting the completer into a separate function with unit tests and benchmarking script to test performance.
( Part 1 and 2 of the issue )

Testing Instructions

CI Unit tests should suffice.

@USERSATOSHI USERSATOSHI changed the title Extract completer function into AutoCompleter-matcher Extract completer function into matchAutocompleters Aug 29, 2025
@USERSATOSHI USERSATOSHI marked this pull request as ready for review September 12, 2025 12:43
@github-actions
Copy link
Copy Markdown

Warning: Type of PR label mismatch

To merge this PR, it requires exactly 1 label indicating the type of PR. Other labels are optional and not being checked here.

  • Type-related labels to choose from: [Type] Automated Testing, [Type] Breaking Change, [Type] Bug, [Type] Build Tooling, [Type] Code Quality, [Type] Copy, [Type] Developer Documentation, [Type] Enhancement, [Type] Experimental, [Type] Feature, [Type] New API, [Type] Task, [Type] Technical Prototype, [Type] Performance, [Type] Project Management, [Type] Regression, [Type] Security, [Type] WP Core Ticket, Backport from WordPress Core, Gutenberg Plugin, New Block.
  • Labels found: .

Read more about Type labels in Gutenberg. Don't worry if you don't have the required permissions to add labels; the PR reviewer should be able to help with the task.

@github-actions
Copy link
Copy Markdown

The following accounts have interacted with this PR and/or linked issues. I will continue to update these lists as activity occurs. You can also manually ask me to refresh this list by adding the props-bot label.

If you're merging code through a pull request on GitHub, copy and paste the following into the bottom of the merge commit message.

Co-authored-by: USERSATOSHI <tusharbharti@git.wordpress.org>

To understand the WordPress project's expectations around crediting contributors, please review the Contributor Attribution page in the Core Handbook.

@Mamaduka
Copy link
Copy Markdown
Member

Mamaduka commented Apr 2, 2026

Closing in favor of #76957. I've combined the props list in a new commit.

@Mamaduka Mamaduka closed this Apr 2, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants