Summary: Do not remove dummy devices as they are created during WWW cert exchange and are not picked up by IDB
Reviewed By: lblasa
Differential Revision: D39430458
fbshipit-source-id: 249efda23f324522ae2ae3a0ee4f198ab701d22d
Summary:
There is a bug in the code to get fragments from the activity.
A boolean, result from the comparison, was added to the list instead of the actual fragments.
Reviewed By: LukeDefeo
Differential Revision: D39348019
fbshipit-source-id: 669f304055f15f59b40352d86f25d768d92df76e
Summary:
Now that we have the tree observer we can make descriptors completely about describing an object. To that end we have removed init method and made them all object to indicate to future readers their singleton nature.
onGetActive child was made open instead of abstract to avoid needed to override in all subclasses
Reviewed By: lblasa
Differential Revision: D39387935
fbshipit-source-id: 802b8afdd9aa639daecf10d774ca5b960ee48003
Summary:
Added concept of a tree observer which is responsible for listening to the changes for a portion of the UI tree. This structure nests so Tree observers can hold child tree observers which emit events on a different cadence. This structure should allow us to incorporate different UI frameworks down the road as well as native android views.
We push the tree updates from the tree observers onto a channel and setup a coroutine to consume this channel, serialize and send down the wire.
Reviewed By: lblasa
Differential Revision: D39276681
fbshipit-source-id: a4bc23b3578a8a10b57dd11fe88b273e1ce09ad8
Summary: A node can have an active child, if present we assume all others are inactive and we don't traverse them. This means the activities not on top and view pager views not active will not be scanned. Additionally on the desktop we are automatically collapsing these views. The net result is a lot less work done on the main thread
Reviewed By: lblasa
Differential Revision: D39310126
fbshipit-source-id: ebd0c69d46f2d42fe42e678c8327fcdc73d08385
Summary:
This diff has been automatically generated by the inpage editor.
If you want to update this diff, go through the preview link that would be attached to the test plan.
Please ensure you are editing the same page that was used to create this diff.
Reviewed By: antonk52
Differential Revision: D39345371
fbshipit-source-id: c6d42685d3ecf2d898094c3a688f7c754f318963
Summary:
BREAKING CHANGE: it won't work with react-native CLI 4.2.2 as it will search for an xcode project
Fixes https://github.com/facebook/flipper/issues/3859
## Changelog
fix: dependency.platforms.ios.project is not allowed on RN 0.69
Pull Request resolved: https://github.com/facebook/flipper/pull/3860
Test Plan:
I don't know how to test my branch directly, but I did a simple change that can easily be tested with this method:
Start a fresh `react-native` 0.69 project:
```
npx react-native init flipperBugTest
```
Then install `react-native-flipper` package:
```
yarn add -D react-native-flipper
```
Navigate to `flipperBugTest/node_modules/react-native-flipper` and delete `react-native.config.js` file.
And start `react-native` metro:
```
react-native start
```
Reviewed By: antonk52
Differential Revision: D39345618
Pulled By: lblasa
fbshipit-source-id: 2cc74e2dd7100aab693c8e66f01d5b4ced402dd3
Summary:
Resolves https://github.com/facebook/flipper/issues/3819
This PR fixes Flipper's plugin installation, so that scoped plugins (with `/` in the name) can be successfully installed (+removed).
In more detail, Flipper's function [`installPluginFromNpm()`](69bac4a3d6/desktop/plugin-lib/src/pluginInstaller.tsx (L99-L114)) relies on the `live-plugin-manager` package to handle the NPM package to a temporary directory.
Before this patch, Flipper would assume the name of the directory (incorrectly). This patch simply uses the directory as provided by `live-plugin-manager`'s result.
If we use `shopify/flipper-plugin-react-native-performance` as a concrete example after this patch:
- `installPluginFromNpm()` is called to install `shopify/flipper-plugin-react-native-performance`
- `plugManNoDep.install()` installs the plugin to `/path/to/tmp/shopify/flipper-plugin-react-native-performance`
- note: before this patch, it would have been assumed to be installed to: `/path/to/tmp/shopify__flipper-plugin-react-native-performance` which does not exist
- `installPluginFromTempDir()` is called to install the package to `~/.flipper/installed-plugins/shopify__flipper-plugin-react-native-performance/{version}` (where `{version}` is the current version, i.e. `1.0.0`)
Once the plugin is in `~/.flipper/installed-plugins/`, the escaping is correctly applied consistently by Flipper, and there are no further issues managing/using the plugin.
## Changelog
Fixed errors when installing scoped NPM plugins
Pull Request resolved: https://github.com/facebook/flipper/pull/3825
Test Plan:
Ideally we'd have some unit tests, but mocking out the NPM fetching in `live-plugin-manager` seems like a bunch of work. If you have some shortcuts, let me know, because this would be useful to test across platforms.
But in the meantime, we can easily manually test this.
### Reproduce the failure
First, let's reproduce the failure:
- run Flipper 0.150.0 (or `yarn start` on master, etc)
- open plugin marketplace, attempt to install scoped plugins
- installation will fail (with ⚠️ icon)
<img width="1541" alt="Screen Shot 2022-06-20 at 1 18 21 pm" src="https://user-images.githubusercontent.com/33126/174590735-ed25d192-a661-4333-af08-e494678b9fbb.png">
- logs will show a failure to read `package.json`
<img width="1175" alt="Screen Shot 2022-06-20 at 1 18 39 pm" src="https://user-images.githubusercontent.com/33126/174590824-339ba7ef-dcde-42b6-90ac-b99424845c3e.png">
### Demonstrate success
- run Flipper from this branch (via `yarn start`)
- open plugin marketplace, attempt to install scoped plugins
- installation will succeed, with notification to restart Flipper
<img width="1541" alt="image" src="https://user-images.githubusercontent.com/33126/174591112-880f55bf-0439-457c-a199-4bab0b3f193f.png">
- (package can also be successfully used/upgraded/uninstalled)
Reviewed By: lawrencelomax
Differential Revision: D39345564
Pulled By: lblasa
fbshipit-source-id: 729d70a29c7941e59ac03bb21061fc1d2bc8d998
Summary:
^
This was replaced by `ApplicationRef`
Reviewed By: antonk52
Differential Revision: D39313539
fbshipit-source-id: ad9b5c3ed963046ba0349fd5112bb9cb5de7640b
Summary:
Currently, the `app inspect` tooltip at the left rail has a link to the getting started page that doesn't exist.
New path is `/docs/getting-started/`.
Also fix troubleshooting guide and no devices are found to `/docs/getting-started/troubleshooting/`
Pull Request resolved: https://github.com/facebook/flipper/pull/4042
Reviewed By: lawrencelomax
Differential Revision: D39314971
Pulled By: lblasa
fbshipit-source-id: 000b354b60bd05211b99134b63d790bf6949060f
Summary: Added simple activity to test how flipper reacts to changes in native UI
Reviewed By: passy
Differential Revision: D38704012
fbshipit-source-id: 8a593577322922c6f6f0f96dd5cb0761c3035389
Summary: Added scheduler to scan the Native UI every 500 ms to test, Also added instrumentation in a separate event with the timings of each stage visualised in a Data table on desktop which can be accessed with ctrl+I. Currently this instrumentation event is sent every time but it could be a config option controlled from the desktop in the future
Reviewed By: lblasa
Differential Revision: D39205313
fbshipit-source-id: ca034171db6b062396b4ef28028aaa663c4d852a
Summary: Move from a nested structure to a flatten one for data exchange, this will allow us to only send sections of the UI in the future
Reviewed By: lblasa
Differential Revision: D38982138
fbshipit-source-id: d578a07a6d2d7e117fbd741bd6e33062223ce10d
Summary: A very basic tree in Antd to visualise the UI
Reviewed By: lblasa
Differential Revision: D38977035
fbshipit-source-id: f9bbf765ea8027eeb263cad86407502c6a5779dd
Summary:
Introduced a JSON like tree structure for the sidebar insepector. Descriptors can provide their data as well as if its mutable or not.
Enum mapping was simplified
Reviewed By: lblasa
Differential Revision: D38947238
fbshipit-source-id: cd8a6a8a752c5f626582ab8ac5efae6e9ff6a2ad
Summary:
Pull Request resolved: https://github.com/facebook/flipper/pull/4052
Update to use Java 11 instead of 1.8.
Aim is to bring parity with the other existing workflows but more importantly fix the build as is broken at the moment.
Reviewed By: antonk52
Differential Revision: D39254936
fbshipit-source-id: c60332a288d9a671df5db0180fb501ddf185a075
Summary:
Last diff in the the RNW saga.
This change creates the necessary bridgings between the module and the plugin.
With this in place, JS plugins can be written and used. Also, we have a fully functional RNW sample app.
Reviewed By: aigoncharov
Differential Revision: D39087480
fbshipit-source-id: f4fde404716aa619a64553ffa556d060f49c0ac7
Summary:
^
This diff brings most things together and can be considered the test platform for RNW.
With this, Flipper client gets initialised and started.
This means the application connects and is ready for debugging.
Reviewed By: antonk52
Differential Revision: D39054912
fbshipit-source-id: 94397f6a72b1e9d9c0f2f3efaf9967be525076cd
Summary:
So far, Flipper has concatenated paths assuming is only ever built on unix-like systems.
For RNW, this approach fails.
This change is a very simple way of achieving WIN32 support without using any extra libraries or routines for path building.
Reviewed By: antonk52
Differential Revision: D39053479
fbshipit-source-id: e8b4b71cc1d17ca6aba88d40cad7d96a30ad1267
Summary: Introduces a Scheduler implementation using ReactDispatcher. The scheduler is/will be used by the FlipperConnectionManager as to serialise socket operations in it.
Reviewed By: antonk52
Differential Revision: D39053301
fbshipit-source-id: 5bc2d68a753ec4be3e28533b4c29e2d6ff6d8ba0
Summary: Filpper is doing disk IO on UI thread which actually produce `DiskWriteViolation` (presumably when the directory is not there, it will write to create)
Differential Revision: D39196484
fbshipit-source-id: f6b15785ea6ecf3ea5b41211908c14eac3d1309e
Summary:
This change is the direct results of doing the following:
npx react-native-windows-init --overwrite
Notes: ignore the format warnings below. In this case, the ordering of includes does matter. Missing license is for auto-generated files, so ignore too.
Reviewed By: aigoncharov
Differential Revision: D36775215
fbshipit-source-id: 1cd00ff2bfc258c8505e97dcdbd9cb4365c4acfb
Summary:
This is an automated PR to update the Podfile.lock.
- Make sure that the Podfile.lock contains latest FlipperKit and Flipper pod versions.
- Also make sure that all the dependencies are updated to the latest one.
- This is auto-generated by [create-pull-request](https://github.com/peter-evans/create-pull-request)
Pull Request resolved: https://github.com/facebook/flipper/pull/4025
Reviewed By: lblasa
Differential Revision: D38979176
Pulled By: cekkaewnumchai
fbshipit-source-id: d455bbdb5390340cd2b310d9be5045b088dbb994
Summary:
Starting a screencapture longer than 30 seconds would timeout as the start command waits for the process to finish. Removed that wait is it is the stop command that should only wait for the finish.
(n.b. please ship after accepting, as I'm on PTO)
Reviewed By: LukeDefeo
Differential Revision: D38918570
fbshipit-source-id: fd93e1239985c81a2143ceb79312518e7ebb27f5
Summary:
^
The last change removed the overload of `send` in favour of `sendRaw`
Reviewed By: LukeDefeo
Differential Revision: D38946386
fbshipit-source-id: c4491c4afe4d719602c99878dc7185d436179aef
Summary:
Add a simple scheduler which operates in the following way.
There are two type of tasks: main, background.
The main task will run on the main thread whilst the background task will run on a background thread.
The main task will be executing at a fixed internal whereas the background task will get queued on demand but can effectively consume what was produced by the main task at its own rate.
Reviewed By: LukeDefeo
Differential Revision: D38975283
fbshipit-source-id: 0633385d2938705a16f5fc75a28cad067e4a8e55
Summary: This adds a simple traversal to the UI. As it stands, it will most likely be updated in future iterations.
Reviewed By: LukeDefeo
Differential Revision: D38907292
fbshipit-source-id: 98cea1f971a4ef37ba2d1c75b882dd44df29bb3a