This commit is contained in:
Mateusz Gruszczyński committed 2026-10-15 23:29:15 +02:00
1 parent 162e986d37
commit f462ca7194
26 files changed
+980 -710

No files matched your search

+51 -34
View File
@@ -1,44 +1,61 @@
# RustProxy 0.33.6 - verification report
# RustProxy 0.33.7 - verification report
## Scope (2026-10-15)
Additional 0.33.6 chart/UI changes:
- All 14 full-width Overview and Web Server plots retain a fixed 125px SVG
height, regardless of viewport width and dashboard density.
- Grid lines are mapped to the actual plotting range rather than approximate
horizontal positions.
- Transform and Compression activity (plus other unbounded unit series) use
sane zero-based minimum ranges and monotonic, rounded range expansion, so
low values do not look like maximum utilization and spikes remain visible.
- Full Cache and Transform live charts keep an 180px plot height and the same
stable per-second range policy. Compact percent sparklines stay 0-100%.
0.33.7 changes the Dashboard UI without changing proxy traffic handling or
telemetry collection:
Previous 0.33.5 regression scope:
Correct the Overview **System and process CPU** widget:
- Use a fixed 0-100% vertical range, not the measured-history peak.
- Map 25%, 50% and 75% to the horizontal grid lines.
- Clip plotted CPU values above 100% at the top without modifying their measured values in the legend or summary.
- Fix only this plot's CSS height at 125px, independent of viewport width, dashboard density and CPU samples.
- Leave other chart scales, plot dimensions, status sampling and dashboard preferences unchanged.
- Replace the duplicated **Arrange Overview** editor modal with an account-scoped
**Dashboard presets** manager. A named preset stores Dashboard density, card
order, visibility and optional custom widths; presets can be saved/updated,
loaded and deleted through the existing administrator preferences document.
- Keep actual Dashboard editing in the existing inline **Unlock layout** flow and
Settings visibility/order controls.
- Use the same monospace font family as **CONNECTION ACTIVITY** for Overview chart
titles, including compact chart cards and wide charts.
- No SQLite schema migration, new telemetry polling loop or proxy-path change is
introduced.
## Checks completed
- **PASS:** `python scripts/tests/dashboard_stable_scales_0336_browser_test.py`
with real bundled HTML/CSS/JS in simulated Chromium at 320, 375, 768,
1440 and 1920px and all three density modes. Covered 14 large plots,
125/180px plot heights, quarter-grid alignment, 0-100% CPU mapping,
steady low/high traffic plotting, minimum count/rate/latency/memory scales,
sticky expanded scales, reset and non-clipped live operation-rate labels.
- **PASS:** `python scripts/tests/dashboard_cpu_fixed_scale_0335_browser_test.py` against the actual bundled HTML/CSS/JS in simulated Chromium, at 320, 375, 768, 1440 and 1920px, in normal/compact/ultra densities. Checked low and high CPU histories, missing samples, new status revisions, clipping above 100%, actual percentage labels, consistent grid positions, fixed plot height and no sample-dependent changes to the CPU/adjacent Connection Activity cards' heights.
- **PASS:** All 11 prior `scripts/tests/*browser_test.py` simulated-browser regressions (including the 0.33.5 CPU test) and the new 0.33.6 browser regression: chart headers, resized widths, dashboard grid/modal resizing, sidebar, progress bars, System RAM, Web observability and Web Server metrics. No live RustProxy server was used.
- **PASS:** `node scripts/tests/overview_samples_0330_ui_test.mjs`, `node scripts/tests/dashboard_resume_rate_charts_ui_test.mjs` and `node scripts/tests/dashboard_metric_visuals_ui_test.mjs`.
- **PASS:** `./dev.sh doctor` and `python scripts/preflight.py` (source layout).
- **PASS:** All eight `migrations/*.sql` applied successfully in two successive cycles to a disposable, in-memory SQLite database. This verifies SQL script execution/idempotency in this context, not an upgrade of production data.
- **PASS:** Parsed `scripts/deploy/upgrade.py --help` and `scripts/migration/migrate_npm.py --help`; did not run a live upgrade or migration against an external database or service.
- **PASS:** `python scripts/tests/dashboard_presets_0337_browser_test.py` against
the real bundled HTML/CSS/JS with a simulated preferences API at 320, 375,
768 and 1440px. Covered save/update snapshot data, load, delete, responsive
modal layout, removal of the former duplicated editor controls, and chart-title
font parity with **CONNECTION ACTIVITY**.
- **PASS:** `python scripts/tests/dashboard_modal_0333_browser_test.py` after the
0.33.7 preset conversion at 320, 375, 550, 620, 800, 900, 960, 1158, 1440 and
1920px with no horizontal viewport overflow.
- **PASS:** updated `dashboard_layout_0331_browser_test.py` and
`dashboard_resizing_0333_browser_test.py`; inline editing still covers
add/hide/reorder/resize, live refresh, cancel/save and persisted custom widths,
while opening/closing the preset modal does not mutate the active layout.
- **PASS:** all 13 current `scripts/tests/*browser_test.py` simulated-browser
regressions, including chart heading/width/fixed CPU/stable scale coverage,
progress bars, sidebar, RAM, Web observability and Web Server live metrics.
The obsolete CPU autoscale regression was removed because 0.33.5 intentionally
replaced that behavior with a fixed 0-100% CPU scale and has its own current
regression test.
- **PASS:** `node scripts/tests/overview_samples_0330_ui_test.mjs`,
`node scripts/tests/dashboard_resume_rate_charts_ui_test.mjs` and
`node scripts/tests/dashboard_metric_visuals_ui_test.mjs`.
- **PASS:** JSON parsing for `src/admin/openapi.json`, `langs/en_US.json` and
`langs/pl_pl.json`; JavaScript syntax checks for the changed preferences/preset
files; Python syntax checks for changed browser tests; `python scripts/preflight.py`.
- **PASS:** `./dev.sh doctor` reports the source layout as OK and confirms that a
C compiler and Python are available.
- **PASS:** all eight `migrations/*.sql` applied successfully in two successive
cycles to a disposable in-memory SQLite database. This verifies SQL script
execution/idempotency in this context, not a production-data upgrade.
- **PASS:** parsed `scripts/deploy/upgrade.py --help` and
`scripts/migration/migrate_npm.py --help`; no live external upgrade/migration
was performed.
## Not verified in this environment
- `./dev.sh check` and `./dev.sh test` both exit 127: Cargo/rustc are unavailable. Therefore no Rust compilation, unit/integration suite, actual proxy runtime, real SSE feed, production database upgrade or live load test has been verified.
- The real-runtime acceptance gate remains open until Rust builds and runs against representative test traffic.
- `./dev.sh check` and `./dev.sh test` exit 127 because Cargo/rustc are not
installed. Therefore Rust compilation, Rust unit/integration tests, an actual
RustProxy process, real SSE traffic, production database upgrade and live load
testing are not verified here.
- The real-runtime acceptance gate remains open until Rust builds and runs against
representative test traffic.