Yahoo's MailProvider entry already has an appPasswordHelpUrl
(https://login.yahoo.com/account/security, in domain/model/MailProvider.kt) — a direct link
to Yahoo's account-security settings. But that page assumes the user already knows to look for
"Generate app password" once there; it isn't a walkthrough. The article this ticket links, https://my.help.yahoo.com/kb/mail/generate-app-specific-password-sln15241.html, is a genuine
step-by-step how-to, distinct in kind from the direct settings-page link.
The Gmail screen already shows a two-link pattern for exactly this reason: a direct action link
(appPasswordHelpUrl) plus a second, prerequisite help article (twoFactorHelpUrl) — see the
conditional block in AppPasswordSetupScreen.kt (~lines 163-171). Yahoo has no 2FA prerequisite,
so reusing twoFactorHelpUrl for a "how do I actually do this" link would be a misnomer; Yahoo
needs its own field for a how-to article that isn't about 2FA.
Scope
Add a new optional field to MailProvider, e.g. instructionsUrl: String? — distinct from appPasswordHelpUrl (the direct action link) and twoFactorHelpUrl (the 2FA-prerequisite
article, Gmail-only today). Resolve this naming/design before implementing, since #153
(iCloud) has an overlapping need and should reuse the same field rather than inventing a
second one.
Wire instructionsUrl into AppPasswordSetupScreen.kt as an additional OutlinedButton,
following the existing pattern at ~lines 154-171, shown only when non-null.
Set Yahoo's instructionsUrl to the article linked above.
Add a string resource for the button label (e.g. "How to generate an app password").
Acceptance criteria
Yahoo's guided setup screen shows both the direct link to Yahoo's account-security settings and
a separate link to the step-by-step instructions article.
Gmail and iCloud screens are unaffected unless #153 also lands.
The instructionsUrl field introduced here is intended to be reused by #153 (iCloud) and
optionally #156 (AOL) — coordinate field naming across these before starting any of them.
## Context
Yahoo's `MailProvider` entry already has an `appPasswordHelpUrl`
(`https://login.yahoo.com/account/security`, in `domain/model/MailProvider.kt`) — a direct link
to Yahoo's account-security settings. But that page assumes the user already knows to look for
"Generate app password" once there; it isn't a walkthrough. The article this ticket links,
https://my.help.yahoo.com/kb/mail/generate-app-specific-password-sln15241.html, is a genuine
step-by-step how-to, distinct in kind from the direct settings-page link.
The Gmail screen already shows a two-link pattern for exactly this reason: a direct action link
(`appPasswordHelpUrl`) plus a second, prerequisite help article (`twoFactorHelpUrl`) — see the
conditional block in `AppPasswordSetupScreen.kt` (~lines 163-171). Yahoo has no 2FA prerequisite,
so reusing `twoFactorHelpUrl` for a "how do I actually do this" link would be a misnomer; Yahoo
needs its own field for a how-to article that isn't about 2FA.
## Scope
- [ ] Add a new optional field to `MailProvider`, e.g. `instructionsUrl: String?` — distinct from
`appPasswordHelpUrl` (the direct action link) and `twoFactorHelpUrl` (the 2FA-prerequisite
article, Gmail-only today). Resolve this naming/design before implementing, since #153
(iCloud) has an overlapping need and should reuse the same field rather than inventing a
second one.
- [ ] Wire `instructionsUrl` into `AppPasswordSetupScreen.kt` as an additional `OutlinedButton`,
following the existing pattern at ~lines 154-171, shown only when non-null.
- [ ] Set Yahoo's `instructionsUrl` to the article linked above.
- [ ] Add a string resource for the button label (e.g. "How to generate an app password").
## Acceptance criteria
- Yahoo's guided setup screen shows both the direct link to Yahoo's account-security settings and
a separate link to the step-by-step instructions article.
- Gmail and iCloud screens are unaffected unless #153 also lands.
## Relevant files
- `domain/model/MailProvider.kt`, `ui/accountsetup/AppPasswordSetupScreen.kt`,
`res/values/strings.xml` (`app_password_*` block).
## Dependencies
The `instructionsUrl` field introduced here is intended to be reused by #153 (iCloud) and
optionally #156 (AOL) — coordinate field naming across these before starting any of them.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Context
Yahoo's
MailProviderentry already has anappPasswordHelpUrl(
https://login.yahoo.com/account/security, indomain/model/MailProvider.kt) — a direct linkto Yahoo's account-security settings. But that page assumes the user already knows to look for
"Generate app password" once there; it isn't a walkthrough. The article this ticket links,
https://my.help.yahoo.com/kb/mail/generate-app-specific-password-sln15241.html, is a genuine
step-by-step how-to, distinct in kind from the direct settings-page link.
The Gmail screen already shows a two-link pattern for exactly this reason: a direct action link
(
appPasswordHelpUrl) plus a second, prerequisite help article (twoFactorHelpUrl) — see theconditional block in
AppPasswordSetupScreen.kt(~lines 163-171). Yahoo has no 2FA prerequisite,so reusing
twoFactorHelpUrlfor a "how do I actually do this" link would be a misnomer; Yahooneeds its own field for a how-to article that isn't about 2FA.
Scope
MailProvider, e.g.instructionsUrl: String?— distinct fromappPasswordHelpUrl(the direct action link) andtwoFactorHelpUrl(the 2FA-prerequisitearticle, Gmail-only today). Resolve this naming/design before implementing, since #153
(iCloud) has an overlapping need and should reuse the same field rather than inventing a
second one.
instructionsUrlintoAppPasswordSetupScreen.ktas an additionalOutlinedButton,following the existing pattern at ~lines 154-171, shown only when non-null.
instructionsUrlto the article linked above.Acceptance criteria
a separate link to the step-by-step instructions article.
Relevant files
domain/model/MailProvider.kt,ui/accountsetup/AppPasswordSetupScreen.kt,res/values/strings.xml(app_password_*block).Dependencies
The
instructionsUrlfield introduced here is intended to be reused by #153 (iCloud) andoptionally #156 (AOL) — coordinate field naming across these before starting any of them.