## March 27th

[@lukaszsobek], [@marcogallo566], [@loganfsmyth], [@escaton], [@mmcote], [@haoRchen], [@AlexWang-16], [@juliandescottes], [@yalooong], [@jryans], [@AngelFQC], [@buttersnipps], [@bomsy], [@calebstdenis]

### Original Languages

This past week we looked at cases that came up in the wild with Angular and Typescript.
We ended up fixing an issue with optimized away, webpack cheap-eval-mode, and typescript enums.

* [Scopes - Avoid exceptions when import bindings are optimized away.][5722] [@loganfsmyth]
* [Handle original source maps used on code running inside an `eval()`][5749] [@loganfsmyth]
* [Enable original-file Typescript parsing via Babylon.][5778] [@loganfsmyth]

### Breakpoints & Stepping

This week, we're rolling out [pause points][doc], which will change the way the debugger steps over statements.

The two cases that we're fixing first are lines with multiple statements and multi-line statements.

* [Send pause points to the server][5721] [@jasonLaster]
* [Pause points tweaks][5771] [@jasonLaster]

[doc]: https://docs.google.com/document/d/1wL3If9cC-dpLCaIin4V-0y610WTQJovPtol3WidD8sg/edit

### Frameworks

This week we started mapping function display names in the call stack. This will especially help when babel re-writes function names.

* [Map frame display names][5790] [@calebstdenis]
* [Added recognition of react version 16 and greater components, and mod...][5734] [@mmcote]

| Map frame displayNames |
| ---------------------- |
| ![5790-0]              |

### Features

* [Outline - Add "Copy Function" context menu item to functions][5725] [@escaton]
* [Provide a method to clear the root if no child sources are found][5743] [@darkwing]
* [Revert 5740, which clears the root upon any navigation change][5746] [@darkwing]

### UI

