Skip to content

Chromecast support in the mobile app (VPN/tunnel-safe) #36

Closed

Description

@altaywtf

Part of #14 (W3, mobile v1). In v1 since the 2026-08-08 decision: iOS v1 ships Chromecast, and Cast matters more on Android than AirPlay does on iOS. Unblocked: #27 and putdotio/putio-sdk-kotlin#30 are closed.

Outcome

Cast video and audio from the mobile app to a Cast device, with playback that works over the user's tunnel or proxy route (design brief §I: casting must work under VPN).

Scope

Cast SDK analytics

The Android Cast SDK's analytics can't be turned off. CastOptions.Builder has no analytics toggle, and Google's Cast SDK data disclosure says neither the developer nor the user can opt out. iOS turns it off with disableAnalyticsLogging = true (putio-ios@273c450a on next, putio-ios@ea7e3126 on main); Android has no equivalent.

So on Android, Cast analytics can't follow the product-analytics opt-in (putdotio/support#95). Treat it as part of the casting feature, not product analytics:

Acceptance criteria

  • Verify green; a recording of a phone-to-Cast session (start, seek, subtitles, disconnect) is attached.
  • Both Cast SDK analytics items above are done.

Written by an agent (Claude Code, Claude Opus 5.5)

Activity

  1. altaywtf commented on Oct 27, 2026

    @altaywtf
    MemberAuthor

    Cast shipped in #410–#413: video and audio to Default Media Receiver, HLS or MP4 per the account setting, WebVTT or HLS subtitles, handback, next-episode autoplay, proven on a Pixel 8a to a Mi Box. Receivers fetch api.put.io URLs with the download token, so the phone's VPN route doesn't matter. Left: the two Cast analytics items and a session recording.

  2. altaywtf commented on Nov 1, 2026

    @altaywtf
    MemberAuthor

    Cast shipped in #410–#413, proven Pixel 8a → Mi Box. The disclosure items (Services page, Data Safety) moved to #31. Android's Cast SDK analytics can't be turned off, so that's a disclosure task, not code.

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

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions