### September 26th

This is a summary of the past 3 weeks. So it will be a bit longer than usual (101 PRs)

[@darkwing], [@gabrielluong], [@jasonLaster], [@bomsy], [@Marcool04], [@Fischer-L], [@nyrosmith], [@abhinav-koppula], [@oferpa], [@yurydelendik], [@elpddev], [@zacck], [@tromey], [@wldcordeiro], [@sarahlim], [@Anzumana], [@nchevobbe], [@inyigo], [@khal0988], [@James300], [@samuel-peers], [@danieltucunduva], [@GarethSharpe]

#### UCOSP Students

We're partnering with 5 college students this semester. The program kicked off this weekend with a code sprint and the group hit the ground running. Here is a list of their contributions so far. The plan is to focus on [features for frameworks][fff], which will be pretty amazing!

* [Show webpack icon][pr-91] - [@James300]
* [Display 'Webpack' (project name) as Sources node][pr-99] - [@danieltucunduva]
* [Remove tab header search shortcut][pr-94] - [@danieltucunduva]
* [Filter out all .css, .png and .svg files from showing up in Sources tree][pr-97] - [@danieltucunduva]
* [Consistent tree highlighting][pr-95] - [@GarethSharpe]
* [Shortcuts modal-fixes][pr-96] - [@samuel-peers]
* [Shortcuts modal][pr-92] - [@samuel-peers]
* [Accessible collapse pane buttons][pr-85] - [@khal0988]
* [Simplify scope display names][pr-86] - [@James300]

![][wp]
![][wp2]

[fff]:https://docs.google.com/document/d/10X9h1YoQugUN_8rLHsBLs31U-veOCfLqFHoTE00Owlw/edit#
[wp]: https://user-images.githubusercontent.com/31376439/30783641-3ebad3a8-a114-11e7-9835-e24a34b4ba29.png

[wp2]: https://user-images.githubusercontent.com/9325039/30763929-3d3cdee8-9fae-11e7-97de-afc6927889b2.png


#### UX/UI

