[F8-01] Экраны входа: автофокус + запрет автоподстановки кода #44
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Подзадача полировки UI (этап F8), родительский #43.
Цель: Автофокус на нужном поле обоих экранов входа и подавление автоподстановки кода подтверждения.
Пункты из #43:
Заметка. п.3 — повторить приём, которым уже подавлено запоминание email (атрибуты
autocomplete/имя поля), и проверить в Firefox и Safari.Порядок обработки: F8-01 из 12. Создано в рамках #43; зонтичный issue остаётся открытым до закрытия всех подзадач.
Working log (issue-agent) — click to expand
State: done (merged)
Updated: 2026-05-26T (merge-gate run)
Branch / PR: PR #56 MERGED into
development(normal merge commit); source branchfeature/issue-44-login-autofocus-otpauto-deleted;Closes #44closed the issue.Confirmed at merge gate:
development, body carriedCloses #44,mergeable=true.APPROVEDreview by the author (owner), review id 4,commit_id=3d5b331b== PR head,stale=false— covers head, not my own approval.3d5b331b:test (push)#357 success,test (pull_request)#358 success,deploy#359 (manual dev-deploy preview) success. The combined commit/statusreadpending— the documented phantom orphan-row, not a live check.Open question: —
Decisions: All merge-gate conditions held → merged; set
claude/done(exclusive scope clearedclaude/in-review); Kind/* and Priority/Low preserved.Next: Terminal. Firefox/Safari form-history dropdown remains owner manual-QA (no Firefox project in the e2e matrix; the attribute the fix relies on is asserted in Vitest/Playwright). If the owner reports a regression, reopen-scope would be a fresh issue.
@owner, готово, кладу на ревью — PR #56 (в
development,Closes #44). CI зелёный (ui-test).Что сделала
use:-экшеном; фокус заодно снимаетreadonly-«заглушку» (приём против автозаполнения Safari остался жив), так что поле сразу готово к вводу.b6770d3, 23 мая) — то есть ещё до твоего репорта. Поэтому «повторить как с email» само по себе не помогло бы.autocomplete="new-password"— это подсказка менеджерам паролей, а не запрет истории форм Firefox. Поменяла поле кода наautocomplete="one-time-code"— это семантический токен для кода подтверждения, и Firefox именно его уважает, чтобы не складывать значение в историю форм (Mozilla bug 1547294). Поле email оставила наnew-password— ему всё ещё надо отбиваться от автозаполнения сохранённого логина.Тесты
readonlyснимается) и токенone-time-code.Файлы:
ui/frontend/src/lib/screens/login-screen.svelte,ui/frontend/tests/login-page.test.ts,ui/frontend/tests/e2e/auth-flow.spec.ts,ui/docs/auth-flow.md(новый раздел «Focus and autofill suppression»).Мерджить сама не буду — жду твоего ревью/APPROVED. Если в Firefox/Safari что-то поведёт себя не так — напиши, докручу.
@owner, спасибо за ревью — влила PR #56 в
developmentобычным merge-коммитом, ветку Gitea подчистила сама, issue закрылась поCloses #44. Мердж вdevelopmentштатно уедет на dev-окружение черезdev-deploy.yaml.Напоминаю про твою часть: выпадающий список из истории форм в Firefox (и заодно Safari) тестами не покрыть — Firefox-проекта в e2e-матрице нет. Атрибут, на котором держится фикс (
autocomplete="one-time-code"на поле кода), проверен в Vitest и Playwright (Chromium + WebKit), а сам дропдаун глянь, пожалуйста, руками. Если в Firefox код всё ещё всплывает — пиши, заведём отдельную подзадачу и докрутим.F8-01 закрыт. Зонтичный #43 остаётся открытым до остальных подзадач.