Target names, URLs and log lines reach the page as text (closes #29)
check / check (push) Successful in 3m13s
check / check (push) Successful in 3m13s
A host row escapes the name and URL it writes into its markup with a new escapeHTML function, and the debug log builds each line as an element whose text is set, so neither is read as HTML once targets can be configured. A unit test builds the row of a target whose name and URL hold < > " & and ' and checks each comes out escaped; hostRowHTML is exported for it. README.md stops calling CONFIG frozen: the interval menu sets updateInterval, and the timeouts, history span and axis ticks are computed from it. AppState declares _recoveryProbeId and _recoveryProbeChecks, the sparkline axis functions drop the parameters they never used, and HostState's history comment names both entry shapes. Model: opus-5-5
This commit is contained in:
@@ -111,8 +111,10 @@ files are served, with no backend required.
|
||||
The application is a single-page app built with Vite and Tailwind CSS v4. All
|
||||
code lives in `src/main.js` with a class-based architecture:
|
||||
|
||||
- **`CONFIG`**: Frozen configuration object (update interval, timeouts, axis
|
||||
ticks, etc.)
|
||||
- **`CONFIG`**: Configuration object (update interval, timeouts, axis ticks,
|
||||
etc.). The interval menu sets `updateInterval`, the one value the page writes
|
||||
into `CONFIG`; the timeouts, the time the history spans and the x-axis ticks
|
||||
are computed from it
|
||||
- **`HostState`**: Per-host state management — history buffer, latency tracking,
|
||||
status transitions
|
||||
- **`AppState`**: Top-level state container — WAN hosts, local hosts, pause
|
||||
|
||||
Reference in New Issue
Block a user