This commit is contained in:
Mateusz Gruszczyński committed 2026-10-06 10:16:16 +02:00
1 parent 32e6875980
commit cf25423dde
68 files changed
+2314 -422

No files matched your search

+7 -5
View File
@@ -1,18 +1,20 @@
# Verification report - RustProxy 0.26.2
# Verification report - RustProxy 0.26.3
## Scope
RustProxy 0.26.2 keeps the 0.26.1 vhost-aware persistent protocol diagnostics and focuses on the administration log workflow. Stored Logs and Live Logs now share one top-bar Logs menu while retaining independent data paths.
RustProxy 0.26.3 keeps the 0.26.2 log workflow and focuses on administration appearance, scaling and draft/settings ergonomics. Stored Logs and Live Logs now share one top-bar Logs menu while retaining independent data paths.
Stored Logs replaces the fixed event/status/client/vhost controls with an optional source selector, one bounded field-query input and page size. The query parser supports `field:value`, explicit `AND`, `!` negation, quoted values, wildcards, numeric comparisons and aliases such as `req` -> `method`. JSON/JSONL records expose a bounded discovered-field list for dynamic columns; protocol-specific fields such as `matched_by` and `sni` are no longer hard-coded table columns. RAW error-log lines are best-effort parsed into timestamp, level, target, message and detected `key=value` fields while preserving `raw`.
The dashboard removes the Configured files inventory but keeps an optional source selector with `All configured files` as the default, moves the column picker to the table toolbar, expands selected rows as parsed fields plus optional raw JSON, and uses `↑`/`↓` for backend sort direction. SQLite schema 8 and the saved proxy configuration format remain unchanged.
This workspace retains session-only draft docking for dirty Web Server, Vhost, Redirect and Stream editors; opening a second editor no longer reuses or blocks the suspended form state. In 0.26.3 the dock uses the same square-corner panel language as the rest of RustProxy, can collapse to one bar and shows draft age. **Settings -> Appearance** persists theme, language, 70-125% global interface scale, 12/24-hour display, eight chart styles, Normal/Compact button style, table/log density, dashboard density and Overview-card layout/visibility in the existing account-scoped administrator preference document. Scaling includes dialogs, overlays and the draft dock; form fields also receive a bounded additional size response so control proportions follow 70-125% more visibly. Compact buttons restore the smaller source-style control dimensions without changing the whole-interface scale and now apply explicitly to generated vhost/entity actions and dialog tab buttons. Settings adds content search; Appearance exposes chart palette previews, per-section resets and a full reset. Expanded Stored Logs details remain compact. SQLite schema 8 remains unchanged.
## Source-level regression coverage
0.26.2-specific Rust tests cover field aliases, explicit AND, negation, quoted values, wildcard/status/numeric matching and built-in RAW error parsing. Retained 0.26.1 tests continue to cover canonical field recovery, safe source derivation, symlink refusal, bounded reads and protocol diagnostic normalization.
0.26.2 log-query Rust tests continue to cover field aliases, explicit AND, negation, quoted values, wildcard/status/numeric matching and built-in RAW error parsing. Retained 0.26.1 tests continue to cover canonical field recovery, safe source derivation, symlink refusal, bounded reads and protocol diagnostic normalization.
Administration preference validation now permits up to 64 bounded, control-free Stored Logs field names so dynamically discovered JSON fields can be persisted per account. Browser JavaScript is syntax-checked, and the language/documentation/source-contract suites cover the new UI strings and release identity.
Administration preference validation now permits up to 64 bounded, control-free Stored Logs field names so dynamically discovered JSON fields can be persisted per account. It also validates the language, 70-125% interface-scale, time-format, expanded chart-style fields, Normal/Compact button style, table/log density, dashboard density, dashboard card ordering and hidden-card list while retaining defaults for legacy preference JSON. Browser JavaScript is syntax-checked, the Web Server UI harness loads the draft manager in production order, and the language/documentation/source-contract suites cover the new UI strings and release identity.
## Verification status in this workspace
@@ -27,7 +29,7 @@ Administration preference validation now permits up to 64 bounded, control-free
| `python3 scripts/rust_module_contracts.py` | PASS after keeping modified Rust modules within the 500-line contract |
| `python3 scripts/docs_check.py` | PASS |
| `node scripts/web_service_ui_test.mjs` | PASS |
| `node --check src/admin/web/file-logs.js` | PASS |
| `node --check` for `settings.js`, `drafts.js`, `app/preferences.js`, `traffic-panel.js` and `file-logs.js` | PASS |
| language/OpenAPI JSON parse | PASS |
| `python3 scripts/check_source.py` | PASS; explicitly reports Rust parsing/types/runtime as not verified |
| `python3 scripts/release_smoke.py` | PASS, including upgrade/package/reproducibility contracts |