0b1486df8f
gates / gates (push) Successful in 24s
/recovery is in the AUTHENTICATED route table — its reader is the household, not a visitor. The first draft of v0.254.0 gave it the anonymous form, which sets the felhom_lang cookie that langFor deliberately ignores once there is a session: the button would have appeared to work and done nothing. Found by the live probe on demo-hp reporting no globe on /recovery (it 302s to /login without a session) and then reading the route table. executeTemplateLang now branches on hasSession: household form with its session CSRF, or the visitor form without. The parity harness and TestI18nDirectRenderPagesFollowLanguage carry the same branch, so the fixture is the form the real page serves — the trap this release already walked into once with the shells. A per-session CSRF token cannot be a fixture value, so it is blanked on both sides of every parity comparison, exactly as relative ages already were. What stays pinned is that the field is THERE and WHICH form it sits in — the half that says whether the globe writes the household's setting or the visitor's cookie. Evidence regenerated: 3 change shapes across 106 fixtures, 5 byte-identical (both guest share pages and the catch-all — the three that must not change). Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0159rPz1ZhFKsS53msqPYxtS
62 lines
3.2 KiB
HTML
62 lines
3.2 KiB
HTML
|
|
<!DOCTYPE html>
|
|
<html lang="hu">
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
<title>Jelszó visszaállítása — Felhom</title>
|
|
<link rel="stylesheet" href="/static/style.css">
|
|
</head>
|
|
<body class="login-body">
|
|
<div class="shell-lang"><details class="lang-globe">
|
|
<summary class="lang-globe-btn" aria-label="Nyelv" title="Nyelv"><svg class="ico" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><circle cx="12" cy="12" r="10" /><path d="M2 12h20" /><path d="M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z" /></svg></summary>
|
|
<ul class="lang-globe-menu">
|
|
<li><form method="POST" action="/lang"><input type="hidden" name="back" value="/i18n-fixture"><button type="submit" name="lang" value="hu" lang="hu" class="lang-globe-item current" aria-current="true">Magyar</button></form></li>
|
|
<li><form method="POST" action="/lang"><input type="hidden" name="back" value="/i18n-fixture"><button type="submit" name="lang" value="en" lang="en" class="lang-globe-item">English</button></form></li>
|
|
</ul>
|
|
</details></div>
|
|
<div class="login-card">
|
|
<img src="/static/felhom-logo.svg" alt="Felhom.eu" class="login-logo">
|
|
<h1 class="login-title">Jelszó <span class="title-accent">visszaállítása</span></h1>
|
|
<p class="login-subtitle">Teszt Ügyfél</p>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<p style="font-size:0.85rem;color:var(--text-muted,#8a94a6);margin:0 0 1rem">
|
|
Add meg az e-mailben kapott beállító kódot, majd válassz új jelszót.
|
|
</p>
|
|
<form method="POST" action="/claim">
|
|
<input type="hidden" name="_csrf" value="CSRF">
|
|
<div class="form-group">
|
|
<label for="code">Beállító kód</label>
|
|
<input type="text" id="code" name="code" required autofocus autocomplete="off"
|
|
placeholder="szó-szó-szó" class="form-control">
|
|
</div>
|
|
<div class="form-group">
|
|
<label for="new_password">Új jelszó (min. 12 karakter)</label>
|
|
<input type="password" id="new_password" name="new_password" required minlength="12"
|
|
placeholder="Legalább 12 karakter" class="form-control">
|
|
</div>
|
|
<div class="form-group">
|
|
<label for="confirm_password">Új jelszó megerősítése</label>
|
|
<input type="password" id="confirm_password" name="confirm_password" required minlength="12"
|
|
placeholder="Jelszó mégegyszer" class="form-control">
|
|
</div>
|
|
<button type="submit" class="btn btn-primary btn-full">Jelszó beállítása</button>
|
|
</form>
|
|
|
|
|
|
<form method="POST" action="/claim/request-new-code" style="margin-top:1rem">
|
|
<input type="hidden" name="_csrf" value="CSRF">
|
|
<button type="submit" class="btn btn-outline btn-full">Új beállító kód kérése</button>
|
|
</form>
|
|
|
|
<p class="login-footer">Felhom — Otthoni szerver kezelés<br>
|
|
<a href="https://felhom.eu" target="_blank">felhom.eu</a></p>
|
|
</div>
|
|
</body>
|
|
</html>
|