Skip to content

Android TV sign-in can stay on "Loading pairing code…" with no way to retry #421

Description

@Quick104

The Android TV sign-in screen can stay on "Loading pairing code…" indefinitely with no "Try again" button. "Sign in with a password" and "Use another server" still work, so the user can leave, but the QR sign-in never starts.

Why

TvLoginViewModel.startDeviceLogin returns early when captureAccountSessionExpectation() returns null: val expected = tokenManager.captureAccountSessionExpectation() ?: return@launch (TvLoginViewModel.kt). The device sign-in never starts and no error is set. The QR card shows "Loading pairing code…" for the Idle state and only offers "Try again" in Failed (TvLoginScreen.kt).

The expectation is null when the account generation changes between reading it and taking the identity lock, for example when a sign-out, session expiry or server switch lands while the sign-in screen opens. That's a narrow race, and it hasn't been reproduced.

Expected

Read the expectation again, or move the QR card to a failed state with "Try again".

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

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions