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
Summary:
Scaffolded desktop UI for UI debugger
I changed getroot from an rpc call to an event sent on connect. The root should never change as its the application object.
Reviewed By: lblasa
Differential Revision: D38866008
fbshipit-source-id: ca0f1908bedb643238f11ed796922e3359619167
Summary:
Introducing descriptors. Taken from the existing inspector, refreshed with a few things from Stetho, and translated to Kotlin.
Note: doesn't use FlipperObject or FlipperArray.
This is a very rough draft for them all, but can be used as basis for experimentation.
Reviewed By: LukeDefeo
Differential Revision: D38860763
fbshipit-source-id: 9f6bf4ad0e61fc40b0a773dfb8bfa80b1f397b3a
Summary: At launch, if flipper-server is running, send the shutdown message.
Reviewed By: passy
Differential Revision: D38861178
fbshipit-source-id: 4aab5f2b50938cb70a2dfae0d9056df337baecc3
Summary:
Introduce ApplicationRef which holds a reference to Application. It exposes a few utility methods to get view roots and activities.
ApplicationInspector has a few template methods for useful things which are not used in this diff and most likely will either be moved/deleted/changed on the final implementation.
Reviewed By: LukeDefeo
Differential Revision: D38829523
fbshipit-source-id: b8aeb133dceb3af42b5f7d6851ef531d35fc7d69