AI Implementation feature(844): First-Start Create Admin Modal 1.03 (#6)

This commit was merged in pull request #6.
This commit is contained in:
2026-07-21 16:25:40 +00:00
parent a190a69a27
commit 2957b14d38
7 changed files with 286 additions and 205 deletions
+11 -9
View File
@@ -3,7 +3,7 @@ type: guide
title: First-Run Bootstrap
description: How a fresh HIPCTF instance is initialized by the very first administrator.
tags: [guide, bootstrap, first-admin, onboarding, tester]
timestamp: 2026-07-21T16:09:53Z
timestamp: 2026-07-21T16:23:40Z
---
# When this flow runs
@@ -32,16 +32,18 @@ bypassed.
3. The app redirects to `/bootstrap` and shows the
**"Welcome to HIPCTF — Create the first administrator"** modal.
4. Fill in the three fields and submit:
- **Username** — 332 chars, letters/digits/`.`/`-`/`_` only. Helper
text is shown via `data-testid="setup-username-error"` when the
pattern fails.
- **Username** — 332 chars, letters/digits/`.`/`-`/`_` only. The
username field displays inline validation after it is touched.
- **Password** — must satisfy the policy shown directly below the
field (default: 12 chars with upper, lower, digit, symbol).
- **Confirm Password** — must equal the password above (verified by
the group-level `passwordMatchValidator`; mismatch shows
`data-testid="setup-confirm-error"`).
5. Click **Create admin** (`data-testid="setup-submit"`). The button remains enabled while the form is invalid so this validation flow can be triggered; it is disabled only while a submission is in progress.
6. To verify client-side validation, submit with empty or partial fields. The overlay stays open, the relevant field errors appear, and no administrator is created or setup request is sent.
- **Confirm Password** — must equal the password above; mismatch displays
an inline error.
5. Click **Create admin** (`data-testid="setup-submit"`). The button is
disabled only while a submission is in progress and shows **Creating...**
with a spinner during that request.
6. To verify client-side validation, submit with empty or partial fields. The
overlay stays open, the relevant field errors appear, and no administrator
is created or setup request is sent.
# Expected behavior