* [Expression syntax errors are cleared on save][5678] [@marcogallo566]
* [QuickOpen File Search rows can be quite tall][5729] [@marcogallo566]
* [Add a proper type to scopes Block nodes][5733] [@nchevobbe]
* [Clear the directory root when navigating domains][5740] [@darkwing]
* [Quick Open - fix highlight selected matches][5742] [@haoRchen]
* [Fix dark 'show more' button][5745] [@darkwing]
* [Quick Open - style selected matches][5750] [@AlexWang-16]
* [Avoid allow text selection in secondary panels][5774] [@AngelFQC]
* [Possible Fix for issue #5637][5776] [@buttersnipps]
* [add function to check for console object or props][5780] [@bomsy]
* [Restore sources tree icons][5786] [@darkwing]
* [Fix double scrollbar issue in SourcesTree][5787] [@darkwing]
* [Fix Sources.css issues.][5735] [@nchevobbe]

| Block Scopes |
| ------------ |
| ![5733-0]    |

### Performance

We use ImmutableJS in our Redux store so that reducers are the only place where state is changed. The downside is that Immutable maps require `.get` calls and we often have to serialize the data via `toJS`.
These two issues result in harder to read and type code as well as slower code when we're often unnecessarily serializing Maps.
Fortunately, Lukas in on a mission to clean this up.

* [Removes toJS from 3 files][5665] [@lukaszsobek]
* [Removes toJS in more files][5755] [@lukaszsobek]

### Bugs

* [Fix previewing generated locations][5701] [@jasonLaster]
* [Avoid listing workers if connected to Fennec v59][5761] [2][5768] [3][5769] [@juliandescottes]
* [Add method to select a specific source or location without attempting to detect pretty print][5767] [@darkwing]

### Code Health

* [Reps 0.21.1][5714] [@nchevobbe]
* [Reformat the getIcon code][5723] [@darkwing]
* [Update eslint-plugin-mozilla to the latest version 🚀][5724]
* [Temporarily remove chrome support][5747] [@jasonLaster]
* [Remove tabIndex field][5751] [@jasonLaster]
* [Add flow coverage to parser/types.js][5766] [@yalooong]
* [Update react-inlinesvg to the latest version 🚀][5779]
* [Removes unused modifiers reference][5781] [@lukaszsobek]
* [Removes .get - Part 1][5788] [@lukaszsobek]
* [Refactor findClosestScope -> findClosestFunction ][5789] [@calebstdenis]

### Docs

* [March 20th update][5730] [@jasonLaster]

### Testing

* [Fix editor-select][5736] [@jasonLaster]
* [Fix babel-preview leak][5741] [@jasonLaster]
* [Add additional mocks][5752] [@jasonLaster]

[5678-0]: https://user-images.githubusercontent.com/36955296/37466159-5bd65932-285d-11e8-82dd-63f9a58b3e33.gif
[5729-0]: https://user-images.githubusercontent.com/36955296/37660463-cabe824a-2c52-11e8-9134-c30c035837e2.jpg
[5733-0]: https://user-images.githubusercontent.com/578107/37674408-21128bda-2c73-11e8-90ba-1d04afb3b7ec.png
[5734-0]: https://user-images.githubusercontent.com/14250545/37674460-8ac6b56e-2c38-11e8-94ff-cda9b9003c15.gif
[5734-1]: https://user-images.githubusercontent.com/14250545/37674464-8ee7b828-2c38-11e8-8438-bf7f694dc068.gif
[5735-0]: https://user-images.githubusercontent.com/578107/37675489-a9bcfce8-2c75-11e8-8a06-dcee42503925.png
[5742-0]: https://user-images.githubusercontent.com/19397242/37730692-b5641de6-2d16-11e8-831e-c19bae7c175c.gif
[5742-1]: https://user-images.githubusercontent.com/19397242/37730543-5fa50ab4-2d16-11e8-96a7-d28004337e97.gif
[5743-0]: https://user-images.githubusercontent.com/46655/37729993-7e355bc8-2d0c-11e8-8e98-2fac0a030df5.png
[5745-0]: https://user-images.githubusercontent.com/46655/37736099-fb391a90-2d1d-11e8-9a5d-8d55bd7fe037.png
[5749-0]: https://user-images.githubusercontent.com/132260/37741961-cee612c4-2d20-11e8-870b-9e825b760a9e.png
[5750-0]: https://user-images.githubusercontent.com/13398997/37747974-29704e30-2d58-11e8-8d74-e6b106ed2d61.png
[5766-0]: https://user-images.githubusercontent.com/23003064/37806532-e88ac836-2e16-11e8-85ae-d5a393e6c8ec.png
[5766-1]: https://user-images.githubusercontent.com/23003064/37806538-eed104b2-2e16-11e8-9f1b-132647f75ff1.png
[5766-2]: https://user-images.githubusercontent.com/23003064/37806540-f3e76914-2e16-11e8-9bdc-0b4e677868de.png
[5786-0]: https://user-images.githubusercontent.com/46655/37927238-288c0838-30ff-11e8-97d5-ffe1e5ba2319.png
[5786-1]: https://user-images.githubusercontent.com/46655/37927239-28a03326-30ff-11e8-9bd6-4cc91421a484.png
[5790-0]: https://user-images.githubusercontent.com/7321311/37939740-88a177ca-3132-11e8-9681-aa5e9090a84c.png
[5790-1]: https://user-images.githubusercontent.com/7321311/37939776-c6355bd8-3132-11e8-8452-0f0003192f24.png
[5790-2]: https://user-images.githubusercontent.com/7321311/37939703-504ee682-3132-11e8-98b1-6cc693e21905.png
[5665]: https://github.com/devtools-html/debugger.html/pull/5665
[5678]: https://github.com/devtools-html/debugger.html/pull/5678
[5701]: https://github.com/devtools-html/debugger.html/pull/5701
[5714]: https://github.com/devtools-html/debugger.html/pull/5714
[5721]: https://github.com/devtools-html/debugger.html/pull/5721
[5722]: https://github.com/devtools-html/debugger.html/pull/5722
[5723]: https://github.com/devtools-html/debugger.html/pull/5723
[5724]: https://github.com/devtools-html/debugger.html/pull/5724
[5725]: https://github.com/devtools-html/debugger.html/pull/5725
[5729]: https://github.com/devtools-html/debugger.html/pull/5729
[5730]: https://github.com/devtools-html/debugger.html/pull/5730
[5733]: https://github.com/devtools-html/debugger.html/pull/5733
[5734]: https://github.com/devtools-html/debugger.html/pull/5734
[5735]: https://github.com/devtools-html/debugger.html/pull/5735
[5736]: https://github.com/devtools-html/debugger.html/pull/5736
[5740]: https://github.com/devtools-html/debugger.html/pull/5740
[5741]: https://github.com/devtools-html/debugger.html/pull/5741
[5742]: https://github.com/devtools-html/debugger.html/pull/5742
[5743]: https://github.com/devtools-html/debugger.html/pull/5743
[5745]: https://github.com/devtools-html/debugger.html/pull/5745
[5746]: https://github.com/devtools-html/debugger.html/pull/5746
[5747]: https://github.com/devtools-html/debugger.html/pull/5747
[5749]: https://github.com/devtools-html/debugger.html/pull/5749
[5750]: https://github.com/devtools-html/debugger.html/pull/5750
[5751]: https://github.com/devtools-html/debugger.html/pull/5751
[5752]: https://github.com/devtools-html/debugger.html/pull/5752
[5755]: https://github.com/devtools-html/debugger.html/pull/5755
[5761]: https://github.com/devtools-html/debugger.html/pull/5761
[5766]: https://github.com/devtools-html/debugger.html/pull/5766
[5767]: https://github.com/devtools-html/debugger.html/pull/5767
[5768]: https://github.com/devtools-html/debugger.html/pull/5768
[5769]: https://github.com/devtools-html/debugger.html/pull/5769
[5771]: https://github.com/devtools-html/debugger.html/pull/5771
[5774]: https://github.com/devtools-html/debugger.html/pull/5774
[5776]: https://github.com/devtools-html/debugger.html/pull/5776
[5778]: https://github.com/devtools-html/debugger.html/pull/5778
[5779]: https://github.com/devtools-html/debugger.html/pull/5779
[5780]: https://github.com/devtools-html/debugger.html/pull/5780
[5781]: https://github.com/devtools-html/debugger.html/pull/5781
[5786]: https://github.com/devtools-html/debugger.html/pull/5786
[5787]: https://github.com/devtools-html/debugger.html/pull/5787
[5788]: https://github.com/devtools-html/debugger.html/pull/5788
[5789]: https://github.com/devtools-html/debugger.html/pull/5789
[5790]: https://github.com/devtools-html/debugger.html/pull/5790
[@lukaszsobek]: https://github.com/lukaszsobek
[@marcogallo566]: https://github.com/marcogallo566
[@jasonlaster]: https://github.com/jasonLaster
[@nchevobbe]: https://github.com/nchevobbe
[@loganfsmyth]: https://github.com/loganfsmyth
[@darkwing]: https://github.com/darkwing
[@escaton]: https://github.com/escaton
[@mmcote]: https://github.com/mmcote
[@haorchen]: https://github.com/haoRchen
[@alexwang-16]: https://github.com/AlexWang-16
[@juliandescottes]: https://github.com/juliandescottes
[@yalooong]: https://github.com/yalooong
[@jryans]: https://github.com/jryans
[@angelfqc]: https://github.com/AngelFQC
[@buttersnipps]: https://github.com/buttersnipps
[@bomsy]: https://github.com/bomsy
[@calebstdenis]: https://github.com/calebstdenis
