Repository navigation
Conversation
Each breakpoint in the Breakpoints pane now has a checkbox that calls the VM service's setBreakpointState RPC. Disabled breakpoints stay listed, are drawn in a muted color in the list and in the gutter, and stay disabled when breakpoints are re-established after a hot reload or hot restart. The checkbox is hidden for Dart web apps, because DWDS does not implement setBreakpointState. The BreakpointResolved handler now builds a new list instead of mutating the existing one in place, so that the ValueNotifier notifies its listeners. The new BreakpointUpdated handling shares this code path. Fixes flutter#696
This branch has not been deployed
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.
Fixes #696
Adds a checkbox to each breakpoint in the Breakpoints pane, so that a breakpoint can be turned off without removing it, like in Chrome DevTools. The checkbox calls the VM service
setBreakpointStateRPC. That RPC landed in dart-lang/sdk@2a2d83e, but DevTools never used it.BreakpointManager.setBreakpointEnabledcallssetBreakpointState. The VM replies with aBreakpointUpdatedevent, and DevTools now uses that event to updatebreakpointsWithLocation.UnimplementedErrorforsetBreakpointState(pkg/dwds/lib/src/services/proxy_service.dart).BreakpointResolvedhandler changed the list held by theValueNotifierin place and then assigned the same list back, so listeners were not notified. It now builds a new list.BreakpointUpdateduses the same code path, and the newbreakpoint_manager_test.dartfails without this change.Screenshots: TODO before marking ready for review.
Pre-launch Checklist
General checklist
///).Issues checklist
contributions-welcomeorgood-first-issuelabel.contributions-welcomeorgood-first-issuelabel. I understand this means my PR might take longer to be reviewed.Tests checklist
AI-tooling checklist
Feature-change checklist
release-notes-not-requiredlabel or left a comment requesting the label be added.packages/devtools_app/release_notes/NEXT_RELEASE_NOTES.md.