Forums Bug Reports Thread

Member directory renders stray literal quote characters in search box, role dropdown, and role badges

Patrick Bass · Jun 6 · 15 · 1 Locked
[Major] [High Priority] [Bug Fixed] [Always Reproduces]
🚀 OP Jun 6, 2026 5:11pm

Area: Account & identity (audit phase 1) · Surface: /members (MemberDirectoryController@index) · Dimension: law-1-kickass · Severity: major

Every option in the role filter dropdown carries a stray `"` attribute, an unknown role shows a literal quote as its badge text, and the search/location inputs display a literal `"` when no query is set. This is visible on the live member directory and looks broken to users. The intended fallback was an empty string `''`, not a one-character double-quote string `'"'`.

Evidence

platform/templates/members/index.php uses a literal double-quote as the ?? fallback in five places:
L16: value="<?= $e($searchQuery ?? '"') ?>"
L20: <option value="<?= $val ?>" <?= ($roleFilter ?? '"') == $val ? 'selected' : '"' ?>>
L23: value="<?= $e($locationFilter ?? '"') ?>"
L44: $location = array_filter([$m['city'] ?? '"', $m['country'] ?? '"']);
L56: <?= $e($roleNames[(int) $m['role']] ?? '"') ?>
File matches HEAD (git status clean). Rendering it in PHP confirms the breakage: the role select emits `<option value="2" ">Registered</option>` for EVERY non-selected option (a stray quote attribute), an unknown role badge renders `<span class="badge">&quot;</span>` (a literal " as the badge label), and an empty search/location field renders value="&quot;" (a literal quote pre-filled in the box).

Suggested fix. Replace every `?? '"'` with `?? ''` on lines 16, 20 (both occurrences — the selected ternary's else branch should be `''`), 23, 44, and 56 of platform/templates/members/index.php.

Filed by the automated tenant-app audit (phase 1) and adversarially evidence-verified. Status: verified. Open — not yet actioned.


Patrick Bass
@mobieus

🚀 Jun 7, 2026 4:59am

Resolved — fixed and deployed. Commit faa14fc59739, shipped dev-first then to all tenants on 2026-06-06.

Replaced all six `?? '"'` fallbacks (lines 16, 20 twice, 23, 44 twice, 56) with `?? ''` so missing values default to empty string instead of a literal double-quote: fixes the search input value, role-option selected/unselected logic, location filter input, the city/country array_filter, and the role-label badge fallback.

Status: fixed. Thread closed and locked.


Patrick Bass
@mobieus

Log in or register to reply to this thread.