You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Upgraded LessonModel.fromSnapshot() to parse both snake_case (youtube_url, youtube_video_id, duration_sec, video_format) and camelCase (youtubeUrl, youtubeVideoId, durationSec, videoFormat) Firestore attributes.
Fixed root cause where admin web uploads stored in snake_case resolved to empty video IDs in direct Firestore stream listeners.
Backend /admin/videos now persists both naming conventions simultaneously.
3. Fail-Safe Video Player with Direct Fallback (VastavikYouTubePlayer.kt)
Added resilient video ID resolution directly in the player composable.
If YouTube's embedded player encounters an embedding block (e.g. "Allow embedding" not yet saved by creator) or temporary playback error, the player displays an informative message along with an "Open Video" button that seamlessly opens the lecture in the YouTube app or browser so students are never blocked.