Summary: Adds a new plugin to support [LeakCanary](https://github.com/square/leakcanary), displaying memory leaks as they are detected. Each leak shows a hierarchical path from the GC root to the leaked object, and allows inspection of these objects' fields.
Reviewed By: jknoxville
Differential Revision: D8865149
fbshipit-source-id: 99bcf216578b9d6660ead7d48b9bafe0d20a6c08
Summary: Ax mode now works with multiple view roots/windows, accessibility focus is also updated when new windows are opened.
Reviewed By: danielbuechele
Differential Revision: D9121844
fbshipit-source-id: 1da9327f5d6a784793db8076c2ad2d84e860ac1c
Summary: The file system mutex caused some problems in Sandcastle. This diffs switches for the default setting (network mutex) in the hope this fixes the problem
Reviewed By: passy
Differential Revision: D9132069
fbshipit-source-id: 5abb4d33b6db2a5d2b3f0788116ca6941e554591
Summary: Adding a flowtype library definition for electron 3 and fixing related type errors
Reviewed By: passy
Differential Revision: D9124758
fbshipit-source-id: e09cb5b05ba952e7f95f68f9043edc586f81ae83
Summary: upgrading to the latest electron version
Reviewed By: passy
Differential Revision: D9124759
fbshipit-source-id: 7d79f22f3b6dec6179eec868b8a6f20da1259401
Summary: Clean up javascript. Add a check to remove ax mode toggle if using ios. Add safety check for extraInfo where it hasn't been added yet.
Reviewed By: danielbuechele
Differential Revision: D9070574
fbshipit-source-id: 49ac781c01ea47239d6c24089976497371973726
Summary: Screen captures now have unique names, so they don't get overwritten. By default they are saved to the desktop, but the path can be overwritten by setting `screenCapturePath` in `~/.sonar/config.js`
Reviewed By: jknoxville
Differential Revision: D9120822
fbshipit-source-id: ab6880eac475da3839f08c6e644c16bdc8693647
Summary:
It was deleted in one of the previous commit and it broke the build
Pull Request resolved: https://github.com/facebook/flipper/pull/198
Reviewed By: passy
Differential Revision: D9117234
Pulled By: priteshrnandgaonkar
fbshipit-source-id: 72d9d58a11683b8a51732b3f735ef1326ce56794
Summary:
Sonar won't work without the INTERNET permission, so it can talk TCP to the desktop, on localhost.
Also, for genymotion, we use the IP address, so we need ACCESS_WIFI_STATE.
Reviewed By: passy
Differential Revision: D8855239
fbshipit-source-id: 35d0b0bba91daeba35a5de90e5ef87e89ac6bb51
Summary:
Improves the look of analyzed Hprof data for the Memory Tools plugin. Adds an expandable/collapsable tree using ElementsInspector and groups large objects/leaked objects.
https://pxl.cl/fxNs
Reviewed By: danielbuechele
Differential Revision: D8721141
fbshipit-source-id: f78fe32bd2ca1f11ce39b9e696f48a56dc5c9bff
Summary: Updated the website with the new name flipper
Reviewed By: passy
Differential Revision: D9046642
fbshipit-source-id: e4c6e77ddba62b8ebedf5639dc7cc6375b857cd9
Summary: Replaces sonar with flipper in the docs of a website
Reviewed By: passy
Differential Revision: D9046564
fbshipit-source-id: 55d03d787489406571ea0b4ac0adbc0daaa95cd4
Summary:
9f807c introduced a new subspec in SonarKit.podspec, which caused Cpp header files to be included in `SonarKit-umbrella.h`, causing all non-ObjC++ project integrations to fail to build (see #190 for more info). SirArkimedes and I investigated this today and found the fix:
1. Make the `CppBridge` subspec's header files private
2. Add a hack to make Cocoapods copy `FBMacros.h` into `{PODS_ROOT}/Headers/Public/SonarKit`, since otherwise `#import "FBMacros.h"` in `SonarKit-umbrella.h` will fail to resolve in out-of-the-box projects.
I've put up a branch [here](https://github.com/noahsark769/sonar-testing-example-projects/tree/working_reference) which pulls the pod from this branch and verifies that the fix works.
Fixes#190
Pull Request resolved: https://github.com/facebook/Sonar/pull/192
Reviewed By: passy
Differential Revision: D9049420
Pulled By: priteshrnandgaonkar
fbshipit-source-id: 9383016975607e897085323d64ad44a068199918
Summary: The selected device, app and plugin are not persisted over a reload using `redux-persist`.
Reviewed By: jknoxville
Differential Revision: D8836481
fbshipit-source-id: 3ace1a950a200255d5daf77791d706ede0ff2138
Summary:
Deselect plugin when app disconnects, but store the information that the users had the app selected. When the app conencts again, restore the user's selection.
This also stores the device seleced by the user and reselects the device if it connects.
Reviewed By: xiphirx
Differential Revision: D8833948
fbshipit-source-id: ad3ef54681550ae674bdd4e695d677aea5c14588
Summary: If the app youre inspecting doesnt have extra ax info then the layout inspector has a bad time
Reviewed By: sjkirby
Differential Revision: D9038286
fbshipit-source-id: e3c1736cba13b870cf7ff648377c822fba4446d0
Summary: Highlights the element corresponding to the view talkback is focused on in green in the ax tree (and updates live as talkback moves).
Reviewed By: blavalla
Differential Revision: D9021542
fbshipit-source-id: c3bf6f5625aacb0cd054032b33a50541b88b2eaf
Summary: Moves SonarKitLayoutPlugin to xplat, keeping just the buck file in the `fbobjc` which directs to `xplat `
Reviewed By: passy
Differential Revision: D8967016
fbshipit-source-id: 9ac99beffee1332f38eb3984958b536eefc74e19
Summary: Show plugins in alphabetical order in the main sidebar, so you can more easily find the one you're insterested in.
Reviewed By: passy
Differential Revision: D8995900
fbshipit-source-id: 2ce4a4f4ac7491378e09da8b6ada3f60102a36cb
Summary:
For those not familiar with android and iOS development practices, adding basic build instructions.
Pull Request resolved: https://github.com/facebook/Sonar/pull/185
Reviewed By: passy
Differential Revision: D8991468
Pulled By: jknoxville
fbshipit-source-id: 990dc1217c7b5275d143b915c1b4872b271f4c94
Summary: Adds an optional 'depressed' param to Button. If set to true, displays the Button as if it was depressed. Used to add a set of togglable buttons in which all or none can be selected.
Reviewed By: jknoxville
Differential Revision: D8903854
fbshipit-source-id: ff39bed91514e420b49cb75fe57e490fa641b810
Summary: Shows basic relationship between the AX and nonAX tree litho nodes. When a litho component is selected from the nonAX tree, it's corresponding hostView or lithoView (root of the component tree) is highlighted in the AX tree giving priority to the hostView if it exists. If a hostView is selected in the AX tree, it's corresponding component is selected in the non-AX tree. If a lithoView is selected from the AX tree, it's corresponding lithoView is highlighted in the non-AX tree. This means that each hostView has a one-to-one highlighting between the two trees but lithoViews will have many nodes in the main tree that map to one node in the AX tree (which is accurate to litho components rendering but we may need to change in the future if it is not clear).
Reviewed By: jknoxville
Differential Revision: D8972205
fbshipit-source-id: d136f5b594d0ac1b66a82b35dc7b085186829fc4
Summary: When expanding one tree, the other tree also expands. This expanding jumps over fragments (which are not in the accessibility tree) so that the trees can stay in sync even when there are extra wrappers in the main tree. Need to figure out functionality for litho components (these simply don't expand together right now since the relationship between the trees at these nodes are less obvious).
Differential Revision: D8943229
fbshipit-source-id: 289c3511a6495508b45a62da13ae4c50209e6118
Summary: Per title. CI is unhappy.
Reviewed By: jknoxville
Differential Revision: D8991974
fbshipit-source-id: db7b9161b814fbbae0849d3ee3d551a7a8588985
Summary:
Pull Request resolved: https://github.com/facebook/Sonar/pull/184
Move all files in xplat//sonar-client to xplat//sonar/xplat.
xplat//sonar-client is now deleted and all references updated to point to the new location.
Why?
So that internal file structure matches github file structure.
Reviewed By: priteshrnandgaonkar
Differential Revision: D8966740
fbshipit-source-id: 503da608e4385dc1563c56082eb7a1f48525bdc7