Summary: Using just the scope identifier for the root component is not sufficient when it doesn't have a scope. Solve this by prepending the scope root identifier to the parent identifier.
Reviewed By: fabiomassimo
Differential Revision: D19600721
fbshipit-source-id: d90f9ffd7ae369c76316cebc4ef792626a4584b7
Summary: Added information that "Debugger for Chrome" extension is required to be able to debug in VSCode.
Reviewed By: passy
Differential Revision: D19599117
fbshipit-source-id: 7323fb59daae24fe6b914e9ddb450326b135ad2b
Summary:
## Summary
Resolves https://github.com/facebook/flipper/issues/607
This removes stetho dependencies directly in favor of just copying in the used classes. This removes the last non-androidx dependency from the project, and is useful as stetho appears to be unmaintained. The fresco stetho dependency appeared to be completely unused.
## Changelog
Remove stetho dependencies. It was unused other than a few utility methods, but came at the cost of preventing Flipper consumers from completely removing dependencies that hadn't updated to Androidx yet.
Pull Request resolved: https://github.com/facebook/flipper/pull/762
Test Plan: Existing tests still pass with no regressions. Functionally this should be no difference.
Reviewed By: jknoxville
Differential Revision: D19577969
Pulled By: passy
fbshipit-source-id: b277ddf97a9d2c846dd0b9227c02bb46c1ecd930
Summary: Added stats, so that we know how much people have to wait when opening plugin after we open the queue GK
Reviewed By: jknoxville
Differential Revision: D19598730
fbshipit-source-id: f955123f2bae5b870eada8f787385d6c0450453e
Summary:
## The dependency [mkdirp](https://github.com/isaacs/node-mkdirp) was updated from `0.5.1` to `1.0.0`.
This version is **not covered** by your **current version range**.
If you don’t accept this pull request, your project will work just like it did before. However, you might be missing out on a bunch of new features, fixes and/or performance improvements from the dependency update.
---
**Publisher:** [isaacs](https://www.npmjs.com/~isaacs)
**License:** MIT
[Find out more about this release](https://github.com/isaacs/node-mkdirp).
---
<details>
<summary>FAQ and help</summary>
There is a collection of [frequently asked questions](https://greenkeeper.io/faq.html). If those don’t help, you can always [ask the humans behind Greenkeeper](https://github.com/greenkeeperio/greenkeeper/issues/new).
</details>
---
Your [Greenkeeper](https://greenkeeper.io) bot 🌴
Pull Request resolved: https://github.com/facebook/flipper/pull/757
Reviewed By: mweststrate
Differential Revision: D19578531
Pulled By: passy
fbshipit-source-id: b31ca29fabf263978242af464882cc530ff6564d
Summary: Currently we dont describe a `Window` object at all. Now we how the relevant theme data associated with the window.
Reviewed By: passy
Differential Revision: D19550049
fbshipit-source-id: 29903fb487b0be91d305f3b8d8fa7e4c3b3213e9
Summary:
## The dependency [mkdirp](https://github.com/isaacs/node-mkdirp) was updated from `0.5.1` to `1.0.0`.
This version is **not covered** by your **current version range**.
If you don’t accept this pull request, your project will work just like it did before. However, you might be missing out on a bunch of new features, fixes and/or performance improvements from the dependency update.
---
**Publisher:** [isaacs](https://www.npmjs.com/~isaacs)
**License:** MIT
[Find out more about this release](https://github.com/isaacs/node-mkdirp).
---
<details>
<summary>FAQ and help</summary>
There is a collection of [frequently asked questions](https://greenkeeper.io/faq.html). If those don’t help, you can always [ask the humans behind Greenkeeper](https://github.com/greenkeeperio/greenkeeper/issues/new).
</details>
---
Your [Greenkeeper](https://greenkeeper.io) bot 🌴
Pull Request resolved: https://github.com/facebook/flipper/pull/758
Reviewed By: mweststrate
Differential Revision: D19578530
Pulled By: passy
fbshipit-source-id: 3f7970875458904dc9bd74828328e5f436abacde
Summary: Updated "Debugging" page in Flipper docs: added instructions about debugging from Visual Studio Code and Google Chrome.
Reviewed By: mweststrate
Differential Revision: D19578864
fbshipit-source-id: c88c8278feb7c90fe77bde1d883c73079f2147f9
Summary:
This diff creates a small FPS graph to be able to see where we slow down the app. This visualizes two things
1. The amount of FPS we render at (from tracking.fps).
2. If we were not able to render at all (due to the main thread being blocked fully), we interpolate the graph and draw it in red.
Reviewed By: nikoant
Differential Revision: D19579115
fbshipit-source-id: 2421d724c6d514986759bc9d68b92a5e4f51e401
Summary: The welcome screen links were a bit out of date.
Reviewed By: nikoant
Differential Revision: D19578769
fbshipit-source-id: 69fc7977bd75ca4256043698350381a5f9d7fdb8
Summary: When doing a Flipper trace export through the app menu (not the support form), the export still contained a support request details section, with the default data of a bug report. That doesn't make any sense and is confusing, so this change makes sure the report is only included if it is supported through the supportRequestForm
Reviewed By: passy
Differential Revision: D19499408
fbshipit-source-id: ff7a5333f2045f2465966dffa0c5fb03aaeaceb8
Summary:
Not all plugin names are created equal in flipper. For example, plugins would bear different names in the sidebar and in the plugin selection when making a support request / flipper trace. Fixed this and also introduced a `getPluginTitle` utility that produces this name consistently.
Plugin listview now also sort their items consitently with the sidebar.
Probably also fixed an error in the flipper export screen, where a correct TS error was supressed.
Reviewed By: jknoxville
Differential Revision: D19499404
fbshipit-source-id: c5b23a170d41d96799eb7899e249f70778717d45
Summary: Just commiting another icon added by the script
Reviewed By: jknoxville
Differential Revision: D19578661
fbshipit-source-id: 9da953cec30d6ac1ea68312c060a8ce4c298fac0
Summary:
This diff enables debugging in VSCode. Debugging works for both Flipper core and plugin code. To start debugging:
1. yarn start
2. Go to "Debug and Run" tab in VSCode, select task "Attach to Running Renderer" and launch it (or just press F5).
{F227135377}
3. Debugger will be attached and all the breakpoints set in VSCode will be hit.
Reviewed By: passy
Differential Revision: D19578566
fbshipit-source-id: 609766471ad196a2ee8d4086ddb84b7af4ef05ef
Summary:
Having a key shortcut to execute the query you're typing helps to speed up the edit-run cycle.
## Changelog
In the database SQL execution tab, you can now execute queries with Ctrl+Return instead of pressing the 'Execute' button.
Pull Request resolved: https://github.com/facebook/flipper/pull/761
Test Plan:
I typed a query into the textarea, and while it was focussed, press Ctrl+Return, and the query executed.
Mousing over the 'Execute' button displays a tooltip informing you of this keyboard shortcut.

Reviewed By: mweststrate
Differential Revision: D19578527
Pulled By: passy
fbshipit-source-id: be131e44e293caa578d48e324fc43b457edb1e4e
Summary: For the navigation plugin we want to opt-out from the "enabled" and "process messages later" optimizations, because it's events should be immediately processed to reflect the changes in the topbar for navigation purposes
Reviewed By: jknoxville
Differential Revision: D19554297
fbshipit-source-id: 4bd49b5d1327feea6dea52e86d9dbc9d54a5dbee
Summary: The location bar doesn't update if there are multiple connected client, if the client we are interested wasn't the first one. The cause of that is that the location bar picked the state of the *first* navigation plugin found, rather than the navigation plugin connected to the selected device and client
Reviewed By: jknoxville
Differential Revision: D19554293
fbshipit-source-id: 46f2a66aa6ba07b510f1f615943eeb6ef8d52622
Summary: The navigation plugin threw exceptions, as the defaultPersisted state was not mixed into the already stored state, making some fields unreadable
Reviewed By: jknoxville
Differential Revision: D19554291
fbshipit-source-id: 57f045aa1eae10682e44d479b9aecb51f0391b9e
Summary:
The 'starring' concept of plugins no longer covers the meaning of 'starring', as unstarred plugins will no longer receive data from background plugins, not be available in support request forms due to a lack of data etc. So this diff renames the feature to 'enabled'.
Also fixed an issue where selecting a non-enabled plugin wouldn't show it in the sidebar if the additional plugins are collapsed.
To make disabled plugins more clear, they are . now always rendered in gray.
The toggle button now delays its effect for better visual feedback
- [x] update side bar styling
- [x] remove bottom bar warning
- [x] details screen
- [ ] only open connection for active plugins (will be done in a next diff)
- [x] check archived / imported devices
- [x] make sure device plugins work correctly
- [x] check without GK's
Reviewed By: jknoxville
Differential Revision: D19470326
fbshipit-source-id: 9160a3434287561f56b1b741d5ba282ab6063ea8
Summary: I think that's it. Some more minor changes and removing an unused BUCK file.
Reviewed By: mweststrate
Differential Revision: D19471282
fbshipit-source-id: ceb85111f03a41141dca0bdd445cda12dfbac1c4
Summary:
Some more minor cleanups that don't (well, barely) affect
semantics.
- Fix singleton management in multi-threaded environments.
- Remove double assignment.
- Make all things final where they can be.
- Use ugly Hungarian notation.
- Weaken some types.
Reviewed By: mweststrate
Differential Revision: D19471227
fbshipit-source-id: 18833c3fe940f51b8d4cb3948a63387b8cd9316c
Summary:
Making some changes to make this more idiomatic and abide by
the Flipper/FB standards. This one just removes some unused
variables and annotations.
Reviewed By: jknoxville
Differential Revision: D19470676
fbshipit-source-id: 4beb516f00228b1d33e4e1b42d9bc4f8c29af565
Summary: We won't use them so this is just dead weight that's going to break at some point.
Reviewed By: jknoxville
Differential Revision: D19470548
fbshipit-source-id: 3def22e6f5db2923d5551d7b6a3472cb4364186c
Summary:
Currently Android development can be disabled in Settings, but iOS development not. Because of this Doctor always shows warnings to Android-only developers who has no iOS SDK installed. This change makes it possible to disable "iOS development" option in the same way as we already had for Android.
Additionally I changed Doctor warning to show more specific message if only iOS or only Android checks are failed with suggestion to disable the failing platform if it is not required.
Reviewed By: jknoxville
Differential Revision: D19538070
fbshipit-source-id: 234d2c6cf21083f9d6aebd63418aed7f9a78e922
Summary:
There are complaints about Android SDK being reported as "not installed" when it is actually installed. To address them, I changed the way how we detect SDK and also added some minimal actionable feedback for each check.
The problem with the previous implementation of Android SDK check via "envinfo" is that the library uses "sdkmanager" tool under the hood, and this tool doesn't work on Java 9+. To fix this I'm changing the way how we assume SDK is installed to simple check for "adb" tool existence.
Actionable feedback is shown on Doctor report when you click to an item.
Reviewed By: jknoxville
Differential Revision: D19517769
fbshipit-source-id: 1c21f1bdcd05c7c0ae3f97b9c3454efa2c861d26
Summary: Shows tooltip when no plugins are selected. Before it used to select all the plugins
Reviewed By: jknoxville
Differential Revision: D19537054
fbshipit-source-id: 567b90f981a2a2ddcf68a1dce902db0a9d6214d2
Summary: The device.devicePlugins collection was not updated if new plugins were registered after creating a device. This diff fixes that.
Reviewed By: jknoxville
Differential Revision: D19536777
fbshipit-source-id: 11ed3c3383ae692ce74fd7a21704332fb319b9c4
Summary:
There was a bug in ListView where the selected items where not getting updated.
Bug
In the following video I have selected Inspector and logs plugin from export drop down. When I click on litho support form it should select the default plugins which is Inspector, Mobile Config and Logs. But it only shows Inspector and Logs selected
{F226900949}
To fix it:
I call the callback `onChange` when the listview's row get updated, which will updates the props of the ListView component and hence rerendering it with updated selected rows.
Reviewed By: mweststrate
Differential Revision: D19518762
fbshipit-source-id: 39367590cbdc1d6f88afb467b17b71e13703bde3
Summary: Added docs on how to write React-Native JavaScript based plugins
Reviewed By: passy
Differential Revision: D19344803
fbshipit-source-id: ad1ea66f1031760729fdaea8a7e6c1ef5dcd5439
Summary: This diff makes sure that the app doesn't die, or dies in a meaningful way if things are misconfigured.
Reviewed By: passy
Differential Revision: D19468273
fbshipit-source-id: 2471c263391906113446af57d795d1199eb1730e
Summary:
This diff creates a sample React Native project (based on the 0.62-rc.0 template).
This example is created like:
(Documenting this here as in the future this might be easier than upgrading the project itself)
1. Run `npx react-native init ReactNativeFlipperExample --version 0.62.0-rc.0`
2. Follow the installation steps to enable Flipper, that is, call `initializeFlipper(this, getReactNativeHost().getReactInstanceManager());` at the end of the `onCreate` method in `MainApplication.java`
3. Put `FlipperTicTacToe` in the root of the project, and call it from `App.js` as a component
4. install `react-native-flipper` as dependency
5. install `relative-deps` as dev dependency, and set it up as shown in `package.json`. This tool make sure that we build and test this project against the version of react-native-flipper in this repository, rather than against the one on NPM.
6. removed some stuff, like tests and linting, which is just in the way in this repo
This PR does not support iOS, as Flipper + RN iOS is still broken in 0.62.0-rc.0, and the current version of react-native-flipper doesn't support iOS yet either.
Documentation on how to set up Flipper in general is not part of this Diff
_N.B. since this is a **public** project, to be visible and runnable by our OSS community, the build setup is kept plain, vanilla, react-native, and **not** wired up to our normal / internal build processes. This is also the reason that lint suggestions beyond the license headers have been ignored. If any others should be applied, it is probably the official react native template that requires updating_
Reviewed By: passy
Differential Revision: D19449295
fbshipit-source-id: 2aeb6044f8dd01f09a95350c84fff2419d685a65
Summary: Discovered that all gathered plugin stats where empty due to mis-using Object.entries. Fixed that. Also added a accumulated cpuTime metric, which should be great for a uniform trend line.
Reviewed By: jknoxville
Differential Revision: D19517279
fbshipit-source-id: a6df83eea000a5d59fe692a3795fd58ae6457821
Summary:
Fixes broken export through URL.
Also fixes an issue where we suppress an exception
Reviewed By: mweststrate
Differential Revision: D19517066
fbshipit-source-id: c68b6a1bcbc8b0588e0db9032268033a42b43c61
Summary: This exists to warn people about an incompatibility with old android sdk's, there's no need for the warning on other OS's even if the sdk is old.
Reviewed By: mweststrate
Differential Revision: D19499587
fbshipit-source-id: 5468fffcc0265bb122cf149f49b9af86ddd3c84e
Summary: This is useless as it's logged as key: total anyway.
Reviewed By: mweststrate
Differential Revision: D19501099
fbshipit-source-id: 08dcf76fbab8065356b34c6ed1524ef83703c46c
Summary: This isn't needed anymore as it's taken care of by the Client class when it fails to find it's own matching device.
Reviewed By: mweststrate
Differential Revision: D19499929
fbshipit-source-id: e54dea6e680a9fa3cd3572cdd65434922d51c4ea
Summary:
This diff improves two things:
1. Stats are now gathered on every `trackUsage` tick, rather than only when there is a selection
2. The stats now include a delta to compare it with the previous tick
Reviewed By: passy
Differential Revision: D19514231
fbshipit-source-id: 1854c1dc03c63a03db8c7040c185d2629e1b9ea2
Summary:
The FB4A SQLite database plugin has to be opened 4-5 times before it shows a list of databases. This is because some databases are encrypted and can't be opened. In this case the code throws and exception and we do not catch that, causing the whole load process to crash.
Now catching the exception and returning an empty list.
Reviewed By: jknoxville
Differential Revision: D19463876
fbshipit-source-id: af8c9a70dc2761e62088d90ce89f8d16057e8745
Summary: Added button to reset Android SDK path to default + fixed default SDK path on Windows which I introduced in a previous diff and which before might be wrongly resolved to roaming data instead of local data folder
Reviewed By: jknoxville
Differential Revision: D19498899
fbshipit-source-id: e10865b528f55ea6b56873bdf9369c4b60dca89f
Summary:
on databases section, queries marked as "favorite", are not persisted. With this changes, they will be saved at localStorage and persist from refresh.
Improves on parse json values from databases.
## Changelog
Pull Request resolved: https://github.com/facebook/flipper/pull/738
Reviewed By: mweststrate
Differential Revision: D19330218
Pulled By: passy
fbshipit-source-id: 673b2d0bbee9b3ef4544defaca0e3c5547a992a2
Summary:
Default path for Android SDK was set to "/opt/android_sdk" disregard the current OS.
On Windows it should be set to "%localappdata%\android\sdk" instead.
Reviewed By: passy
Differential Revision: D19496646
fbshipit-source-id: 86ce7df74b98eef5b7b0a556a5359bec8cb0dbc4
Summary: A small enhancement for the Doctor usage report
Reviewed By: passy
Differential Revision: D19496887
fbshipit-source-id: 1f0efb0eb29e2efce60ba4fca3bd6fdc062406ea