Merged
Conversation
jtmcdole
reviewed
Feb 25, 2026
jtmcdole
approved these changes
Feb 25, 2026
…nge logic to PresubmitState similarly to how BuildDashboardPage use BuildState'
Task: Create dashboard/lib/state/presubmit.dart with PresubmitState class, including repo, pr, and sha properties. Summary: Implemented the initial PresubmitState class with repo, pr, and sha properties and added basic tests. Files: dashboard/lib/state/presubmit.dart, dashboard/test/state/presubmit_test.dart Why: Provides the foundation for moving state management out of PreSubmitView.
Task: Implement initialization and update methods for repo, pr, and sha in PresubmitState. Summary: Added an update method to PresubmitState to manage repo, pr, and sha properties and notify listeners of changes. Files: dashboard/lib/state/presubmit.dart, dashboard/test/state/presubmit_test.dart Why: Allows PreSubmitView to update the state when query parameters change or when a new SHA is selected.
… PresubmitState Task: Implement fetchAvailableShas and fetchGuardStatus in PresubmitState. Summary: Migrated fetchAvailableShas and fetchGuardStatus logic from PreSubmitView to PresubmitState. These methods now manage the loading state and store results in PresubmitState. Files: dashboard/lib/state/presubmit.dart, dashboard/test/state/presubmit_test.dart Why: Centralizes data fetching logic for the PreSubmit View, making it easier to test and share across widgets.
Task: Write unit tests for PresubmitState in dashboard/test/state/presubmit_test.dart. Summary: Added unit tests covering property initialization, the update method, data fetching methods (fetchAvailableShas, fetchGuardStatus), and edge cases (null PR/SHA, idempotent updates). Files: dashboard/test/state/presubmit_test.dart Why: Ensures the reliability of the new state management logic and maintains high code coverage.
Task: Update dashboard/lib/main.dart or the relevant state provider to instantiate and provide PresubmitState. Summary: Updated StateProvider to include PresubmitState and initialized it in main.dart. Files: dashboard/lib/main.dart, dashboard/lib/widgets/state_provider.dart Why: Makes PresubmitState available to PreSubmitView and its child widgets via Provider.
… dedicated `PresubmitState` provider.
… and enhance build status verification in tests.
… presubmit state.
…d refine test variable declarations and Future types.
…egrate it into the presubmit view and task attempt summary widget.
047ea80 to
5be557b
Compare
…and using a fixed 'all tests passed' message.
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.
Added every 30 seconds page refresh
Fix: flutter/flutter#176983