| at | step | ms |
| +8.82s | a password reset works through the email -- exactly once | 8662.0 |
| +7.66s | wait for the email | 6972.1 |
| +8.08s | choose a new password | 287.6 |
| +8.5s | sign in with the new password | 419.6 |
| +8.7s | follow the same link again | 134.6 |
| +0.39s | goto freight/login/ | 132.3 |
| +0.55s | click #forgot-link | 146.4 |
| +0.59s | fill #forgot-login | 41.6 |
| +0.65s | click #forgot-btn | 60.4 |
| +0.69s | innerText #forgot-ref | 33.4 |
| +0.72s | goto freight/mailbox/?to=courier@acme-freight.example | 33.3 |
| +7.66s | toBeVisible #mail-list a.mail-subject:has-text('ref B8128B') | 6933.2 |
| +7.76s | click #mail-list a.mail-subject:has-text('ref B8128B') | 100.4 |
| +7.8s | toBeVisible #mail-body a[href*='/login/reset/'] | 32.6 |
| +7.87s | click #mail-body a[href*='/login/reset/'] | 69.8 |
| +7.92s | fill #new-password | 46.9 |
| +7.95s | fill #confirm-password | 27.7 |
| +8.05s | click #reset-btn | 101.6 |
| +8.08s | toBeVisible #login-btn | 33.4 |
| +8.11s | fill #username | 20.7 |
| +8.12s | fill #password | 8.4 |
| +8.39s | click #login-btn | 272.3 |
| +8.5s | toBeVisible #signed-in-user | 112.2 |
| +8.56s | click #sign-out | 58.1 |
| +8.6s | goto http://127.0.0.1:8000/demo/freight/mailbox/1/ | 31.6 |
| +8.67s | click #mail-body a[href*='/login/reset/'] | 67.5 |
| +8.69s | toBeVisible #reset-invalid, #reset-form | 24.3 |
| +8.7s | toHaveCount #reset-form | 5.2 |
Video and Playwright trace stay on the hub:
results/DEMO-T16/20260925-002144-r406/ — open the run page for the replay.