fix(deps): update undici and tar to latest versions for improved stability
This commit is contained in:
@@ -45,6 +45,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
||||
- Prevents timeout errors in Firefox/WebKit caused by strict label matching
|
||||
|
||||
### Fixed
|
||||
- **TCP Monitor Creation**: Fixed misleading form UX that caused silent HTTP 500 errors when creating TCP monitors
|
||||
- Corrected URL placeholder to show `host:port` format instead of the incorrect `tcp://host:port` prefix
|
||||
- Added dynamic per-type placeholder and helper text (HTTP monitors show a full URL example; TCP monitors show `host:port`)
|
||||
- Added client-side validation that blocks form submission when a scheme prefix (e.g. `tcp://`) is detected, with an inline error message
|
||||
- Reordered form fields so the monitor type selector appears above the URL input, making the dynamic helper text immediately relevant
|
||||
- i18n: Added 5 new translation keys across en, de, fr, es, and zh locales
|
||||
- **CI: Rate Limit Integration Tests**: Hardened test script reliability — login now validates HTTP status, Caddy admin API readiness gated on `/config/` poll, security config failures are fatal with full diagnostics, and poll interval increased to 5s
|
||||
- **CI: Rate Limit Integration Tests**: Removed stale GeoIP database SHA256 checksum from Dockerfile non-CI path (hash was perpetually stale due to weekly upstream updates)
|
||||
- **CI: Rate Limit Integration Tests**: Fixed Caddy admin API debug dump URL to use canonical trailing slash in workflow
|
||||
|
||||
161
docs/issues/pr5-tcp-monitor-ux-manual-test.md
Normal file
161
docs/issues/pr5-tcp-monitor-ux-manual-test.md
Normal file
@@ -0,0 +1,161 @@
|
||||
---
|
||||
title: "Manual Test Plan - PR-5 TCP Monitor UX Fix"
|
||||
labels:
|
||||
- testing
|
||||
- frontend
|
||||
- bug
|
||||
priority: high
|
||||
---
|
||||
|
||||
# Manual Test Plan - PR-5 TCP Monitor UX Fix
|
||||
|
||||
## Scope
|
||||
|
||||
PR-5 only.
|
||||
|
||||
This plan covers manual verification of the five UX fixes applied to the TCP monitor creation form:
|
||||
|
||||
1. Corrected URL placeholder (removed misleading `tcp://` prefix)
|
||||
2. Dynamic per-type placeholder (HTTP vs TCP)
|
||||
3. Per-type helper text below the URL input
|
||||
4. Client-side TCP scheme validation with inline error
|
||||
5. Form field reorder: type selector now appears before URL input
|
||||
|
||||
Out of scope:
|
||||
- Backend monitor logic or storage
|
||||
- Any other monitor type beyond HTTP and TCP
|
||||
- Notification provider changes
|
||||
|
||||
## Preconditions
|
||||
|
||||
- [ ] Environment is running (Docker E2E or local dev).
|
||||
- [ ] Tester can access the Monitors page and open the Create Monitor modal.
|
||||
- [ ] Browser DevTools Network tab is available for TC-PR5-007.
|
||||
|
||||
---
|
||||
|
||||
## Track A — Smoke Tests (Existing HTTP Behaviour)
|
||||
|
||||
### TC-PR5-001 HTTP monitor creation still works
|
||||
|
||||
- [ ] Open the Create Monitor modal.
|
||||
- [ ] Select type **HTTP**.
|
||||
- [ ] Enter a valid URL: `https://example.com`.
|
||||
- [ ] Fill in remaining required fields and click **Create**.
|
||||
- Expected result: monitor is created successfully; no errors shown.
|
||||
- Status: [ ] Not run [ ] Pass [ ] Fail
|
||||
- Notes:
|
||||
|
||||
### TC-PR5-009 Existing HTTP monitors display correctly in the list
|
||||
|
||||
- [ ] Navigate to the Monitors list.
|
||||
- [ ] Confirm any pre-existing HTTP monitors are still shown with correct URLs.
|
||||
- Expected result: no regressions in list display.
|
||||
- Status: [ ] Not run [ ] Pass [ ] Fail
|
||||
- Notes:
|
||||
|
||||
### TC-PR5-010 Existing TCP monitors display correctly in the list
|
||||
|
||||
- [ ] Navigate to the Monitors list.
|
||||
- [ ] Confirm any pre-existing TCP monitors are still shown with correct host:port values.
|
||||
- Expected result: no regressions in list display.
|
||||
- Status: [ ] Not run [ ] Pass [ ] Fail
|
||||
- Notes:
|
||||
|
||||
---
|
||||
|
||||
## Track B — Core Fix (TCP Scheme Validation)
|
||||
|
||||
### TC-PR5-002 TCP monitor with `tcp://` prefix shows inline error and blocks submission
|
||||
|
||||
- [ ] Open the Create Monitor modal.
|
||||
- [ ] Select type **TCP**.
|
||||
- [ ] Enter URL: `tcp://192.168.1.1:8080`.
|
||||
- [ ] Click **Create** (or attempt to submit).
|
||||
- Expected result: an inline error appears on the URL field; the form is not submitted; no new monitor appears in the list.
|
||||
- Status: [ ] Not run [ ] Pass [ ] Fail
|
||||
- Notes:
|
||||
|
||||
### TC-PR5-003 TCP monitor with valid `host:port` format succeeds
|
||||
|
||||
- [ ] Open the Create Monitor modal.
|
||||
- [ ] Select type **TCP**.
|
||||
- [ ] Enter URL: `192.168.1.1:8080`.
|
||||
- [ ] Fill in remaining required fields and click **Create**.
|
||||
- Expected result: monitor is created successfully; no errors shown.
|
||||
- Status: [ ] Not run [ ] Pass [ ] Fail
|
||||
- Notes:
|
||||
|
||||
---
|
||||
|
||||
## Track C — Dynamic Placeholder & Helper Text
|
||||
|
||||
### TC-PR5-005 Form field order: Type selector appears above URL input
|
||||
|
||||
- [ ] Open the Create Monitor modal.
|
||||
- [ ] Inspect the visual layout of the form.
|
||||
- Expected result: the monitor **Type** selector is positioned above the **URL** input field.
|
||||
- Status: [ ] Not run [ ] Pass [ ] Fail
|
||||
- Notes:
|
||||
|
||||
### TC-PR5-006 Helper text updates when switching between HTTP and TCP
|
||||
|
||||
- [ ] Open the Create Monitor modal.
|
||||
- [ ] Select type **HTTP** and note the helper text shown beneath the URL input.
|
||||
- [ ] Switch type to **TCP** and note the helper text again.
|
||||
- Expected result: helper text differs between HTTP and TCP types, giving format guidance appropriate to each.
|
||||
- Status: [ ] Not run [ ] Pass [ ] Fail
|
||||
- Notes:
|
||||
|
||||
### TC-PR5-006b Placeholder updates when switching between HTTP and TCP
|
||||
|
||||
- [ ] Open the Create Monitor modal.
|
||||
- [ ] Select type **HTTP** and note the URL input placeholder.
|
||||
- [ ] Switch type to **TCP** and note the placeholder again.
|
||||
- Expected result: HTTP placeholder shows a full URL (e.g. `https://example.com`); TCP placeholder shows `host:port` format (no scheme).
|
||||
- Status: [ ] Not run [ ] Pass [ ] Fail
|
||||
- Notes:
|
||||
|
||||
---
|
||||
|
||||
## Track D — Interaction Edge Cases
|
||||
|
||||
### TC-PR5-004 Switching type from TCP (with error) to HTTP clears the inline error
|
||||
|
||||
- [ ] Open the Create Monitor modal.
|
||||
- [ ] Select type **TCP** and enter `tcp://192.168.1.1:8080` to trigger the inline error.
|
||||
- [ ] Switch type to **HTTP**.
|
||||
- Expected result: the scheme-prefix inline error disappears immediately after the type change.
|
||||
- Status: [ ] Not run [ ] Pass [ ] Fail
|
||||
- Notes:
|
||||
|
||||
### TC-PR5-007 Submit guard: no API call fires when scheme prefix error is present
|
||||
|
||||
- [ ] Open browser DevTools and go to the **Network** tab.
|
||||
- [ ] Open the Create Monitor modal.
|
||||
- [ ] Select type **TCP** and enter `tcp://192.168.1.1:8080`.
|
||||
- [ ] Click **Create**.
|
||||
- Expected result: the inline error is shown and no outbound POST/PUT request to the monitors API endpoint appears in the Network tab.
|
||||
- Status: [ ] Not run [ ] Pass [ ] Fail
|
||||
- Notes:
|
||||
|
||||
---
|
||||
|
||||
## Track E — Localisation (Optional)
|
||||
|
||||
### TC-PR5-008 New translation keys appear correctly in non-English locales
|
||||
|
||||
- [ ] Switch the application language to **German**, **French**, **Spanish**, or **Chinese**.
|
||||
- [ ] Open the Create Monitor modal and select type **TCP**.
|
||||
- [ ] Observe the URL placeholder, helper text, and inline error message (trigger it with `tcp://host:port`).
|
||||
- Expected result: all three UI strings appear in the selected language without showing raw translation key strings (e.g. no `urlPlaceholder.tcp` visible to the user).
|
||||
- Status: [ ] Not run [ ] Pass [ ] Fail
|
||||
- Notes:
|
||||
|
||||
---
|
||||
|
||||
## Sign-off
|
||||
|
||||
| Tester | Date | Environment | Result |
|
||||
|--------|------|-------------|--------|
|
||||
| | | | |
|
||||
6
frontend/package-lock.json
generated
6
frontend/package-lock.json
generated
@@ -10554,9 +10554,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/undici": {
|
||||
"version": "7.24.4",
|
||||
"resolved": "https://registry.npmjs.org/undici/-/undici-7.24.4.tgz",
|
||||
"integrity": "sha512-BM/JzwwaRXxrLdElV2Uo6cTLEjhSb3WXboncJamZ15NgUURmvlXvxa6xkwIOILIjPNo9i8ku136ZvWV0Uly8+w==",
|
||||
"version": "7.24.5",
|
||||
"resolved": "https://registry.npmjs.org/undici/-/undici-7.24.5.tgz",
|
||||
"integrity": "sha512-3IWdCpjgxp15CbJnsi/Y9TCDE7HWVN19j1hmzVhoAkY/+CJx449tVxT5wZc1Gwg8J+P0LWvzlBzxYRnHJ+1i7Q==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
|
||||
6
package-lock.json
generated
6
package-lock.json
generated
@@ -3589,9 +3589,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/tar": {
|
||||
"version": "7.5.11",
|
||||
"resolved": "https://registry.npmjs.org/tar/-/tar-7.5.11.tgz",
|
||||
"integrity": "sha512-ChjMH33/KetonMTAtpYdgUFr0tbz69Fp2v7zWxQfYZX4g5ZN2nOBXm1R2xyA+lMIKrLKIoKAwFj93jE/avX9cQ==",
|
||||
"version": "7.5.12",
|
||||
"resolved": "https://registry.npmjs.org/tar/-/tar-7.5.12.tgz",
|
||||
"integrity": "sha512-9TsuLcdhOn4XztcQqhNyq1KOwOOED/3k58JAvtULiYqbO8B/0IBAAIE1hj0Svmm58k27TmcigyDI0deMlgG3uw==",
|
||||
"dev": true,
|
||||
"license": "BlueOak-1.0.0",
|
||||
"dependencies": {
|
||||
|
||||
Reference in New Issue
Block a user