Skip to content

v1.0.60 - Neo Square Update Banner, Instant Learn Refresh & Video Fixes

Choose a tag to compare

@parthasdey2304 parthasdey2304 released this 11 Sep 08:21
· 2 commits to main since this release
1ad27cc

Vastavik Learning v1.0.60 - Release Notes

Welcome to Vastavik Learning v1.0.60! This release makes the update gate unmissable with a Neo Brutalistic square banner, wires the Learn feed for instant video updates, fixes lesson loading so titles and descriptions always appear, and rounds out the admin video workflow with whiteboard, code, and shorts alongside every link.


What's New and Improved

1. Neo Brutalistic Square Update Banner — Thick Black Borders, Centered, With UPDATE Button

  • Replaced the old pill Update Required — Tap the red banner above to update with a square Neo Brutalistic banner in the middle of the grey blocking overlay (ui/screens/home/HomeScreen.kt:676).
  • Style: white square, RoundedCornerShape(20.dp), 6dp black offset shadow for the thick bottom/right borders, red warning icon block, all-caps UPDATE REQUIRED, the You can't use the app without updating it... message, and a full-width red UPDATE NOW button (Border 2.5dp black) that navigates straight to app_update.
  • Behaviour unchanged: the rest of the app stays greyed and non-interactive until updated; only the top bar, red banner, and this square banner respond.

2. Learn Feed Refresh — Button on the Right of the Course Chips

  • Moved the Refresh control into the same row as the course chips (Java for ICSE Class 10, Kotlin Classes Begeineers, ...) — LazyRow(weight=1f) + FilledTonalButton(Refresh) on the right (LearningPathScreen.kt:150).
  • Same force path: LearningViewModel.refresh() calls GET /api/v1/catalog/home?force=true and GET /api/v1/courses/{id}/curriculum?force=true, so videos uploaded in the admin panel appear in the Duolingo path instantly.

3. Lesson Loading — Titles and Descriptions Always Appear

  • Root cause fixed: VideoLessonViewModel.loadLesson() tried the legacy endpoint first and then hung forever in an infinite Firestore collect, leaving title ?: "Loading..." on screen.
  • Now: tries canonical GET /api/v1/lessons/{id} first (real title/description/whiteboard/code from admin), then legacy endpoints, then a one-shot Firestore read with an 8-second timeout — isLoading always clears with a clear error plus Retry and Back to Learn buttons.
  • Invalid links: the player now explains the fix (needs an 11-character video ID — ask admin to check the URL, pull to refresh Learn after) and reports onError("invalid_video_link"); the backend rejects bad links with 400 at upload time.

4. Learn With Vastavik Playback, Likes, Comments

  • Branding: new Learn with Vastavik header chip (+ PRO badge) above the player; unlisted videos play via the existing modest-branding player with the anti-YouTube-logo shield, so students never see a bare YouTube frame. Admin keeps the live preview screenshot in the modal.
  • Engagement works: like/dislike/comment states persist per lesson in lesson_feedback prefs and emit videoLike/video_dislike/video_comment telemetry, surviving process death.

5. Admin Videos + Backend Health

  • Upload modal: whiteboard (URL + 5 MB image upload), code sample, and shorts URL are now always visible alongside the video link, with privacy (public/unlisted/private) and published toggles; cards show privacy/whiteboard/code/draft pills.
  • Backend: new GET /api/v1/health/firestore (live-vs-memory, project, collection counts with an explicit in-memory warning), POST /api/v1/admin/uploads/whiteboard, and an empty-catalog warning log so things not loading is diagnosable in one call.

Release Assets

Asset Description Size
vastavikLearning-v1.0.60.apk Main Vastavik Learning Android app (versionCode 60, versionName 1.0.60, minSdk 24, targetSdk 35) ~59.3 MB
vastavik-codeoss-extension.apk CodeOSS Companion Extension Pack with Monaco/VS Code Web and Ubuntu Terminal (versionCode 27, versionName 1.0.60) ~13.4 MB

Upgrade Notes

  • Install vastavikLearning-v1.0.60.apk over your existing build — user data, login session, and user_profile prefs are preserved. The companion APK installs side-by-side.
  • If Render lacks FIREBASE_CREDENTIALS_BASE64, hit GET /api/v1/health/firestore — an in-memory warning there explains any missing uploads; set the secret and redeploy to restore live sync.
  • After upgrading, open Learn, tap the Refresh button at the right of the course chips, and new admin videos appear without killing the app.

Built with love by the Vastavik Learning Team