Page MenuHomePhabricator

Search suggestions hang indefinitely in Vector 2022 and MinervaNeue on MediaWiki 1.45.1 (Windows + Nginx + PHP‑FPM + MariaDB)
Closed, DeclinedPublicBUG REPORT

Description

Steps to replicate the issue:
Install MediaWiki 1.45.1 on Windows with Nginx, PHP-FPM (FastCGI), and MariaDB.
Enable Vector and MinervaNeue skins.
Enable CirrusSearch and Elastica.
Load any page using Vector 2022 or MinervaNeue.
Type anything into the search bar.

What happens:
The search suggestion spinner appears and stays indefinitely.
No suggestions ever load.
No JavaScript errors appear.
No network errors appear.
The search API works when called directly.
Legacy skins (Vector 2010, MonoBook, Timeless) show suggestions normally.

What should have happened instead:
Search suggestions should appear normally when typing in the search bar.

Software version (from Special:Version):
MediaWiki 1.45.1
Windows
Nginx (running as a Windows service)
PHP-FPM / FastCGI (running as a Windows service)
MariaDB
OpenSearch (running as a Windows service)

Other information:
Browsers tested: Chrome and Firefox.
All ResourceLoader modules load with HTTP 200 and valid JavaScript.
CirrusSearch backend is reachable and indexed.
Search API returns valid JSON.
Issue affects only Vector 2022 and MinervaNeue.
Legacy skins work normally.

Troubleshooting already attempted:
Vector and Minerva:
Forced Vector 2022 explicitly.
Disabled A/B testing.
Enabled responsive mode.
Verified correct body class “skin-vector-2022”.
Verified startup module loads (“client-js” present).
Verified DOM structure.
Verified Vue search component loads.
Verified no duplicate IDs.
Verified no malformed HTML.

Caching:
Switched from CACHE_NONE to CACHE_DB for all caches.
Restarted PHP-FPM.
Cleared browser cache.
Set wgCacheEpoch.

Nginx and PHP:
Increased FastCGI buffers.
Disabled proxy buffering.
Increased gzip buffers.
Verified no JavaScript truncation.
Verified correct MIME types.
Verified no output before HTML.
Verified no BOM in LocalSettings.php..
Verified no PHP warnings or notices.
Verified no CSP issues.
Verified no mixed content.
Verified no blocked requests.

ResourceLoader:
Verified all JavaScript modules load with HTTP 200.
Verified startup module executes.
Verified no missing dependencies.
Verified no JavaScript errors in console.
Verified no ResourceLoader debug warnings.
Verified ES6 Vector modules are bundled inside ResourceLoader.

CirrusSearch and OpenSearch:
Verified OpenSearch reachable.
Verified index exists.
Rebuilt index.
Verified API search works via api.php?action=query&list=search..
Verified backend search returns results.
Verified search suggestions API endpoint returns JSON.

Extensions:
Disabled all extensions except Vector; issue persists.
Disabled all skins except Vector; issue persists.
Re-enabled extensions in batches; no change.
Verified no extension injects output before HTML.

HTML and DOM:
Verified correct body classes.
Verified search input element exists.
Verified Vue search component loads.
Verified no malformed HTML.
Verified no duplicate IDs.

Other checks:
Verified cookies exist (session and user).
Verified user options load.
Verified no service worker interference.

Packaging verification:
Downloaded Linux and Unix MediaWiki tarballs.
Confirmed that ES6 Vector files are not present as standalone files.
Confirmed they are bundled inside ResourceLoader.
Verified this is normal and not a packaging error.

Additional notes:
The issue affects only Vector 2022 and MinervaNeue.
Legacy skins show search suggestions correctly.
The search backend works.
The search API works.
The UI component never receives or displays suggestions.
No errors appear anywhere.
All services (Nginx, PHP-FPM, OpenSearch) run as Windows services.
This may be a Windows + Nginx + PHP-FPM specific issue, or a regression in Vector 2022’s search suggestion component.

Event Timeline

Restricted Application added a subscriber: Aklapper. · View Herald Transcript

Thanks for the very thorough write-up — this is an impressively deep investigation, and it’s clear you’ve ruled out most of the usual suspects on both the backend and frontend sides.

From a Search team perspective, there are two important constraints to call out:

  • We don’t have the capacity to reproduce or debug issues that only occur in local or third-party environments (in this case Windows + Nginx + PHP-FPM as services). Our supported and testable configurations are Wikimedia production and closely related Linux-based setups.
  • Given that the search backend, suggestion APIs, and legacy skins all behave correctly, this does not currently point to a CirrusSearch or OpenSearch backend issue. What remains appears to be specific to the Vector 2022 / MinervaNeue search UI behavior in this environment.

For that reason, we’re unfortunately not able to take this on as a Search team task. If this turns out to be a reproducible issue in a supported environment, or if a minimal reproduction case emerges that isolates a backend defect, we’re of course happy to re-evaluate.

You may have more success continuing this discussion with the Vector / Minerva maintainers or the broader MediaWiki community, where others running similar local setups might be able to compare notes.

Thanks again for the detailed report and for the amount of care you’ve put into debugging this.

Thank for the prompt and detailed feedback.
The issue can be closed.

The investigation has since moved away from deploying MediaWiki on Windows with Nginx, PHP‑FPM, and OpenSearch. The affected environment has been replaced with a custom local Electron‑based application, and no further work is planned on the MediaWiki setup where the Vector 2022 / MinervaNeue search suggestions were hanging indefinitely.

Given the Search team’s constraints and the confirmation that the backend behaved correctly, there is no actionable next step on the Wikimedia side. The quick and clear guidance is appreciated.