feat(auth): KTO-01 Registrierung (01a) – Screens, Auth-Domäne, Formular-Komponenten (2/4) #34
No reviewers
Labels
No labels
epic/katalog
epic/konto
epic/partien
epic/querschnitt
epic/sammlung
needs-clarification
prio/could
prio/must
prio/should
size/l
size/m
size/s
size/xl
status/in-progress
status/ready-for-merge
status/spec-review
type/bug
type/epic
type/story
type/tech
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: cschlaefke/Shuffle#34
Loading…
Reference in a new issue
No description provided.
Delete branch "feature/1-01a-registrierung"
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?
Zusammenfassung
Registrierung für #1 (KTO-01, PR 01a): Formular-Komponenten (
core/widgets), Auth-Domäne und -Daten (Validatoren,AuthFailure, Repository, Router-Redirects, Passwortliste) und die Screens Register, CheckEmail und EmailLink (Bestätigung). Login (01b) und Passwort-Reset (01c) folgen. Dieser PR schließt #1 nicht.Refs #1
Spec:
docs/specs/1-auth-registrierung-anmeldung.mdAkzeptanzkriterien (Anteil 01a)
trim_ws), U+200B abgelehntAbdeckungsmatrix
register_controller_test,register_screen_test,check_email_*(KTO-01 Kriterium 1)password_policy_test,common_password_list_test, Widget-Testsidentities,emailSendLimited), Widget-Test mit exaktem Textvergleichdisplay_name_rule_test(Emoji, NBSP, Tab, BOM, U+3000, U+200B), Widget-Teststerms_versionund Locale imsignUp-AufruftextScaler2.0, de/en, Hell/Dunkel je Screen; Rechtstext-Links alsisLink-Semantics326 Tests grün. Kein Playwright/E2E in diesem PR (T3/D2 folgen als eigener PR, Regressionstest AUTH-CFG-24, Drosselungstest Krit. 7).
Definition of Done
dart format,flutter analyzeohne Befund,flutter testgrün (lokal), Web-Build bautdocs/design/auth-screens.md,docs/design-system.mdurl_launcherbringt native PluginsReview
code-reviewer: 2 Blocker (Lizenzentscheidung Passwortliste, Rechtstext-Links für Screenreader im Web) und mehrere wichtige Punkte (URL-Schema, Doppel-Submit, Transportfehler-Erkennung, Lizenztext zur Laufzeit,extrain History, Live-Region) sind behoben.Hinweise für den Review
/login,/forgot-password,/reset-passwordsind bis 01b/01c leere Seiten. 01a sollte nicht ohne 01b ausgeliefert werden.app/assets/security/README.md, Entscheidung durch Chris am 2026-11-03.package:http1.6.0 (stand schon transitiv im Lock),url_launcher6.3.3.finest(Folge-Issue, betrifft Fundament);validation_failed→invalidEmailevtl. auch für zu lange Passwörter (T3 klärt); SMTP-Ausfall beimsignUpals Restrisiko-Seitenkanal.tokenRefreshed/signedInheben den Recovery-Status nicht auf (Abweichung vom Spec-Wortlaut, dokumentiert in § 5.5/10). Redirect von/reset-passwordnachuserUpdatedmuss 01c lösen.So testest du es lokal
🤖 Generated with Claude Code
Review- und CI-Ergebnis (01a Registrierung)
CI (Commit
239d0e1): alle 4 Jobs grün –flutter(1m16s),web-build(53s),supabase(3s),supabase-tests(32s).Code-Review (Agent
code-reviewer): 2 Blocker und mehrere wichtige Punkte gefunden und im Commit239d0e1behoben (u. a. trim_ws/Unicode-Whitespace, Mail-Template bei nicht-String-Locale, unsichtbarer Fokusring am FilledButton, Android-INTERNET-Permission, iOS-Lokalisierungen, Rechtstexte-Links für Screenreader im Web, Doppel-Submit, Transportfehler-Erkennung, SITE_URL-Produktionsdefault).Bitte beachten:
/login,/forgot-password,/reset-passwordsind leer – 01a darf nicht ohne 01b/01c ausgeliefert werden.Merge durch Chris.