Skip to content

Native InnerTube channel screen, notes, large-screen layout and scheduled-stream fixes - #1059

Merged
A-EDev merged 22 commits into
mainfrom
refactor/channel-innertube
Sep 14, 2026
Merged

A-EDev merged 22 commits into
mainfrom
refactor/channel-innertube

Conversation

@A-EDev

@A-EDev A-EDev commented Sep 14, 2026

Copy link
Copy Markdown
Owner

Summary

  • The channel screen now loads from native InnerTube instead of NewPipe: one browse per open plus one per tab visited (was one HTML scrape and up to 102 browses), tabs come from the response, and Home/Shows/Podcasts/Playlists/Posts/About render everything the channel publishes.
  • Large windows get the shared feed grid (3 cards per row by default, honouring the "Cards per row" setting), single-column rows for playlists/shows/podcasts, grid shelves on Home, and a full-width tab divider; the phone layout is unchanged.
  • Private per-channel and per-video notes (Room 27 auto-migration), carried through backup, restore and device sync.
  • Scheduled live streams show an UPCOMING badge with their start time (channel tabs, Subscriptions feed, following the list date setting), finished streams show their duration, and opening one shows the countdown with title, description, channel and related videos.
  • External youtube.com/channel/UC… links open the channel screen instead of the player.

Related issue

Closes #1026
Closes #699

Change type

  • Bug fix
  • Feature
  • Refactor or maintenance
  • Build, packaging, or CI
  • Documentation

Validation

  • ./gradlew :app:assembleGithubDebug
  • ./gradlew :app:testGithubDebugUnitTest — 1,800 tests, 0 failures
  • I ran any additional flavor-specific build or test tasks affected by this change. — :app:compileFossDebugKotlin, spotlessKotlinCheck on the touched files
  • I manually tested the affected behavior on an Android device or emulator.

Test device and Android version: Resizable_Experimental emulator (Android 16, tablet 1280×800 dp and folded phone postures) plus the owner's tablet for the channel layout. Not exercised: upgrading an installed v26 database to v27, and two-device note sync (both unit-tested only).

Screenshots or recordings

Reviewed on the owner's tablet against the YouTube app (channel tabs, Home shelves, posts) and on the emulator (Live tab with UPCOMING/LIVE/duration badges, Subscriptions card with the scheduled start, countdown screen). Captures available on request.

Risk and compatibility

  • Room schema: version 26 → 27 adds the notes table via AutoMigration; schema JSON is exported.

  • Channel browses now send the device UTC offset so server-rendered times ("Scheduled for …") are local.

  • A subscription-feed row that is a scheduled live stream is cached as live + upcoming (no new column) and reads back as upcoming until its start time passes.

  • The countdown screen now requests channel metadata and related videos without waiting for playback, since none starts.

  • No new permissions, dependencies or telemetry.

  • The change does not introduce secrets, private data, or unexpected telemetry.

  • New user-facing text uses Android string resources.

  • Dependency and lockfile changes are intentional and limited to this PR.

  • Room schema changes include the required version bump and migration, or this PR does not change the Room schema.

  • Breaking changes and upgrade steps are clearly documented.

Copilot AI lite review requested due to automatic review settings September 14, 2026 12:36

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@github-actions github-actions Bot added player Video and audio playback ui Compose UI, theming, or Material 3 surfaces sync Device-to-device sync extraction InnerTube / NewPipe extraction and networking labels Sep 14, 2026
@A-EDev
A-EDev merged commit 7ad7753 into main Sep 14, 2026
5 checks passed
@A-EDev A-EDev added the merged Pull request verified, tested and merged label Sep 14, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

extraction InnerTube / NewPipe extraction and networking merged Pull request verified, tested and merged player Video and audio playback sync Device-to-device sync ui Compose UI, theming, or Material 3 surfaces

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Bug]: Live section issue [BUG] Live videos issues

2 participants