v1.0.60 - Neo Square Update Banner, Instant Learn Refresh & Video Fixes
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 updatewith 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-capsUPDATE REQUIRED, theYou can't use the app without updating it...message, and a full-width redUPDATE NOWbutton (Border 2.5dp black) that navigates straight toapp_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()callsGET /api/v1/catalog/home?force=trueandGET /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 Firestorecollect, leavingtitle ?: "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 —isLoadingalways 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 reportsonError("invalid_video_link"); the backend rejects bad links with 400 at upload time.
4. Learn With Vastavik Playback, Likes, Comments
- Branding: new
Learn with Vastavikheader 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_feedbackprefs and emitvideoLike/video_dislike/video_commenttelemetry, 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 sothings not loadingis 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.apkover your existing build — user data, login session, anduser_profileprefs are preserved. The companion APK installs side-by-side. - If Render lacks
FIREBASE_CREDENTIALS_BASE64, hitGET /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