November 14th

@jainsneha23, @nyrosmith, @Fischer-L, @jasonLaster, @sharathnarayanph, @amitzur, @James300, @khal0988, @yurydelendik, @juliandescottes, @borian, @lukaszsobek, @samuel-peers, @arthur801031, @jimblandy, @ryanjduffy


Pretty Print Context Menus
Copying functions now flashes!


Framework Frames now show the number of frames in the group


This week we landed the architectural performance work, which lets the debugger UI show initial pause data like pause line and frames, before fetching scopes and re-mapping locations.

We also landed a similar optimization where we no longer try to parse and traverse the files before showing the source text. Previously, the parser would block for up to 10 seconds while parsing large files. Yikes!


We landed a large release last week and worked on our release automation scripts. Some improvements included: running a debugger-specific try run w/ 10 repeats, checking for bundle size changes on CI, to prevent unwanted deps from landing.


We’re continuing to focus on mochitests as a mechanism for keeping regressions from entering and working confidently w/ the community. This week, we landed a mochitest for Previewing variables, and continued to add helpers to make it easy to write tests.

Code Health

This week was a big week for code health. We upgraded to flow 57, added license headers to all of our files, and switched to using object spread universally.

Also, in an effort to reduce our bundle size, we dropped react-immutable-proptypes and stopped using devtools-launchpad for showing context menus. We’re now using the launchpad in just one spot and should be able to remove it soon. When we do, the bundle size will get 20% smaller!


The students working on the debugger have made some progress on improving our accessibility.


We landed 3 big fixes for preview this week. The craziest bug was an issue, which Ted Campbell filed, 6 weeks ago where clicking a link in the scopes pane would literally navigate you away from the debugger and to the page as opposed to opening a new tab. This of course is terrible, because the debugger is NOT a browser.

Another, important fix was with showing local scopes. Jim blandy fixed a bug, which was introduced in August where the frame finished variables like return and thrown were no longer being shown. We now have unit test and integration test coverage to catch this in the future! The tests are really great too :)

The last item, is more of a fun feature than anything else. But because we parse the original source text with babel, it was possible that you could hover on a function param, which has a flow type. Previously we would highlight the type as well, but now we’re smarter and just highlight the param. Check out a video of how Jason fixed it!

The debugger is accidentally navigating away (OH NO)
Flow types are no longer highlighted
Return Values are shown in the local scope


There were some display irregularities in the panel, which were taken care of by Jason. While some of these issues were small like a border being slightly off and showing code behind the starting panel, they will likely be appreciated by anyone who was bothered by them!



We have added our release how-to to the docs! This way, more people will be able to create release bundles, and it will bring us closer to the goal of making regular, small releases 3-5 times a week. We also added some information about how to work with our spell-checker. The spell checker can be frustrating as it doesn’t recognize technology related works and framework names, and this sometimes causes our linter to complain. Now there is an easy to go to reference for it!