Inject breakpoint STOPs after InitializedEvent#340
Merged
TwitchBronBron merged 4 commits intoMay 13, 2026
Conversation
Move the telnet breakpoint STOP injection and the zip-packaging step out of `prepareMainProject` and into a new `packageMainProject` helper called from `configurationDoneRequest`, right before `publish`. By the DAP spec all `setBreakpoints` requests have arrived by the time `configurationDone` fires, so the breakpoints are known when STOPs are written into the staged .brs files and before the zip is sealed.
Split `prepareAndHostComponentLibraries` into `prepareComponentLibraries` (init + stage, runs in launchRequest) and `packageAndHostComponentLibraries` (write breakpoints + postfix + zip + install + host, runs in configurationDoneRequest). Mirrors the main project split so component library breakpoints land before the staged files are written and zipped.
TwitchBronBron
requested changes
May 13, 2026
TwitchBronBron
approved these changes
May 13, 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.
Summary
After #328 deferred
InitializedEventuntil afterprepareMainProject+ adapter connect, the telnet path stopped injecting client-side breakpoints. VS Code only starts sendingsetBreakpointsafter it receivesInitializedEvent, but by that point the staging files had already been written with STOPs (or not, since no breakpoints were known) and the zip was sealed.This PR splits the staging from the packaging step for both the main project and component libraries, and runs the packaging step at the start of
configurationDoneRequest. By DAP spec, allsetBreakpointsrequests have arrived by the timeconfigurationDonefires, so STOPs land in the staged.brsfiles before the zip is sealed.packageMainProjecthelper (breakpoint write + zip), called fromconfigurationDoneRequestbeforepublish.prepareAndHostComponentLibrariessplit intoprepareComponentLibraries(init + stage, parallel with main) andpackageAndHostComponentLibraries(write + postfix + zip + install + host, runs inconfigurationDoneRequest).