Sign in to an Account (app scaffold + session) #10
Labels
No labels
needs-info
needs-triage
ready-for-agent
ready-for-human
wayfinder:grilling
wayfinder:map
wayfinder:prototype
wayfinder:research
wayfinder:task
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
TheAnachronism/tt-rss-viewer#10
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
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?
What to build
A runnable Flutter Android app (Material 3, dark by default, Riverpod, ADR-0001 feature/domain/data seams) where a person with no Accounts lands on Sign-in, connects to a tt-rss instance (base URL, username, password, optional display name), and after a successful login with
api_level≥ 23 is taken to the List hub shell with Fresh Selection and the Unread filter on. The Account (secrets +sid+ active id) survives process death; cold start restores the active Account and skips Sign-in. Bad credentials, API disabled, and network/TLS failures are shown clearly — never silently.Handoff context:
docs/mvp-spec.md,CONTEXT.md, ADR-0001,docs/research/.Acceptance criteria
api_level≥ 23, and persists Account metadata + password/sidin secure storage + last active Account idLOGIN_ERROR,API_DISABLED, and network/TLS failures surface clear user-visible errorsBlocked by
Done
Implemented Sign-in + app scaffold on
master.Delivered
dev.anachronis.tt_rss_viewer) with Material 3 dark chrome, Riverpod, ADR-0001 folders (accounts,list,domain,data/{api,local})PrefsAccountStore(prefs metadata + secure password/sid)baseUrl+ optionalsid; login requiresapi_level≥ 23; mapsLOGIN_ERROR/API_DISABLED/ network(baseUrl, username)rejectedflutter test14 passed;dart analyzecleanRun
nix develop -c flutter run -d android(or-d linux)Implemented on master: Sign-in scaffold + Account session.