Summary:
Pull Request resolved: https://github.com/facebook/flipper/pull/463
Was made aware [here](https://github.com/facebook/flipper/issues/461) that
we currently don't build with NDK 20 because of Folly. The above issue exists only for x86 platform and not for other platform. I have updated the folly and RSocket. Although this diff doesn't solve the issue mentioned above for x86, but it updates the dependencies to the latest version. To mitigate temporarily, I have updated the gradle to not build for x86.
Reviewed By: passy
Differential Revision: D15713205
fbshipit-source-id: 79dd5825b0b876c87a1868fde8f3353a76012267
Summary:
This is fairly experimental. The test passes, but I don't know how stable it will be when litho changes for example.
However, it's easy to exclude specific attributes from the hierarchy, so maybe we can iterate if it breaks at first.
It just takes a snapshot of the layout hierarchy from headless flipper, and compares it to it's known one.
To run it:
`cd headless-tests && DEVICE=emulator-5554 yarn test` while you have the sample app running on an emulator.
To update the snapshots, just add `-u` to the end of that command.
Reviewed By: danielbuechele
Differential Revision: D15715674
fbshipit-source-id: 4fe6f83b60f8003d48aceb6468d93c075e6c38b8
Summary:
We in React VR were need newer Chrome DevTools version to make our plugin work properly. Chromium version with required fixes were shipped in electron 5.0.0.
This diff bumps electron version and explicitly allows node integration (accessing require, process and other node related functions from window object in index.html), because it was disabled by default in 5.0.0.
Reviewed By: jknoxville
Differential Revision: D15693539
fbshipit-source-id: 4f71a07b2afaa489aec46940c924f4ad30ad0413
Summary: Adds the capability to customize rows in the elements inspector via a callback.
Reviewed By: danielbuechele
Differential Revision: D15738355
fbshipit-source-id: 27b91a74535736318b7fdb9d2eb44dfa20b4d77b
Summary: No longer necessary, after flow types for `lodash.memoize` were added.
Reviewed By: jknoxville
Differential Revision: D15738356
fbshipit-source-id: 3c911e5eefee347ca69a37051fd5279c5de47873
Summary: The "Conflict in temp dir" message was misleading when there were 0, rather than >1 file. This fixes that error message.
Reviewed By: passy
Differential Revision: D15716247
fbshipit-source-id: 572addf99f623cdcffd7602dd3935bb69a50d047
Summary:
I'm seeing some failures where no client is connected when we do the export.
This increases the wait time before sending the SIGINT.
Reviewed By: passy
Differential Revision: D15716214
fbshipit-source-id: 4646ef9d1c37e491273bd9deff504675b0e4e780
Summary: Add sidebar to the flipper CPU plugin. Sidebar displays detailed information about the selected CPU core
Differential Revision: D15696198
fbshipit-source-id: 47e687b4354653e6bef626cd3f27adcb219dbd28
Summary:
`StatusIndicator` works well as a flex child, but didn’t support usage in inline / text contexts.
Adding `display: inline-block` fixes that.
Reviewed By: danielbuechele
Differential Revision: D15695673
fbshipit-source-id: 30378d2292390b8d86c0a26c11571e5953b841f2
Summary:
Adds a JS test suite for running jest tests against flipper headless binaries. Replaces the jq-based bash script.
Simple sanity test included for all expected top level keys in output JSON.
Reviewed By: passy
Differential Revision: D15625723
fbshipit-source-id: 5ec8e764bcdbb99d9070de704e76a5cd9d8e5dc6
Summary:
`/*` is the standard throughout open source code. For example, Firefox uses single /*: https://hg.mozilla.org/mozilla-central/file/21d22b2f541258d3d1cf96c7ba5ad73e96e616b5/gfx/ipc/CompositorWidgetVsyncObserver.cpp#l3
In addition, Rust considers `/**` to be a doc comment (similar to Javadoc) and having such a comment at the beginning of the file causes `rustc` to barf.
Note that some JavaScript tooling requires `/**`. This is OK since JavaScript files were not covered by the linter in the first place, but it would be good to have that tooling fixed too.
Reviewed By: zertosh
Differential Revision: D15640366
fbshipit-source-id: b4ed4599071516364d6109720750d6a43304c089
Summary: Includes the LeakTracker interface change. Restores the temporarily deleted tracker, wires it back up. Requires Fresco 0.14.2 being released which has yet to happen.
Reviewed By: oprisnik
Differential Revision: D15655667
fbshipit-source-id: ab4361be35101efe7564dfdd7a69cba93135eb7e
Summary:
Ugh, this is the only way we can land the API-breaking next diff. Will
be reverted straight after.
Reviewed By: oprisnik
Differential Revision: D15655666
fbshipit-source-id: c9318e348c187de4562a9a636287cfa7b523356f
Summary:
Pulls out the local `Lamp` component from `PluginDebugge` into `StatusIndicator`.
This will allow to reuse the component in different context, to guarantee a consistent appearance of Flipper throughout.
For good measure, we make diameter and title configurable. Vertical alignment is changed from `margin-top` to `align-self`.
Reviewed By: danielbuechele
Differential Revision: D15692275
fbshipit-source-id: 438b2f5300175565dbf07d07a5d757936b4f7cfe
Summary:
Using `process.exit()` stops the node process without waiting for the event loop to finish, so when using async i/o, which is what happens when piped, if the output is buffered, the process can terminate before it finishes flushing the buffer.
This means you only get some of the output and the JSON is malformed.
This fixes it by calling `process.exit()` inside the flushed callback.
Reviewed By: passy
Differential Revision: D15624806
fbshipit-source-id: ea540ed5a40fb1811e5b705b190da96c8e54730d
Summary: Catch the exception thrown in xcrun, which will occur for linux machines and in the cases when Xcode command line toolchain is not installed.
Reviewed By: passy
Differential Revision: D15621368
fbshipit-source-id: f3044cee6f7a4b5ba927a33003f9690c1fe31586
Summary:
Adds a "Track Leaks" option that will show notifications (even retroactively)
for `CloseableReferences` that were tracked.
Reviewed By: danielbuechele
Differential Revision: D15622596
fbshipit-source-id: ef610379aa96f9a5e541f741af608db30bee74e1
Summary: Should be better than the mock we generated before, I hope.
Reviewed By: danielbuechele
Differential Revision: D15621591
fbshipit-source-id: a153d9233f6715c4c53ccabf2b8d18ce95b37f03
Summary: Added unit tests for the "WASTED_BYTES" for the fresco plugin
Reviewed By: passy
Differential Revision: D15610871
fbshipit-source-id: dc9bd84363e1ba22fc96890b74e217372188a9d0
Summary:
Notification from plugins (especially network) could be very spammy. This diff introduces a throttle, so a plugin can only send a notification every 5 seconds. If a notification is sent earlier, it is not displayed and the counter is reset to 5 seconds from now.
In the notifications panel still all notifications are dispalyed.
Reviewed By: passy
Differential Revision: D15621427
fbshipit-source-id: ea5e3b39fdd5cdedff3fd5234e752800520a423b
Summary:
1. Yargs doesn't like having the same option name as the given alias and will just silently skip those (like --metrics).
2. Having multiple ways of specifying the same argument is not a good practise.
I think we've been misusing `alias` as a way to have more JavaScript-y accessors, but ignoring that yargs already
converts `my-long-argument` to `myLongArgument` without having to expose this.
We haven't rolled out a version with the previous long arguments, so we should
still be able to change this without breaking stuff.
Reviewed By: jknoxville
Differential Revision: D15620636
fbshipit-source-id: 84a8046cf06d696e947719032c4f9c34ac9c0474
Summary: Unrelated to what I was going to work on, so separate diff.
Reviewed By: jknoxville
Differential Revision: D15620643
fbshipit-source-id: a555bbd54adfe44fa7d566cb9cb6d31bd75be28e
Summary: Add a metric for the raw number of leaked closeable references.
Reviewed By: priteshrnandgaonkar
Differential Revision: D15603348
fbshipit-source-id: 03379e180b5822620e8e8347bef354edb3527d19
Summary:
The FlipperArray creation from JSONArray used to create an array of `null`'s instead of the FlipperObject, which used to crash the Flipper. Thus added a check in the flipper to not crash in the case when it receives array of nulls. Also fixed the Fresco plugin in mobile to send the proper FlipperArray.
Bug:
{F160049909}
Reviewed By: passy
Differential Revision: D15608297
fbshipit-source-id: 625e017d3bce4135ac699ee5aee8d871db378749
Summary:
This diff fetches the additional data by calling the hook added in each plugins when the headless tries to export metrics directly out of the store rather than from the trace.
I added `fetchMetadata` function which will be called while exporting the state as well as exporting the metrics. We do not need to fetch metadata in the case when the metrics are exported from the given trace.
Reviewed By: passy
Differential Revision: D15560129
fbshipit-source-id: 9b14340e565ce17d1825bc2d32520d7b0c2b2219
Summary: Actually reduce in the reducer step instead of using mutable state.
Reviewed By: jknoxville
Differential Revision: D15603095
fbshipit-source-id: f603ca548bb760db5423a4c1871d94284ece9521
Summary:
We've got some exit troubles, meaning we have to use process.exit() to stop the headless process. This isn't good because the output isn't necessarily flushed when the process forcefully exits this way.
The tests can check for this, so I've removed the forceExit flag, and fixed the case stopping them from cleanly exiting - the android adb client.
Reviewed By: passy
Differential Revision: D15602919
fbshipit-source-id: b4a9dbabf5d3c874bda6bf938e4acb7b5b7e901b
Summary:
0.100! Just noticed there's a new version and it continues to work.
destruction100
Reviewed By: jknoxville
Differential Revision: D15601865
fbshipit-source-id: 2d9d8a9ffb073468df4b85ed83800bce00ee6cda
Summary: This should buy us some time before Sandcastle kicks us off again. :)
Reviewed By: danielbuechele
Differential Revision: D15449604
fbshipit-source-id: 90d4e8a965d0163de32416b43d9aa24ede104db2
Summary:
There's a mismatch as we don't use the same existential qualification
in the constructor as we do for the class definition. This this
enforced more strictly in newer Flow versions.
Reviewed By: danielbuechele
Differential Revision: D15601548
fbshipit-source-id: 807ef9ba74933fbc653514a617d1008f4f65c631
Summary: Not sure why Flow was okay with this before.
Reviewed By: danielbuechele
Differential Revision: D15601506
fbshipit-source-id: a211bb373061d1481dbc6748d4e061a980cd0278
Summary:
Pull Request resolved: https://github.com/facebook/flipper/pull/455
Only logging to the console for now, but it's a good start.
Reviewed By: oprisnik
Differential Revision: D15535820
fbshipit-source-id: 8531ec5ef681d01b2428a1f016b2a1d9f1589a34
Summary: Required for the next diff as we make use of the new CloseableReference interface.
Reviewed By: oprisnik
Differential Revision: D15558423
fbshipit-source-id: 98ce5bf3f01a6f0e7ca568544709656c41093505
Summary: This gradle flag is stopping the other tests from passing.
Reviewed By: quanturium
Differential Revision: D15558776
fbshipit-source-id: 54934c73271e1cbb041877fef0dfb2de21733424
Summary:
Refactors `startFlipper` function in headless flipper into three different functions.
`earlyExitActions`: Before the dispatcher is called on the store and will exit if the user arguments are one which are meant to terminate the process.
`exitActions`: This function will be called after the dispatcher is called and will exit if the user arguments are one which are meant to terminate the process.
`storeModifyngActions`: It involves business logic which updates the store based on the user arguments.
Reviewed By: passy
Differential Revision: D15556130
fbshipit-source-id: 9d1b035525e613bb2b75454fa4fd6c193993b530
Summary: Adds an argument to select a device in headless. I will refactor the function the headless function in the next diff
Reviewed By: danielbuechele
Differential Revision: D15536774
fbshipit-source-id: 2e3f01c6bc6094d925aebd20ba0bf15b17168cd1
Summary: requestIdleCallback does not exist in node.js. In this case, we immediately invoke the callback.
Reviewed By: priteshrnandgaonkar
Differential Revision: D15556037
fbshipit-source-id: 62cee8544fabd4528d9df17109e882fa9db6585f
Summary: This is a big dep, and wasn't even used. Removing.
Reviewed By: danielbuechele
Differential Revision: D15555949
fbshipit-source-id: 31a5430819592478b01548469fdbf58637c4de22