Skip to content

Releases: Code-Stride/VibeTube

VibeTube v1.11.0 — YouTube Music Mode Switch

Choose a tag to compare

@Code-Stride Code-Stride released this 03 Aug 17:56

YouTube Music Mode Switch

Settings > Appearance

  • 🔄 New switch: YouTube Mode ↔ YouTube Music Mode
  • Tap to switch, toast feedback
  • Persists across restarts

YouTube Music Mode

  • 🎵 Music-focused home feed
  • 🎵 Music category chips: Trending, New Releases, Bollywood, Pop, Hip-Hop, R&B, Classical, Devotional, Podcasts
  • 🎵 Quick picks grid + Trending music list
  • 🎵 YouTube Music branding (red accent)
  • 🎵 Bottom nav: Home, Search, Library, Downloads, Settings

Broken Flows Fixed

  • ✅ Cast button → toast
  • ✅ Notifications button → toast
  • ✅ Playlist/Not Interested → toast

Version: 1.11.0+26

Full Changelog: v1.10.0...v1.11.0

v1.10.0

Choose a tag to compare

@github-actions github-actions released this 03 Aug 13:07

Full Changelog: v1.9.3...v1.10.0

VibeTube v1.9.3 — Video Quality Upscale

Choose a tag to compare

@Code-Stride Code-Stride released this 01 Aug 17:45

Video Quality Upscaled

Player (Auto mode)

  • Tries highest quality FIRST: 2160p > 1440p > 1080p > 720p > 480p
  • Master HLS playlist → fallback only
  • No more low-quality adaptive ramp-up

Shorts

  • Fixed: was getting LOWEST quality (sorted ascending)
  • Now gets HIGHEST quality (sorted descending)

Default Quality

  • Changed from Auto (HLS) to 1080p

preferredPlayUrl

  • Highest HLS variant > master playlist > progressive

Version: 1.9.3+24

Full Changelog: v1.9.2...v1.9.3

v1.9.2

Choose a tag to compare

@github-actions github-actions released this 01 Aug 17:23

Full Changelog: v1.9.1...v1.9.2

VibeTube v1.9.1 — Mini Player Pause/Resume Fix

Choose a tag to compare

@Code-Stride Code-Stride released this 01 Aug 17:03

Fix: Mini Player start-stop bug

Same audio focus race condition as full player — fixed in MiniPlayerController.

  • _requestingFocus guard on _onShouldPause, _onBecomingNoisy
  • _lastPlayTime timestamp — ignore interrupts for 1s after play
  • Guard on togglePlay(), play(), _onMediaPause()

Now pause → resume works from:

  • Mini player play/pause button ✅
  • Lock screen controls ✅
  • Notification controls ✅

Version: 1.9.1+22

Full Changelog: v1.9.0...v1.9.1

VibeTube v1.9.0 — Complete YouTube-Quality UI Overhaul

Choose a tag to compare

@Code-Stride Code-Stride released this 01 Aug 03:44

Complete YouTube-Quality Overhaul 🎬

🎨 Theme — YouTube Exact Colors

  • Dark: #0F0F0F bg, #212121 surface, #F1F1F1 text
  • YouTube Red (#FF0000), YouTube Blue (#3EA6FF)
  • Roboto font (YouTube's font)

🏠 Home Screen

  • YouTube-exact top bar, category chips, shimmer loading

📹 VideoCard

  • Pixel-perfect YouTube card layout

📱 Shorts

  • Double-tap heart animation, YouTube gradient, action buttons

🎵 Mini Player

  • YouTube-style progress bar, slide transition

🔍 Search

  • YouTube-exact search bar with mic button

✨ Animations

  • AnimatedSwitcher, ScaleTransition, AnimatedOpacity, PageRouteBuilder

Version: 1.9.0+21

Full Changelog: v1.8.3...v1.9.0

VibeTube v1.8.3 — Shorts Pause, Refresh Variety, Video Fix

Choose a tag to compare

@Code-Stride Code-Stride released this 31 Jul 19:58

Fixes

📱 Shorts background play FIXED

  • Shorts only play when Shorts tab is visible
  • Pause on tab switch, resume on return

🔄 Refresh variety (YouTube-style)

  • Every pull-to-refresh shuffles video order
  • Shorts also shuffle for variety

🎥 Video auto-stop FIXED

  • 1-second debounce after play — ignores delayed audio session callbacks
  • _requestingFocus guard kept active for 1s after play
  • _lastPlayTime timestamp prevents false interruptions

Version: 1.8.3+20

Full Changelog: v1.8.2...v1.8.3

VibeTube v1.8.2 — Fix Update Popup

Choose a tag to compare

@Code-Stride Code-Stride released this 31 Jul 19:30

Fix

  • False update popup: When app was already on latest version, checkUpdate(force:true) still returned update info. Now correctly returns null when versions match.

No more false "Update Available" popups!

Version: 1.8.2+19

Full Changelog: v1.8.1...v1.8.2

VibeTube v1.8.1 — Player Layout Fixed + Audio Focus Fix

Choose a tag to compare

@Code-Stride Code-Stride released this 31 Jul 18:14

Fixes

🎥 Player Layout Restored

  • Reverted broken GestureDetector wrappers that caused blank player screen
  • Controls overlay is now a direct child of Stack again (Positioned.fill constraint)

🔊 Audio Focus Race Condition Fixed

  • _requestingFocus guard prevents self-triggered audio interruptions
  • When the app requests audio focus, _onShouldPause and _onBecomingNoisy callbacks are suppressed
  • This fixes the "video plays for microsecond then stops" bug

🗑️ Removed

  • PipedService removed (was causing issues)
  • Shorts now use InnerTube client for stream URLs

Version: 1.8.1+18

Full Changelog: v1.8.0...v1.8.1

VibeTube v1.8.0 — Video Playback FIXED + Shorts Inline

Choose a tag to compare

@Code-Stride Code-Stride released this 31 Jul 17:29

CRITICAL FIXES

🎥 Video Playback FIXED

  • "Plays microsecond then stops" — Root cause: AudioHelper.requestFocus() triggered _onShouldPause callback which immediately paused the video. Added _requestingFocus guard to suppress self-triggered interruptions.
  • "Null check operator used on a null value" — Fixed unsafe ! operators throughout player.
  • Gesture tap conflict — Parent GestureDetector intercepted play button taps. Controls overlay now absorbs taps independently.
  • Piped API fallback — When YouTube direct URLs fail (signatureCipher), the app now falls back to 4 public Piped API instances that return direct working stream URLs.

📱 Shorts Inline Playback

  • Shorts now play video inline like YouTube Shorts
  • Vertical PageView with VideoPlayerController
  • Tap to play/pause with visual indicator
  • Progress bar, subscribe, like, share, comments all functional

Infrastructure

  • New PipedService with 4 fallback instances
  • Piped fallback at 2 points in playback chain
  • 0 analyze issues, 38/38 tests pass

APK: Auto-built by CI (check Actions tab)

Full Changelog: v1.7.1...v1.8.0