fix(clients): filter the row the table shows, not the rows behind it (v0.23.14-beta)
Closes #100. The clients list deduplicates by MAC: a client seen by several devices collapses to one row, and DISTINCT ON resolves the collision in favour of the wireless sighting. The filters, however, ran against the raw rows before that happened, so a filter and the column beside it could disagree. The wired/wireless filter showed it plainly. A wireless client's MAC is also learned by the switch its AP uplinks to, so it holds both a wireless row and a wired one — on the test fleet every wireless client does. Filtering by "wired" therefore returned all 176 clients rather than 163, including the 13 the table was labelling wireless. Filtering by signal had the same flaw in a subtler form: a client seen by two APs at different strengths could appear in a band its displayed row was not in. Filters now sit on the correct side of deduplication according to what they mean. Device and active-state choose which sightings to consider, so they still run before. Type, VLAN and signal describe what the table displays, so they run after. The count query deduplicates identically, so totals and rows agree. Verified against the live fleet by running the same predicates as SQL and through the API in the same moment: 176 total, 162 wired, 14 wireless, 29 on VLAN 1, 13 at -67 dBm or stronger — matching on every one, with the wired and wireless halves now summing to the total. Also closes four issues that were implemented in v0.23.9 and v0.23.10 but stayed open: their commit messages listed several numbers behind a single "Closes" keyword, which GitHub applies only to the first. #97 — location selector on the Channel Usage panel #102 — snoozeable "Things to handle" items #107 — rack and location filters on the device table #108 — topic, device and severity filters on the events table Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
ec873ab8bd
commit
7a548abfd8
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "mikrotik-manager-frontend",
|
||||
"version": "0.23.13-beta",
|
||||
"version": "0.23.14-beta",
|
||||
"private": true,
|
||||
"type": "module",
|
||||
"scripts": {
|
||||
|
||||
@@ -1 +1 @@
|
||||
export const APP_VERSION = 'v0.23.13 Beta';
|
||||
export const APP_VERSION = 'v0.23.14 Beta';
|
||||
|
||||
Reference in New Issue
Block a user