From a39a4892b0048fc10f754861557cdd750ca42dd9 Mon Sep 17 00:00:00 2001 From: OpenVelo Agent Date: Wed, 22 Jul 2026 15:47:01 +0000 Subject: [PATCH] docs: update documentation to OKF v0.1 format --- docs/api/admin.md | 11 ++++-- docs/architecture/key-files.md | 8 ++--- docs/guides/admin-general-settings.md | 52 +++++++++++++++++++++++++-- docs/index.md | 2 +- 4 files changed, 62 insertions(+), 11 deletions(-) diff --git a/docs/api/admin.md b/docs/api/admin.md index f4422b6..851f67c 100644 --- a/docs/api/admin.md +++ b/docs/api/admin.md @@ -2,8 +2,8 @@ type: api title: Admin Endpoints description: Admin-only endpoints for user management, required general settings, categories, and supporting uploads. -tags: [api, admin, users, general, categories] -timestamp: 2026-07-22T14:24:08Z +tags: [api, admin, users, general, categories, default-challenge-ip, ip-hostname, validation] +timestamp: 2026-07-22T15:46:18Z --- # Endpoints @@ -53,7 +53,12 @@ removes the row. `superRefine` additionally requires `eventEndUtc > eventStartUtc` and reports `eventEndUtc must be strictly after eventStartUtc` on the end field when both values parse but are out of order. -* `defaultChallengeIp` 1–255 chars +* `defaultChallengeIp` is trimmed server-side; empty/whitespace-only values + are rejected (`defaultChallengeIp is required and cannot contain only + whitespace`), and the trimmed value must be a complete IPv4 address or a + valid hostname, otherwise `400 VALIDATION_FAILED` with a per-field + `defaultChallengeIp` issue (`defaultChallengeIp must be a valid IPv4 + address or hostname`). Maximum length is 255 characters. * `registrationsEnabled` boolean On success the handler persists every field via `SettingsService`, diff --git a/docs/architecture/key-files.md b/docs/architecture/key-files.md index 2625452..9356b0a 100644 --- a/docs/architecture/key-files.md +++ b/docs/architecture/key-files.md @@ -2,8 +2,8 @@ type: architecture title: Key Files Index description: One-line responsibility for important source and contract-test files, including strict event-window validation. -tags: [architecture, key-files, event-window, validation] -timestamp: 2026-07-22T14:24:08Z +tags: [architecture, key-files, event-window, validation, default-challenge-ip] +timestamp: 2026-07-22T15:46:18Z --- # Backend @@ -49,8 +49,8 @@ timestamp: 2026-07-22T14:24:08Z | `frontend/src/app/features/shell/tabs/quick-tabs.component.ts` | Main shell navigation tabs. | | `frontend/src/app/features/shell/change-password/change-password-modal.component.ts` | Change-password form modal. | | `frontend/src/app/features/admin/general.component.ts` | `AdminGeneralComponent` reactive form for `/admin/general` — per-field inline error rendering (page-title + event-start + event-end), logo upload wiring, welcome Markdown preview, event-state derivation, and SSE `general` event handling. | -| `frontend/src/app/features/admin/general.pure.ts` | Pure General Settings helpers, including required datetime validation, field messages, UTC conversion, and end-after-start validation. | -| `tests/frontend/admin-general-pure.spec.ts` | Pure client-contract tests for required event timestamps, datetime messaging, UTC conversion, and event-window ordering. | +| `frontend/src/app/features/admin/general.pure.ts` | Pure General Settings helpers, including required datetime validation, field messages, UTC conversion, end-after-start validation, and the default-challenge-address IPv4/hostname validator/normalizer/message trio. | +| `tests/frontend/admin-general-pure.spec.ts` | Pure client-contract tests for required event timestamps, datetime messaging, UTC conversion, event-window ordering, and default-challenge-address validation, error mapping, and normalization. | | `tests/frontend/authenticated-event-source.spec.ts` | Tests SSE authorization, frame transport behavior, and the `401`/`403` unauthorized path. | | `tests/frontend/auth-session-events.spec.ts` | Pure tests for cross-tab invalidation message encoding, payload validation, and `storage`-event filtering. | diff --git a/docs/guides/admin-general-settings.md b/docs/guides/admin-general-settings.md index d617c83..4f6e3ff 100644 --- a/docs/guides/admin-general-settings.md +++ b/docs/guides/admin-general-settings.md @@ -2,8 +2,8 @@ type: guide title: Admin — General Settings description: How an admin edits required platform-wide settings, including the validated event window, from the /admin/general page. -tags: [guide, admin, settings, general, tester, datetime, validation, utc, timezone] -timestamp: 2026-07-22T15:09:39Z +tags: [guide, admin, settings, general, tester, datetime, validation, utc, timezone, default-challenge-ip, ip-hostname] +timestamp: 2026-07-22T15:46:18Z --- # When this view is available @@ -44,7 +44,7 @@ The page is a single reactive form with these controls (every | Global theme | `general-themeKey` | `themeKey` | `