> For the complete documentation index, see [llms.txt](https://docs.layeronecloud.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.layeronecloud.com/network-monitor/reviews/ui-2026-09-05.md).

# UI review — 2026-09-05

Reviewed the Overview, Networks, Devices, Applications, Events, DDoS, Agents & Settings, and device-detail screens, including shared navigation, empty states, and read-only access.

Reviewed the Overview, Networks, Devices, Applications, Events, DDoS, Agents & Settings, and device-detail screens, including shared navigation, empty states, and read-only access.

## Changes <a href="#changes" id="changes"></a>

* Site selection survives sidebar navigation. Changing site from a device detail opens that site's inventory. Active navigation, skip navigation, mobile focus handling, and account access labels are explicit.
* Inventory controls sit beside their results. Tables default to 50 rows, offer 25/50/100/250 rows, show matching counts, and provide clear-filter and retry controls. Headers and the identifying column remain visible while scrolling.
* Device search runs across the site's active inventory, including MAC, name, segment, billing identity, and observed IP bindings. Segment, activity, billing-match, and global sort controls work before pagination; summary cards retain site totals.
* Network interfaces can be narrowed by node or infrastructure/VM scope. Search examines the complete downloaded snapshot before rendering a page. A regression fixture includes 3,125 interfaces.
* Event history is searched and paginated in the database, so older results beyond the former 500-event cap remain reachable. State and severity filters are available.
* Agents are shown before configuration. Billing and alert-delivery settings are expandable, with connection health visible while closed. Agent attention filtering, compact node metadata, and a secondary actions disclosure reduce clutter. Read-only users have no agent administration actions.
* Device billing status, VM identity, and owner share a column. The LAN chart is expandable; detail pages have a recoverable loading error and a bounded address-history region.
* WAN cards identify their node, support search, and have a bounded scroll region. Availability histories start collapsed for more than four WANs and preserve the operator's subsequent choice. Application rankings explicitly state their 24-hour window.
* Wider workspaces, stronger metadata contrast, wrapping labels, bounded incident/detector lists, and earlier responsive changes for dense DDoS and configuration grids improve information density.
* Table refreshes preserve the selected page, filters, open row disclosures, and focused row controls. Superseded responses cannot overwrite newer searches.

## Verification and limits <a href="#verification-and-limits" id="verification-and-limits"></a>

The full Django suite passed (590 tests). Added database-filter and rendered-template checks cover site isolation, sorting before pagination, event history beyond 500 rows, invalid page clamping, long names, all routes, accessibility references, and read-only/empty states. JavaScript regressions cover large inventories, filtering, response races, pagination, mobile focus, and device retry recovery. JavaScript and CSS syntax checks passed.

No browser was available through the connected UI tools. Desktop/mobile screenshots, pixel layout, and real-browser interaction remain unverified; template and simulated interaction checks are not a substitute for that pass. Production PostgreSQL execution was not exercised by the SQLite test suite.

Networks and Agents still retrieve complete server snapshots, although only one page is rendered. Very large fleet payloads may eventually warrant server pagination for those endpoints. This change introduces no migrations, dependencies, or deployment.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.layeronecloud.com/network-monitor/reviews/ui-2026-09-05.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
