# Wetech Dashboard partial login form

The local WSS test on 2026-09-08 reached the TiDB Dashboard signin page, but
timed out with `Please enter Username`, an empty username and a populated
password. P81 application connect returned 200 and all 44 proxy connections
succeeded. The Tool had already recorded `dashboard_credentials_submitted`.

The login route can appear before its inputs mount. The previous loop looked
up and filled username and password separately, and marked the form submitted
when either fill succeeded. A form mounting between those lookups therefore
allowed an empty username to be submitted; the submitted flag suppressed any
later filling. This code predates the WSS change (commit `1338cc9ce`).

A bounded live DOM probe confirmed an initial signin route with no inputs,
then inputs with ordinary `type="text"` and `type="password"` attributes.
The instrumented live run succeeded, so it did not capture the exact timing
of the original failure. A controlled Playwright DOM fixture mounts those
inputs between the two lookups: unchanged main times out, while this fix
submits both fixture credentials exactly once and succeeds.

The loop now resolves both visible fields before filling either, stays in
the existing login loop while the form is incomplete, and marks submission
only after both fills and Enter complete. Field operations use the existing
login deadline. Credentials, profiles, providers and retry budgets are unchanged.

Validation: TypeScript build and 77 Wetech tests passed; the optional browser
test was skipped on the host. All three form tests passed in the pinned
Playwright 1.61.1 Docker image, including the real DOM regression.

For real Provider integration, the exact patched `ensureDashboardSession`
function was inserted into the unmerged WSS candidate (`b9c2b307`) in a private
local test artifact. Starting with empty browser state, metrics returned six
points (22.9 seconds), and first Dashboard login returned one slow-query row
(18.3 seconds). Fresh subsequent containers reused the saved session without
a browser: metrics 2.8 seconds / six points, Dashboard 3.5 seconds / one row.
Queries were serial and bounded to five minutes on Wetech `yk-qfxt`.

No live package, installation, deployment or ticket publication changed. The
WSS candidate package still needs to incorporate this fix before release.
Local integration used the repository file-state adapter instead of Drive9;
cloud ALB, E2B, Organization Auth and AWS NAT remain outside this verification.
