feat(accountsetup): add Yahoo app-password/2FA help in onboarding #185

Merged
JMR-dev merged 6 commits from feat-155-yahoo-app-password into main 2026-07-03 01:43:02 +00:00
JMR-dev commented 2026-07-03 00:25:50 +00:00 (Migrated from github.com)

Summary

Yahoo's guided app-password setup screen linked only Yahoo's generic account-security sign-in page (https://login.yahoo.com/account/security) — a page that assumes the user already knows to look for "Create app password" once they're there, rather than walking them through it. This mirrors what #153/PR #180 did for iCloud: point the button at the provider's actual step-by-step how-to.

  • MailProvider.YAHOO.appPasswordHelpUrl now points at Yahoo's own step-by-step article, "Generate and manage 3rd-party app passwords" (https://my.help.yahoo.com/kb/mail/generate-app-specific-password-sln15241.html), instead of the generic sign-in page.
  • No twoFactorHelpUrl for Yahoo. Unlike Gmail and iCloud, Yahoo does not gate app-password creation behind two-step verification — verified live against Yahoo's help docs, which never list 2-step verification as a prerequisite for generating an app password. So Yahoo keeps twoFactorHelpUrl = null and shows no 2FA button. AppPasswordSetupScreen.kt already renders the help buttons generically from these provider fields, and PR #152's ordering (2FA link before the app-password link) is preserved for the providers that have both — so no screen change was needed and no new string was required.
  • Added MailProviderTest#yahoo app-password help points at Yahoo's step-by-step instructions… pinning the exact new URL (mirroring the iCloud test added in #180), and extended the OnboardingFlowTest#yahooSetup_hasNoTwoFactorHelpLink comments to reference #155 (its behavior — no 2FA link — is unchanged and now re-verified).

Yahoo URLs used

  • App-password how-to: https://my.help.yahoo.com/kb/mail/generate-app-specific-password-sln15241.html ("Generate and manage 3rd-party app passwords | Mail Help | Yahoo Help") — confirmed live, genuine step-by-step walkthrough.
  • 2FA article: none — Yahoo does not require two-step verification to create an app password (confirmed against Yahoo's own help docs), so no twoFactorHelpUrl was set.

Test plan

  • Local gate (JDK 21): assembleDebug, testDebugUnitTest, lintDebug, ktlintCheck, detekt, compileDebugAndroidTestKotlin — all green (BUILD SUCCESSFUL).
  • New MailProviderTest case pins the exact Yahoo URL.
  • OnboardingFlowTest androidTest source set compiles (E2E is run by CI, not locally, per repo convention).

Closes #155

🤖 Generated with Claude Code

## Summary Yahoo's guided app-password setup screen linked only Yahoo's generic account-security sign-in page (`https://login.yahoo.com/account/security`) — a page that assumes the user already knows to look for "Create app password" once they're there, rather than walking them through it. This mirrors what #153/PR #180 did for iCloud: point the button at the provider's actual step-by-step how-to. - `MailProvider.YAHOO.appPasswordHelpUrl` now points at Yahoo's own step-by-step article, **"Generate and manage 3rd-party app passwords"** (`https://my.help.yahoo.com/kb/mail/generate-app-specific-password-sln15241.html`), instead of the generic sign-in page. - **No `twoFactorHelpUrl` for Yahoo.** Unlike Gmail and iCloud, Yahoo does **not** gate app-password creation behind two-step verification — verified live against Yahoo's help docs, which never list 2-step verification as a prerequisite for generating an app password. So Yahoo keeps `twoFactorHelpUrl = null` and shows no 2FA button. `AppPasswordSetupScreen.kt` already renders the help buttons generically from these provider fields, and PR #152's ordering (2FA link before the app-password link) is preserved for the providers that have both — so no screen change was needed and no new string was required. - Added `MailProviderTest#yahoo app-password help points at Yahoo's step-by-step instructions…` pinning the exact new URL (mirroring the iCloud test added in #180), and extended the `OnboardingFlowTest#yahooSetup_hasNoTwoFactorHelpLink` comments to reference #155 (its behavior — no 2FA link — is unchanged and now re-verified). ## Yahoo URLs used - App-password how-to: `https://my.help.yahoo.com/kb/mail/generate-app-specific-password-sln15241.html` ("Generate and manage 3rd-party app passwords | Mail Help | Yahoo Help") — confirmed live, genuine step-by-step walkthrough. - 2FA article: **none** — Yahoo does not require two-step verification to create an app password (confirmed against Yahoo's own help docs), so no `twoFactorHelpUrl` was set. ## Test plan - [x] Local gate (JDK 21): `assembleDebug`, `testDebugUnitTest`, `lintDebug`, `ktlintCheck`, `detekt`, `compileDebugAndroidTestKotlin` — all green (`BUILD SUCCESSFUL`). - [x] New `MailProviderTest` case pins the exact Yahoo URL. - [x] `OnboardingFlowTest` androidTest source set compiles (E2E is run by CI, not locally, per repo convention). Closes #155 🤖 Generated with [Claude Code](https://claude.com/claude-code)
Sign in to join this conversation.