* [Show full editor context menu for blackboxed tab][pr-1] - [@darkwing]
* [Fix preview for falsey values][pr-17] - [@nyrosmith]
* [Show parameter signature within outline][pr-5] - [@darkwing]
* [Display info when there are no functions to show in Outline][pr-26] - [@nyrosmith]
* [change cursor][pr-30] - [@oferpa]
* [Update label case for tab and editor context menus][pr-33] - [@darkwing]
* [Fix up Tab CSS][pr-36] - [@jasonLaster]
* [Fix #4046 - Prevent scrollbars for watch expression items][pr-55] - [@darkwing]
* [Fix 4074 - Align tabs to the bottom of the editor header][pr-63] - [@darkwing]
* [Fix #4031 - Move source and outline tabs to the top of the left pane][pr-65] - [@darkwing]
* [Switch SearchBar and ChromeScopes Proptypes to flow props][pr-81] - [@inyigo]
* [Fix nits in ManagedTree][pr-0] - [@darkwing]


#### Shortcuts

[@nyrosmith] added a few new mouse shortcuts, to make it easier for users to seamlessly interact with the debugger.

* [Copy function][pr-42] - [@jasonLaster]
* [Alt click -> continue to here][pr-70] - [@nyrosmith]
* [WelcomeBox: make shortcuts clickable][pr-28] - [@nyrosmith]
* [Fix tier 3 OS keyboard shortcuts][pr-80] - [@jasonLaster]


#### Preview

[@Fischer-L] did some great work making our preview more robust so that you can't hover on syntax.

* [3824 - ignore =, <, >, +, -, *, / tokens][pr-16] - [@Fischer-L]
* [Disallow pipes][pr-18] - [@jasonLaster]


#### Outline View

[@sarahlim] started working on showing React Components in the outline view. The first step was to add a class field to our function symbols.

* [Parse the closest class for functions and properties][pr-60] - [@sarahlim]

![][ov]

#### Photon

Gabriel and Victoria refreshed the debugger UI to be consistent with the new Firefox UI. It looks pretty great!

* [Rename all instances of --theme-selection-background-semitransparent …][pr-2] - [@gabrielluong]
* [Use --theme-selection-background for the focused node in the managed …][pr-7] - [@gabrielluong]
* [[theme] Welcome box should use a --theme-toolbar-background in the li…][pr-11] - [@gabrielluong]
* [[themes] Update the sidebar and accordion colors for the dark theme (…][pr-8] - [@gabrielluong]
* [Us#3361 exception details in dark theme][pr-37] - [@elpddev]
* [Welcome box should have a --theme-body-background (#3917)][pr-10] - [@gabrielluong]


![][ph1]
![][ph2]

#### Project Search

Project Search tons to get a lot of love and is now much faster and more pleasing on the eyes!

* [remove auto-focus on the search results][pr-12] - [@bomsy]
* [handle webpack schemes, add tests][pr-27] - [@bomsy]
* [Steal Atom's look and feel for the Search UI][pr-41] - [@zacck]
* [Fix initial search][pr-45] - [@jasonLaster]
* [Refactor render match][pr-66] - [@Anzumana]
* [Add 'No Results' state in ProjectSearch - Search in File][pr-22] - [@abhinav-koppula]
* [Fix #4002 - Prevent duel scrollbars in project search][pr-40] - [@darkwing]
* [fix project search flag][pr-57] - [@jasonLaster]


![][ps]

#### Watch Expressions

Watch Expressions are a power user feature for evaluating expressions when the debugger pauses and resumes. It turns out that, if you're also using another advanced feature (pause on exceptions), you can enter a really bad state if the expression throws an exception.

We fixed this last week by wrapping expressions in a try catch. We're also doing a parse step to check for syntax errors.

* [Make watch expressions safe][pr-78] - [@jasonLaster]
* [Pausing due to an errored watch expression][pr-62] - [@jasonLaster]
* [Expressions tweaks][pr-90] - [@jasonLaster]


#### Context Menu

Context Menu was also improved, making it easier to see which context menu items are related to the same actions, which in turn makes it easier to use!

* [Group the copy items in the edit context menu][pr-68] - [@darkwing]
* [Group Breakpoints Menu][pr-77] - [@jasonLaster]

![][cm]

#### Map Minified variables

We're working on mapping minified variable names, so when you pause you can hover on variables and see the correct value. You'll also see the expanded variable names in scopes.

* [Parse to extract all scopes and bindings.][pr-43] - [@yurydelendik]

#### List Workers

* [[WIP] List workers][pr-49] - [@nyrosmith]

#### Accessibility

Yura helped us add some [accessibility][acc] issues, which will help us improve our keyboard navigation and be more screen reader friendly.


[acc]: https://github.com/devtools-html/debugger.html/issues?q=is%3Aopen+is%3Aissue+label%3Aaccessibility

#### Bugs

We fixed a pretty terrible / funny bug where links in the debugger would navigate in the panel. Therefore replacing the debugger w/ that new page!!!

* [fix hidden tabs click not showing the source][pr-9] - [@bomsy]
* [fix clearing source search][pr-24] - [@jasonLaster]
* [Ignore new identical sources][pr-52] - [@jasonLaster]
* [Open link][pr-74] - [@nchevobbe]
* [Fix wasm pref][pr-46] - [@jasonLaster]
* [fixed localization ids][pr-98] - [@samuel-peers]
* [Protect against a missing editor][pr-89] - [@jasonLaster]
* [fix issue where minified files without js extns do get detected][pr-93] - [@bomsy]


![](https://bugzilla.mozilla.org/attachment.cgi?id=8908747)


#### Breakpoints

We're spending some time ironing out the rough edges of saved breakpoints. There are lots of cases where on reload we need to move breakpoints to the new correct location. Also, converting between original and generated locations should not cause a different location.

* [Clear BPs][pr-29] - [@jasonLaster]
* [gracefully support bad bp cases][pr-35] - [@jasonLaster]
* [Support symmetric BPs][pr-39] - [@jasonLaster]
* [[WIP] Stepping: Continue to here][pr-21] - [@nyrosmith]


#### Infrastructure

* [bump launchpad to 97][pr-14] - [@jasonLaster]
* [bump yarn][pr-31] - [@jasonLaster]
* [Add a wallaby config to the project.][pr-50] - [@wldcordeiro]
* [Issue Template][pr-51] - [@jasonLaster]
* [Tweak source-map prefs in prefs.js][pr-53] - [@tromey]
* [add travis][pr-56] - [@jasonLaster]
* [sync changes w/ mc][pr-59] - [@jasonLaster]
* [Extract mochi][pr-87] - [@jasonLaster]
* [Bump mochii][pr-100] - [@jasonLaster]
* [Backport mochitest from bug 952127][pr-83] - [@tromey]


#### Performance

* [Use a source cache in parser worker.][pr-32] - [@yurydelendik]
* [add source search filtering][pr-38] - [@jasonLaster]


#### Testing

* [Add back asm mochitest][pr-67] - [@jasonLaster]
* [Simple WebAssembly Source Maps mochitest.][pr-61] - [@yurydelendik]
* [test watch expressions w/ an active debuggee][pr-64] - [@jasonLaster]
* [correct text case][pr-88] - [@khal0988]


#### Docs

* [document reducer best practices][pr-3] - [@jasonLaster]
* [q4 roadmap][pr-4] - [@jasonLaster]
* [Add Martin to the Core Team :wave:][pr-76] - [@jasonLaster]


#### Code Health

* [remove unnecessary css][pr-23] - [@jasonLaster]
* [Remove unused CSS rules in Expressions.css][pr-13] - [@gabrielluong]
* [Replaced use of defer with new Promise, see https://bugzilla.mozilla.…][pr-15] - [@Marcool04]
* [[WIP] convert from feature flag to prefs system][pr-20] - [@nyrosmith]
* [Refactor match rendering][pr-6] - [@bomsy]
* [Add missing semicolon in prefs.js][pr-25] - [@darkwing]
* [prettier fixes][pr-34] - [@jasonLaster]
* [Fix linting warnings][pr-54] - [@darkwing]
* [Remove devtools.debugger.client-source-maps-enabled pref][pr-44] - [@tromey]
* [Upgrade CodeMirror][pr-69] - [@jasonLaster]
* [[WIP] To stop using displayNames in components.][pr-82] - [@zacck]
* [Update updateEventBreakpoints to use arrow function][pr-72] - [@darkwing]
* [Cleanup with ChromeScopes][pr-75] - [@darkwing]
* [Sourcetree redux][pr-71] - [@bomsy]
* [stop setting state in componentDidMount][pr-73] - [@bomsy]
* [move expanded to the constructor][pr-79] - [@bomsy]
* [Remove unwanted ~ file][pr-84] - [@darkwing]




[ov]:https://shipusercontent.com/faec4f7495ebe6488acfa0377ffb78bd/Screen%20Shot%202017-09-14%20at%203.14.10%20PM.png
[ph1]:https://shipusercontent.com/ae2ae636c2d51cecbc7e14e52f31a11e/Screen%20Shot%202017-09-26%20at%2010.06.31%20AM.png
[ph2]:https://shipusercontent.com/f9be713f8a77b649947960e45c54dc58/Screen%20Shot%202017-09-26%20at%2010.06.13%20AM.png
[ps]:https://user-images.githubusercontent.com/897731/29891886-f6916772-8dcc-11e7-9535-b6b7f3cea96c.png
[cm]:https://user-images.githubusercontent.com/254562/30609143-8fe40328-9d48-11e7-89d8-76b877014a87.png

[pr-0]:https://github.com/devtools-html/debugger.html/pull/3905
[pr-1]:https://github.com/devtools-html/debugger.html/pull/3900
[pr-2]:https://github.com/devtools-html/debugger.html/pull/3915
[pr-3]:https://github.com/devtools-html/debugger.html/pull/3874
[pr-4]:https://github.com/devtools-html/debugger.html/pull/3908
[pr-5]:https://github.com/devtools-html/debugger.html/pull/3902
[pr-6]:https://github.com/devtools-html/debugger.html/pull/3918
[pr-7]:https://github.com/devtools-html/debugger.html/pull/3921
[pr-8]:https://github.com/devtools-html/debugger.html/pull/3912
[pr-9]:https://github.com/devtools-html/debugger.html/pull/3913
[pr-10]:https://github.com/devtools-html/debugger.html/pull/3919
[pr-11]:https://github.com/devtools-html/debugger.html/pull/3923
[pr-12]:https://github.com/devtools-html/debugger.html/pull/3941
[pr-13]:https://github.com/devtools-html/debugger.html/pull/3940
[pr-14]:https://github.com/devtools-html/debugger.html/pull/3932
[pr-15]:https://github.com/devtools-html/debugger.html/pull/3952
[pr-16]:https://github.com/devtools-html/debugger.html/pull/3962
[pr-17]:https://github.com/devtools-html/debugger.html/pull/3960
[pr-18]:https://github.com/devtools-html/debugger.html/pull/3967
[pr-19]:https://github.com/devtools-html/debugger.html/pull/3930
[pr-20]:https://github.com/devtools-html/debugger.html/pull/3961
[pr-21]:https://github.com/devtools-html/debugger.html/pull/3964
[pr-22]:https://github.com/devtools-html/debugger.html/pull/3973
[pr-23]:https://github.com/devtools-html/debugger.html/pull/3979
[pr-24]:https://github.com/devtools-html/debugger.html/pull/3934
[pr-25]:https://github.com/devtools-html/debugger.html/pull/3994
[pr-26]:https://github.com/devtools-html/debugger.html/pull/3959
[pr-27]:https://github.com/devtools-html/debugger.html/pull/3916
[pr-28]:https://github.com/devtools-html/debugger.html/pull/3963
[pr-29]:https://github.com/devtools-html/debugger.html/pull/3981
[pr-30]:https://github.com/devtools-html/debugger.html/pull/4000
[pr-31]:https://github.com/devtools-html/debugger.html/pull/4007
[pr-32]:https://github.com/devtools-html/debugger.html/pull/4008
[pr-33]:https://github.com/devtools-html/debugger.html/pull/3993
[pr-34]:https://github.com/devtools-html/debugger.html/pull/3998
[pr-35]:https://github.com/devtools-html/debugger.html/pull/4006
[pr-36]:https://github.com/devtools-html/debugger.html/pull/4026
[pr-37]:https://github.com/devtools-html/debugger.html/pull/4001
[pr-38]:https://github.com/devtools-html/debugger.html/pull/4003
[pr-39]:https://github.com/devtools-html/debugger.html/pull/4005
[pr-40]:https://github.com/devtools-html/debugger.html/pull/4015
[pr-41]:https://github.com/devtools-html/debugger.html/pull/3823
[pr-42]:https://github.com/devtools-html/debugger.html/pull/3970
[pr-43]:https://github.com/devtools-html/debugger.html/pull/3852
[pr-44]:https://github.com/devtools-html/debugger.html/pull/4028
[pr-45]:https://github.com/devtools-html/debugger.html/pull/4016
[pr-46]:https://github.com/devtools-html/debugger.html/pull/4038
[pr-47]:https://github.com/devtools-html/debugger.html/pull/4014
[pr-48]:https://github.com/devtools-html/debugger.html/pull/4027
[pr-49]:https://github.com/devtools-html/debugger.html/pull/3856
[pr-50]:https://github.com/devtools-html/debugger.html/pull/3613
[pr-51]:https://github.com/devtools-html/debugger.html/pull/3948
[pr-52]:https://github.com/devtools-html/debugger.html/pull/3951
[pr-53]:https://github.com/devtools-html/debugger.html/pull/4039
[pr-54]:https://github.com/devtools-html/debugger.html/pull/4030
[pr-55]:https://github.com/devtools-html/debugger.html/pull/4048
[pr-56]:https://github.com/devtools-html/debugger.html/pull/4052
[pr-57]:https://github.com/devtools-html/debugger.html/pull/4042
[pr-58]:https://github.com/devtools-html/debugger.html/pull/4054
[pr-59]:https://github.com/devtools-html/debugger.html/pull/4060
[pr-60]:https://github.com/devtools-html/debugger.html/pull/4077
[pr-61]:https://github.com/devtools-html/debugger.html/pull/4036
[pr-62]:https://github.com/devtools-html/debugger.html/pull/4072
[pr-63]:https://github.com/devtools-html/debugger.html/pull/4082
[pr-64]:https://github.com/devtools-html/debugger.html/pull/4066
[pr-65]:https://github.com/devtools-html/debugger.html/pull/4079
[pr-66]:https://github.com/devtools-html/debugger.html/pull/3931
[pr-67]:https://github.com/devtools-html/debugger.html/pull/4037
[pr-68]:https://github.com/devtools-html/debugger.html/pull/4084
[pr-69]:https://github.com/devtools-html/debugger.html/pull/4089
[pr-70]:https://github.com/devtools-html/debugger.html/pull/4090
[pr-71]:https://github.com/devtools-html/debugger.html/pull/4010
[pr-72]:https://github.com/devtools-html/debugger.html/pull/4099
[pr-73]:https://github.com/devtools-html/debugger.html/pull/4103
[pr-74]:https://github.com/devtools-html/debugger.html/pull/4086
[pr-75]:https://github.com/devtools-html/debugger.html/pull/4097
[pr-76]:https://github.com/devtools-html/debugger.html/pull/4095
[pr-77]:https://github.com/devtools-html/debugger.html/pull/4093
[pr-78]:https://github.com/devtools-html/debugger.html/pull/4107
[pr-79]:https://github.com/devtools-html/debugger.html/pull/4105
[pr-80]:https://github.com/devtools-html/debugger.html/pull/4102
[pr-81]:https://github.com/devtools-html/debugger.html/pull/4092
[pr-82]:https://github.com/devtools-html/debugger.html/pull/4101
[pr-83]:https://github.com/devtools-html/debugger.html/pull/4120
[pr-84]:https://github.com/devtools-html/debugger.html/pull/4134
[pr-85]:https://github.com/devtools-html/debugger.html/pull/4128
[pr-86]:https://github.com/devtools-html/debugger.html/pull/4125
[pr-87]:https://github.com/devtools-html/debugger.html/pull/4118
[pr-88]:https://github.com/devtools-html/debugger.html/pull/4126
[pr-89]:https://github.com/devtools-html/debugger.html/pull/4123
[pr-90]:https://github.com/devtools-html/debugger.html/pull/4116
[pr-91]:https://github.com/devtools-html/debugger.html/pull/4129
[pr-92]:https://github.com/devtools-html/debugger.html/pull/4142
[pr-93]:https://github.com/devtools-html/debugger.html/pull/4091
[pr-94]:https://github.com/devtools-html/debugger.html/pull/4133
[pr-95]:https://github.com/devtools-html/debugger.html/pull/4132
[pr-96]:https://github.com/devtools-html/debugger.html/pull/4130
[pr-97]:https://github.com/devtools-html/debugger.html/pull/4145
[pr-98]:https://github.com/devtools-html/debugger.html/pull/4149
[pr-99]:https://github.com/devtools-html/debugger.html/pull/4150
[pr-100]:https://github.com/devtools-html/debugger.html/pull/4147
[@darkwing]:http://github.com/darkwing
[@gabrielluong]:http://github.com/gabrielluong
[@jasonLaster]:http://github.com/jasonLaster
[@bomsy]:http://github.com/bomsy
[@Marcool04]:http://github.com/Marcool04
[@Fischer-L]:http://github.com/Fischer-L
[@nyrosmith]:http://github.com/nyrosmith
[@abhinav-koppula]:http://github.com/abhinav-koppula
[@oferpa]:http://github.com/oferpa
[@yurydelendik]:http://github.com/yurydelendik
[@elpddev]:http://github.com/elpddev
[@zacck]:http://github.com/zacck
[@tromey]:http://github.com/tromey
[@wldcordeiro]:http://github.com/wldcordeiro
[@sarahlim]:http://github.com/sarahlim
[@Anzumana]:http://github.com/Anzumana
[@nchevobbe]:http://github.com/nchevobbe
[@inyigo]:http://github.com/inyigo
[@khal0988]:http://github.com/khal0988
[@James300]:http://github.com/James300
[@samuel-peers]:http://github.com/samuel-peers
[@danieltucunduva]:http://github.com/danieltucunduva
[@GarethSharpe]:http://github.com/GarethSharpe
