diff --git a/docs/updates/february-28th.md b/docs/updates/february-28th.md new file mode 100644 index 0000000000..6a196281dd --- /dev/null +++ b/docs/updates/february-28th.md @@ -0,0 +1,236 @@ +### February 28th + +#### Overview + +Last week was nothing short or epic. + +1. We made tons of progress on function search, text search, and editor preview +2. We squashed mountains of UI and perf bugs +3. We added great features to the scopes pane +4. We focused on integration testing and general QA. + +There's no way we could have gotten this done without the help of many people: [@rrandom], [@arthur801031], [@bomsy], [@wldcordeiro], [@jryans], [@irfanhudda], [@soapdog], [@amitzur], [@juliandescottes], [@Garbee], [@zystvan], [@najamkhn], [@jcreighton], [@jbhoosreddy], [@tromey], [@ryanjduffy], [@sole], [@lasfin]! + +#### UI + +We fixed UI bugs ranging from themes, to accessibility, to RTL. It was an unbelievable team effort. + +* [Fix tab close button positioning][pr-12] - [@wldcordeiro] +* [Issue 1946: adding Conditional Breakpoint guillemet][pr-19] - [@soapdog] +* [Restore tooltips for debug buttons][pr-20] - [@irfanhudda] +* [Expand source directories on click][pr-23] - [@wldcordeiro] +* [Make the command bar sticky.][pr-35] - [@Garbee] +* [Align Text Vertically in Watch Expressions Panel Section][pr-36] - [@zystvan] +* [fix frame location color change on hover][pr-43] - [@jcreighton] +* [use scrollIntoView to improve result scrolling (#2106)][pr-44] - [@jbhoosreddy] +* [Refactor Searching UI into smaller components and clean up function search UI][pr-45] - [@wldcordeiro] +* [Add close button to conditional breakpoint panel][pr-49] - [@ryanjduffy] +* [Style the searchbar height so the result list doesn't go on forever][pr-52] - [@wldcordeiro] +* [Fix icons dark theme][pr-54] - [@jcreighton] +* [add chrome scrolling polyfill][pr-59] - [@jasonLaster] +* [(Accessibility) select frame on enter][pr-66] - [@lasfin] +* [Polish ui catchall][pr-67] - [@jasonLaster] +* [refactor why-paused component to use a react class and props][pr-9] - [@jasonLaster] + + +#### Bug Fixes + +Thanks [@juliandescottes], [@bomsy], [@irfanhudda] for coming in and fixing some pretty embarressing bugs! + +* [Fix source navigation, when switching from vertical to horizontal layouunlink][pr-32] - [@juliandescottes] +* [Fix watch expression editing][pr-28] - [@bomsy] +* [Address perf issues with source maps][pr-42] - [@jasonLaster] +* [Fix sources highlight][pr-53] - [@irfanhudda] +* [Speed up opening the editor][pr-68] - [@jasonLaster] + +#### Text Search + +Text search `cmd+f` is a surprisingly challenging feature that we've been working on since September. +This week, we nailed down some of the most complicated behavior around iterating through results, especially when cursor state changes. + +* [Improve text search result count][pr-0] - [@rrandom] +* [EditorSearch index fix][pr-11] - [@jasonLaster] +* [Fix search selection][pr-13] - [@jasonLaster] +* [Add a search bottom bar and move the search modifiers to the bottom bar.][pr-21] - [@wldcordeiro] +* [Fix whole word search modifier clearing search and count showing as NaN][pr-63] - [@wldcordeiro] +* [Fix modifier buttons in chrome][pr-64] - [@wldcordeiro] +* [Don't run text search when function search is enabled.][pr-69] - [@wldcordeiro] + +#### Function Search + +Function Search was a stretch goal for our release going into the week. +Thanks to [babel.js](https://babeljs.io/) having a fantastic API and the heroic effort of [@clarkbw] and [@wldcordeiro] +on the UI we'll be able to launch a really beautiful feature. + +* [use a unique id to show multiple matches in function search][pr-2] - [@clarkbw] +* [implement the function search compact design][pr-5] - [@clarkbw] +* [Update parser][pr-24] - [@jasonLaster] +* [Move the function search into the editor search bar][pr-27] [2][pr-30] - [@wldcordeiro] +* [Disable the search modifiers when function search is enabled.][pr-60] - [@wldcordeiro] +* [Fix search results height in chrome.][pr-65] - [@wldcordeiro] +* [Polish search toggle UX][pr-70] - [@wldcordeiro] +* [Add summary messages for the function searching][pr-71] - [@wldcordeiro] + +#### Scopes + +The scopes component is one of the most used features of a Debugger and also introduces some of the most complexity. +This week we looked at showing promises, large arrrays, sparse arrays. +[@Bomsy] also tackled keeping variables expanded as the debugger steps through the code. This was a difficulty `hard` bug! + +* [Persist scopes as you step][pr-6] - [@bomsy] +* [Add buckets for objects and keys][pr-22] - [@jasonLaster] +* [Show promises special properties (status, reason)][pr-51] - [@arthur801031] +* [Show falsey return values][pr-58] - [@tromey] + +#### Editor Preview + +Editor Preview is the one new **must** have feature of the release. +We were blocked on adding the feature, while we waited for parser support. This week we built a fantastic V1, which supports hovering on local variables and a really nice custom preview for functions and objects. In the case of functions, we also provide a link to the function definition. + +* [Editor popover][pr-29] - [@amitzur] +* [Add Popup Preview (V1)][pr-40] - [@jasonLaster] +* [Preview objects, functions, and reps][pr-57] - [@jasonLaster] +* [Show editor preview on hover][pr-61] - [@bomsy] + + +#### Infrastructure + +* [Add flow to Scopes.js, WhyPaused.js, SourcesTree.js,...][pr-1] - [@arthur801031] +* [fix the invalid source texts in the failing tests][pr-4] - [@bomsy] +* [add yarn run links script][pr-8] - [@clarkbw] +* [Add flow to Autocomplete.js, Close.js, PaneToggle.js,...][pr-10] - [@arthur801031] +* [update lint script to better capture directory layout][pr-14] - [@clarkbw] +* [Document Firefox WebSocket workflow][pr-15] - [@jryans] +* [Replace custom utilities with lodash utils where possible][pr-25] - [@clarkbw] +* [Fix the nom command to remove yarn.lock file][pr-41] - [@najamkhn] + +#### Miscellaneous + +* [cleanup l10n accesskey properties][pr-55] - [@jasonLaster] +* [Remove required status from prop in searchbar and fix flow issues.][pr-48] - [@wldcordeiro] + +#### Testing + +* [add Tests for Return values][pr-33] - [@jasonLaster] +* [Additional integration tests][pr-18] - [@jasonLaster] +* [fix failing tests][pr-3] - [@jasonLaster] +* [Add Expressions test][pr-37] - [@bomsy] +* [fix console link test][pr-38] - [@jasonLaster] + +#### Docs + +* [(WIP) integration test docs][pr-16] - [@jasonLaster] +* [clean up testing docs][pr-34] - [@jasonLaster] +* [Add some maintainer docs][pr-47] - [@jasonLaster] + +#### Screenshots + +| Persist Scopes | +|----------------| +|![gif-1]| + +| Editor Preview | +|----------------| +|![gif-2]| + +| Text Search | +|-------------| +|![gif-3]! + + +[gif-1]:https://cloud.githubusercontent.com/assets/792924/23188424/948ff100-f886-11e6-9420-bab20d56d289.gif +[gif-2]:https://cloud.githubusercontent.com/assets/792924/23385436/b5e22ae2-fd47-11e6-9a55-e26365b3849e.gif +[gif-3]:https://camo.githubusercontent.com/c528900a4ca7a817e34cd43bd0d8a9f44c4c3a6e/687474703a2f2f672e7265636f726469742e636f2f494d385370645a784d722e676966 + +[pr-0]:https://github.com/devtools-html/debugger.html/pull/2005 +[pr-1]:https://github.com/devtools-html/debugger.html/pull/2048 +[pr-2]:https://github.com/devtools-html/debugger.html/pull/2058 +[pr-3]:https://github.com/devtools-html/debugger.html/pull/2061 +[pr-4]:https://github.com/devtools-html/debugger.html/pull/2062 +[pr-5]:https://github.com/devtools-html/debugger.html/pull/2047 +[pr-6]:https://github.com/devtools-html/debugger.html/pull/2064 +[pr-7]:https://github.com/devtools-html/debugger.html/pull/2074 +[pr-8]:https://github.com/devtools-html/debugger.html/pull/2073 +[pr-9]:https://github.com/devtools-html/debugger.html/pull/2071 +[pr-10]:https://github.com/devtools-html/debugger.html/pull/2069 +[pr-11]:https://github.com/devtools-html/debugger.html/pull/2067 +[pr-12]:https://github.com/devtools-html/debugger.html/pull/2043 +[pr-13]:https://github.com/devtools-html/debugger.html/pull/2068 +[pr-14]:https://github.com/devtools-html/debugger.html/pull/2086 +[pr-15]:https://github.com/devtools-html/debugger.html/pull/2111 +[pr-16]:https://github.com/devtools-html/debugger.html/pull/2095 +[pr-17]:https://github.com/devtools-html/debugger.html/pull/2110 +[pr-18]:https://github.com/devtools-html/debugger.html/pull/2089 +[pr-19]:https://github.com/devtools-html/debugger.html/pull/2088 +[pr-20]:https://github.com/devtools-html/debugger.html/pull/2099 +[pr-21]:https://github.com/devtools-html/debugger.html/pull/2119 +[pr-22]:https://github.com/devtools-html/debugger.html/pull/2026 +[pr-23]:https://github.com/devtools-html/debugger.html/pull/2087 +[pr-24]:https://github.com/devtools-html/debugger.html/pull/2092 +[pr-25]:https://github.com/devtools-html/debugger.html/pull/2114 +[pr-26]:https://github.com/devtools-html/debugger.html/pull/2063 +[pr-27]:https://github.com/devtools-html/debugger.html/pull/2121 +[pr-28]:https://github.com/devtools-html/debugger.html/pull/2118 +[pr-29]:https://github.com/devtools-html/debugger.html/pull/2090 +[pr-30]:https://github.com/devtools-html/debugger.html/pull/2139 +[pr-31]:https://github.com/devtools-html/debugger.html/pull/2138 +[pr-32]:https://github.com/devtools-html/debugger.html/pull/2129 +[pr-33]:https://github.com/devtools-html/debugger.html/pull/2133 +[pr-34]:https://github.com/devtools-html/debugger.html/pull/2136 +[pr-35]:https://github.com/devtools-html/debugger.html/pull/2128 +[pr-36]:https://github.com/devtools-html/debugger.html/pull/2142 +[pr-37]:https://github.com/devtools-html/debugger.html/pull/2145 +[pr-38]:https://github.com/devtools-html/debugger.html/pull/2147 +[pr-39]:https://github.com/devtools-html/debugger.html/pull/2168 +[pr-40]:https://github.com/devtools-html/debugger.html/pull/2153 +[pr-41]:https://github.com/devtools-html/debugger.html/pull/2152 +[pr-42]:https://github.com/devtools-html/debugger.html/pull/2140 +[pr-43]:https://github.com/devtools-html/debugger.html/pull/2155 +[pr-44]:https://github.com/devtools-html/debugger.html/pull/2166 +[pr-45]:https://github.com/devtools-html/debugger.html/pull/2150 +[pr-46]:https://github.com/devtools-html/debugger.html/pull/2183 +[pr-47]:https://github.com/devtools-html/debugger.html/pull/2181 +[pr-48]:https://github.com/devtools-html/debugger.html/pull/2188 +[pr-49]:https://github.com/devtools-html/debugger.html/pull/2179 +[pr-50]:https://github.com/devtools-html/debugger.html/pull/2189 +[pr-51]:https://github.com/devtools-html/debugger.html/pull/2146 +[pr-52]:https://github.com/devtools-html/debugger.html/pull/2170 +[pr-53]:https://github.com/devtools-html/debugger.html/pull/2176 +[pr-54]:https://github.com/devtools-html/debugger.html/pull/2174 +[pr-55]:https://github.com/devtools-html/debugger.html/pull/2162 +[pr-56]:https://github.com/devtools-html/debugger.html/pull/2212 +[pr-57]:https://github.com/devtools-html/debugger.html/pull/2187 +[pr-58]:https://github.com/devtools-html/debugger.html/pull/2216 +[pr-59]:https://github.com/devtools-html/debugger.html/pull/2202 +[pr-60]:https://github.com/devtools-html/debugger.html/pull/2198 +[pr-61]:https://github.com/devtools-html/debugger.html/pull/2191 +[pr-62]:https://github.com/devtools-html/debugger.html/pull/2201 +[pr-63]:https://github.com/devtools-html/debugger.html/pull/2200 +[pr-64]:https://github.com/devtools-html/debugger.html/pull/2197 +[pr-65]:https://github.com/devtools-html/debugger.html/pull/2210 +[pr-66]:https://github.com/devtools-html/debugger.html/pull/2182 +[pr-67]:https://github.com/devtools-html/debugger.html/pull/2209 +[pr-68]:https://github.com/devtools-html/debugger.html/pull/2190 +[pr-69]:https://github.com/devtools-html/debugger.html/pull/2192 +[pr-70]:https://github.com/devtools-html/debugger.html/pull/2211 +[pr-71]:https://github.com/devtools-html/debugger.html/pull/2194 +[@rrandom]:http://github.com/rrandom +[@arthur801031]:http://github.com/arthur801031 +[@clarkbw]:http://github.com/clarkbw +[@jasonLaster]:http://github.com/jasonLaster +[@bomsy]:http://github.com/bomsy +[@wldcordeiro]:http://github.com/wldcordeiro +[@jryans]:http://github.com/jryans +[@irfanhudda]:http://github.com/irfanhudda +[@soapdog]:http://github.com/soapdog +[@amitzur]:http://github.com/amitzur +[@juliandescottes]:http://github.com/juliandescottes +[@Garbee]:http://github.com/Garbee +[@zystvan]:http://github.com/zystvan +[@najamkhn]:http://github.com/najamkhn +[@jcreighton]:http://github.com/jcreighton +[@jbhoosreddy]:http://github.com/jbhoosreddy +[@tromey]:http://github.com/tromey +[@ryanjduffy]:http://github.com/ryanjduffy +[@sole]:http://github.com/sole +[@lasfin]:http://github.com/lasfin