[MBL-19717][Student] Add offline dashboard support for courses widget#3525
Merged
hermannakos merged 6 commits intomasterfrom Feb 20, 2026
Merged
[MBL-19717][Student] Add offline dashboard support for courses widget#3525hermannakos merged 6 commits intomasterfrom
hermannakos merged 6 commits intomasterfrom
Conversation
…get repositories Add DataSource pattern to Course, Group, and Announcement repositories in pandautils for offline dashboard support. Local datasources use CourseFacade, DashboardCardDao, and DiscussionTopicHeaderFacade. Non-synced courses are constructed from dashboard cards so all courses display in inactive state when offline. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add comprehensive tests for the new DataSource pattern and replace obsolete repository tests that used old constructor signatures. Also fix SpeedGraderContentViewModelTest date formatting for JDK 21 compatibility. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
📊 Code Coverage Report✅ Student
✅ Teacher
✅ Pandautils
📈 Overall Average
|
🧪 Unit Test Results✅ 📱 Student App
✅ 🌅 Horizon
✅ 📦 Submodules
📊 Summary
Last updated: Thu, 19 Feb 2026 13:52:17 GMT |
kdeakinstructure
requested changes
Feb 16, 2026
Contributor
There was a problem hiding this comment.
- When the offline sync started, the dashboard notification is "hidden", it displayed at the top and may the user won't recognize it. I think it should be automatically visible for the user (because now if the user does not scrolling to the top it cannot be seen). The best would be if the dashboard automatically scrolled to the top when this notification is displayed, thus the user can easily see it's started.
- In offline mode, if the user does a refresh on the dashboard, the weekly summary (Forecast) widget won't be displayed anymore. It would be better if it could keep it's synced state even after refresh.
Screen_recording_20260216_194621.mp4
None of these are blocker or major issues but would be smoother and more comfortable for the end user if they'd work like this.
.../main/java/com/instructure/pandautils/data/repository/announcement/AnnouncementDataSource.kt
Outdated
Show resolved
Hide resolved
Filter dashboard widgets by network state: when offline, only show Courses, Course Invitations, and Institutional Announcements widgets. Disable accept/decline buttons on course invitations when offline. Update courses widget to reactively hide groups and disable unsynced courses when connectivity changes. Fix course card shadow clipping by applying alpha to content instead of the card container. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…ashboard-support # Conflicts: # apps/student/src/main/java/com/instructure/student/features/dashboard/compose/DashboardViewModel.kt # apps/student/src/test/java/com/instructure/student/features/dashboard/compose/DashboardViewModelTest.kt
tamaskozmer
requested changes
Feb 17, 2026
...instructure/pandautils/features/dashboard/widget/courseinvitation/CourseInvitationsWidget.kt
Outdated
Show resolved
Hide resolved
...s/src/main/java/com/instructure/pandautils/data/repository/course/CourseNetworkDataSource.kt
Outdated
Show resolved
Hide resolved
...ils/src/main/java/com/instructure/pandautils/data/repository/course/CourseLocalDataSource.kt
Outdated
Show resolved
Hide resolved
# Conflicts: # apps/student/src/main/java/com/instructure/student/features/dashboard/compose/DashboardScreen.kt # apps/student/src/main/java/com/instructure/student/features/dashboard/compose/DashboardViewModel.kt # libs/pandautils/src/main/java/com/instructure/pandautils/features/dashboard/widget/courseinvitation/CourseInvitationsWidget.kt # libs/pandautils/src/main/java/com/instructure/pandautils/features/dashboard/widget/courses/CoursesWidgetViewModel.kt
tamaskozmer
approved these changes
Feb 19, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Test plan
refs: MBL-19717
affects: Student
release note: Dashboard courses widget now supports offline mode, displaying synced courses when there is no network connection.