Brief description:
On warthunder live the search box and the vehicle filters (Country / Type / Class) cannot be combined. As soon as any filter other than “Any” is active, the search term is silently ignored — the feed shows only the filtered results, as if the search box were empty.
Affected page: WT Live // Best camouflages for the past week (the feed code is shared by other content types, so they are probably affected as well)
Steps to reproduce:
- Open WT Live // Best camouflages for the past week
- Type a hashtag into the search box, e.g. usa, and press Enter — results are correctly filtered by the hashtag.
- Now additionally select any filter, e.g. Country: Germany.
- The list instantly changes to the “Germany” result set. The search term is still visible in the search box, but it has no effect on the results.
- Clearing the filters makes search work again.
Actual result:
- With a filter active, the search term is ignored completely.
- The URL also loses the search term: when a filter is applied, the address bar shows only e.g. /feed/camouflages/?vehicleCountry=germany and drops the ?q=%23usa parameter.
Expected result:
Search and filters should be combined (posts matching usa AND Country: Germany), and the URL should keep both the q parameter and the filters so the state can be shared/bookmarked.
Additional technical details (from testing the API directly, no login required):
The client does send both parameters. POST /api/feed/get_regular/ with:
- content=camouflage, searchString=#usa, no filters
→ returns hashtag results, data.link = /feed/camouflages/?q=%23usa - content=camouflage, vehicleCountry=germany, no searchString
→ returns Germany results, data.link = /feed/camouflages/?vehicleCountry=germany - content=camouflage, searchString=#usa AND vehicleCountry=germany
→ response is byte-for-byte the same list as the filter-only request (identical post IDs); the searchString is ignored, and data.link again omits the q parameter.
So the bug is server-side: as soon as any vehicle filter (vehicleCountry / vehicleType / vehicleClass, value != “any”) is present in the request, the searchString parameter is discarded instead of being combined with the filters. The client-side code (main.js) correctly passes both searchString and the filter values in the same POST request, and simply renders the link returned by the server — which is why the q parameter disappears from the address bar.
Tested on: 2026-09-08, Chrome (Windows 10/11 64-bit), both logged in and logged out — same behavior.