A nearby phone or tablet only offers to set up an Android TV while the TV shows its server-setup screen. When the TV's session expires, or the user switches to a saved server that has no sign-in, the TV shows its sign-in screen instead, and no phone offers to sign it back in. The only ways back are scanning the QR code, which opens the web approval page and needs a separate web sign-in, or typing a password with the remote. Sign Out isn't affected, because it returns to server setup, which advertises.
Why
TvServerSetupScreen starts and stops the pairing advertiser (TvServerSetupScreen.kt). TvLoginScreen doesn't advertise.
- The advertiser always sends
st=setup (AndroidTvModule.kt). Its comment explains why: advertising login made the TV invisible to iPhones, whose card only offers setup TVs.
- An expired session navigates to
TvRoute.Login (TvAppNavigation.kt). Sign Out navigates to server setup (lines 733-741).
Expected
A signed-out Android TV on its sign-in screen advertises login and gets the same offer from a signed-in phone or tablet on the same network: sign it in, confirm the code, approve. The phone offers it only when it holds the server the TV is signed out of, and skips the server chooser.
Notes
AI disclosure
- Harness: T3 Code (Claude Code agent harness)
- Tool(s): Claude Code, GitHub CLI
- Model(s): claude-opus-5-5
- Involvement: AI-drafted at the maintainer's request, from reading the code on
main at c38fb93; not reproduced on a device
- Adversarial review: n/a
A nearby phone or tablet only offers to set up an Android TV while the TV shows its server-setup screen. When the TV's session expires, or the user switches to a saved server that has no sign-in, the TV shows its sign-in screen instead, and no phone offers to sign it back in. The only ways back are scanning the QR code, which opens the web approval page and needs a separate web sign-in, or typing a password with the remote. Sign Out isn't affected, because it returns to server setup, which advertises.
Why
TvServerSetupScreenstarts and stops the pairing advertiser (TvServerSetupScreen.kt).TvLoginScreendoesn't advertise.st=setup(AndroidTvModule.kt). Its comment explains why: advertisingloginmade the TV invisible to iPhones, whose card only offerssetupTVs.TvRoute.Login(TvAppNavigation.kt). Sign Out navigates to server setup (lines 733-741).Expected
A signed-out Android TV on its sign-in screen advertises
loginand gets the same offer from a signed-in phone or tablet on the same network: sign it in, confirm the code, approve. The phone offers it only when it holds the server the TV is signed out of, and skips the server chooser.Notes
loginTVs before any TV advertises it.helloneeds to carry the server identity fromGET /api/v2/system/identity. That is an additive protocol change, to agree with silo-apple.sttoday; it offers the first TV it hasn't dismissed (HomeScreen.kt). AloginTV would get the full server chooser.AI disclosure
mainat c38fb93; not reproduced on a device