Advanced Search silently drops filters it doesn't represent, on submit #58

Closed
opened 2026-08-31 21:40:10 -04:00 by jared · 1 comment
Owner

Severity: Medium

Same root pattern as the already-filed chart click-to-filter bug (#29), different feature/file. assets/js/advanced-search.js:

  • populateCurrentFilters() (~lines 60-76) only reads search and status back out of the current URL into the form.
  • performAdvancedSearch() (~lines 79-122) then builds a brand-new URLSearchParams() from just the form fields and navigates to it.

Impact: Any active filter not represented in the advanced-search form (e.g. a category/type/host filter applied via a dashboard quick-filter pill or stats-widget click) is neither shown in the modal nor preserved on submit — it's silently dropped from the URL.

Repro: Apply a category filter via a stats widget, open Advanced Search, set only a search term, submit → category filter is gone.

Fix: Merge the advanced-search form's fields into the current URLSearchParams (parsed from location.search) instead of constructing a fresh one — same fix approach as #29.

**Severity:** Medium Same root pattern as the already-filed chart click-to-filter bug (#29), different feature/file. `assets/js/advanced-search.js`: - `populateCurrentFilters()` (~lines 60-76) only reads `search` and `status` back out of the current URL into the form. - `performAdvancedSearch()` (~lines 79-122) then builds a **brand-new** `URLSearchParams()` from just the form fields and navigates to it. **Impact:** Any active filter not represented in the advanced-search form (e.g. a `category`/`type`/host filter applied via a dashboard quick-filter pill or stats-widget click) is neither shown in the modal nor preserved on submit — it's silently dropped from the URL. **Repro:** Apply a category filter via a stats widget, open Advanced Search, set only a search term, submit → category filter is gone. **Fix:** Merge the advanced-search form's fields into the *current* `URLSearchParams` (parsed from `location.search`) instead of constructing a fresh one — same fix approach as #29.
jared added the priority/mediumux labels 2026-09-08 10:15:46 -04:00
Author
Owner

Fixed and verified (real MariaDB, real running server, real webhook capture, jsdom). Merged to main in commit b6c1709.

Fixed and verified (real MariaDB, real running server, real webhook capture, jsdom). Merged to main in commit b6c1709.
jared closed this issue 2026-09-11 14:49:55 -04:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: LotusGuild/tinker_tickets#58