chore: performance improvements [wip]#1807
Draft
pedroafmonteiro wants to merge 6 commits intodevelopfrom
Draft
Conversation
…ents to get fewer rebuilds
Codecov Report✅ All modified and coverable lines are covered by tests. ❌ Your project check has failed because the head coverage (7%) is below the target coverage (70%). You can increase the head coverage or adjust the target coverage. Additional details and impacted files@@ Coverage Diff @@
## develop #1807 +/- ##
=======================================
Coverage 7% 7%
=======================================
Files 38 38
Lines 1831 1831
=======================================
Hits 121 121
Misses 1710 1710 🚀 New features to boost your workflow:
|
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.
this description was generated by copilot because it writes better than me. it's still a work in progress and I'm waiting for some pull requests to be merged first before continuing the work on this one. feedback is greatly appreciated!
This introduces several improvements and refactorings to the academic path and course unit info features, focusing on data fetching, parsing, UI performance, and maintainability. The main changes include parallelizing network requests for course unit class information, refining HTML parsing logic for robustness, optimizing tabbed UI components to preserve state and improve navigation, and updating provider and model implementations for better consistency.
Data Fetching and Parsing Improvements
CourseUnitsInfoFetcherto fetch course unit class information in parallel usingFuture.wait, deduplicate classes by name, and handle network errors gracefully. This improves performance and reliability when loading course unit data.parseCourseUnitClassesto robustly parse class and student information from HTML, skip irrelevant or malformed sections, and only include valid student entries. This results in more accurate and resilient parsing of course unit data.UI and State Management Enhancements
CoursesPage,SchedulePage,ExamsPage) to useAutomaticKeepAliveClientMixin, preserving state when switching tabs for a smoother user experience. Also refactored tab initialization to use a single list for consistency.SchedulePageView,ExamsPageView) to usecontentBuilderinstead of static lists, and to enable tabs only when relevant data is present. This optimizes rendering and navigation in schedule and exams views.Provider and Model Updates
buildmethod toCourseUnitsInfoNotifierto ensure state is initialized correctly.CourseUnitto support reliable comparisons and usage in collections.Review checklist
View Changes
Performance