Commit Graph

35 Commits

Author SHA1 Message Date
Dallas Gutauckis
10d7c288f5 Adding Brotli compression support (#4288)
Summary:
Closes https://github.com/facebook/flipper/issues/2578

Adds Brotli compression support for br-encoded endpoints

## Changelog

 - Brotli compression support

Pull Request resolved: https://github.com/facebook/flipper/pull/4288

Test Plan:
Confirmed `content-encoding` had `br` for Brotli and that the response text post-decompression was parsed properly:

![image](https://user-images.githubusercontent.com/117083/199068874-1577577f-2d2f-4687-a3d8-aa41a032ab32.png)
![image](https://user-images.githubusercontent.com/117083/199069109-8564ea03-99db-4c8a-9dbc-4d007fe38f5b.png)

A note for reviewer(s) is that I am by no means a javascript/typescript/yarn/npm/electron/etc developer, so please please make sure I did things properly and let me know what to fix, how, why it's wrong. Thanks!

Reviewed By: antonk52

Differential Revision: D41444623

Pulled By: mweststrate

fbshipit-source-id: ac4e84b4501c67a4b89163c20c63de1be14d6cef
2022-12-16 02:39:49 -08:00
Luke De Feo
74247ee721 Remove react complex tree
Reviewed By: lblasa

Differential Revision: D41875029

fbshipit-source-id: 2af58610fe0d0f644aa8450a4210fd52f8ed4db6
2022-12-12 07:28:37 -08:00
Luke De Feo
f282a5eb8a Ant tree -> React complex tree
Summary:
Upgraded from ant tree library to the much more capable React complex tree. Added the following:
1. Ability to expand / collapse nodes while automatically expanding / collapsing active/inactive children when they change
2. Keyboard controls of tree all the time
3. Basic search functionality
4. Selecting node in tree focuses and scrolls in the tree
5. Hover state for tree

Reviewed By: lblasa

Differential Revision: D40633876

fbshipit-source-id: 8dcef5ec2c277e476a3eb3cdaef62b15c25323c0
2022-10-25 07:10:38 -07:00
Lorenzo Blasa
bb3b1cecef Simple antd types for each inspectable type
Summary:
Replace draft inspectors with read-only components.

This is a first step into having a richer UI. At the moment, these are read-only components but will likely be extended in the future as to allow editing of values.

Reviewed By: LukeDefeo

Differential Revision: D40345016

fbshipit-source-id: a6aef5861474b4aa8353c00ef257ab17b4cff00e
2022-10-25 03:09:00 -07:00
Tianyu Yao
c1ec891fd0 Upgrade React DevTools deps to 4.26.1
Summary:
Changelog:
[General][Changed] - Upgraded react-devtools-core dependency to 4.26.1

Reviewed By: lunaruan

Differential Revision: D40394563

fbshipit-source-id: 70a841c7478d8944dc8a57dd7711953d6bd7958a
2022-10-18 10:43:18 -07:00
Tianyu Yao
2bf5410316 Upgrade React DevTools deps to 4.26.0
Summary:
Changelog:
[General][Changed] - Upgraded react-devtools-core dependency to 4.26.0

Reviewed By: lunaruan

Differential Revision: D39587418

fbshipit-source-id: 1b1841b72329fd3ef4ae8a08095a30a26a0b6455
2022-09-23 12:46:33 -07:00
Luke De Feo
41068d1c90 Native UI scan
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
2022-09-07 04:37:17 -07:00
Andrey Goncharov
ba9a80545d Support globally installed React DevTools
Summary:
- Support loading globally installed DevTools

Background:
1. Initially, I wanted to use react-devtools-core as before. react-devtools-core standalone contains quite a few imports of node.js APIs. After [a conversation with Brian](https://fb.workplace.com/groups/react.devtools/permalink/3131548550392044), I pivoted to react-devtools-inline
2. Technical design doc of react-devtools-inline integration: https://docs.google.com/document/d/1STUSUhXzrW_KkvqSu7Ge-rxjVFF7oU3_NbwzimkO_Z4
3. We support usage of globally installed devtools. Code of react-devtools-inline is not ready to be used by the browser as is. We need to bundle it and substitute React and ReactDOM imports with the globals.
4. As we can't pre-compile what users install globally, we need to bundle global devtools on demand,
5. I tried re-using our Metro bundling pipeline initially, but gave up after fighting it for 2 days. Included, `rollup` instead.
6. Size of a `tgz` archive with a plugin is 2.1MB

allow-large-files

Reviewed By: mweststrate

Differential Revision: D34968770

fbshipit-source-id: 352299964ccc195b8677dbda47db84ffaf38737b
2022-03-31 04:01:33 -07:00
Andrey Goncharov
68aec1df60 Decapitate React DevTools
Summary:
Changelog: Migrate from react-devtools-core to -react-devtools-inline

Technical design doc: https://docs.google.com/document/d/1STUSUhXzrW_KkvqSu7Ge-rxjVFF7oU3_NbwzimkO_Z4

At this point, React DevTools doe snot support globally installed DevTools. Only the bundled version. The support for the globally installed DevTools comes in the subsequent diffs along with on-the-fly transpilation.

Reviewed By: mweststrate

Differential Revision: D34926472

fbshipit-source-id: fde1d4cf386adfbf8a8581ee5a54e950d2cb34ef
2022-03-31 04:01:33 -07:00
Lukas Kurucz
f193362ac6 chore: bump react-devtools-core to 4.24.1 (#3542)
Summary:
Related to this issue: https://github.com/facebook/react/issues/23307

## Changelog

bump react-devtools-core to 4.24.1

Pull Request resolved: https://github.com/facebook/flipper/pull/3542

Test Plan: // bvaughn

Reviewed By: passy

Differential Revision: D35211366

Pulled By: mweststrate

fbshipit-source-id: 890d18e87ba07e140c1c49857d02410767c6c17d
2022-03-30 03:33:42 -07:00
Brian Vaughn
a916bf4c58 React DevTools 4.24.0
Summary:
https://github.com/facebook/react/blob/main/packages/react-devtools/CHANGELOG.md

Changelog:
[General][Changed] - Upgraded react-devtools-core dependency to 4.24.0

Reviewed By: lunaruan

Differential Revision: D34798578

fbshipit-source-id: ce3b09023c98a9282cce92ef9661d6cb578455e1
2022-03-10 16:38:39 -08:00
Brian Vaughn
639df5c81a React DevTools 4.22.1 -> 4.23.0
Summary:
Update `react-devtools-core` and `react-devtools` dependencies for RN, VSCode, Flipper, etc.

`js1 upgrade react-devtools -v 4.23.0`

# Changelog:

[General][Changed] - Upgraded react-devtools-core dependency to 4.23.0

Reviewed By: lunaruan

Differential Revision: D33752754

fbshipit-source-id: 81d123e058d5660b3b7c34823d15272b34d6c0b6
2022-01-25 18:23:06 -08:00
Andrey Goncharov
3349cb514f Remove stale fs-extra dep from crash reporter plugin
Reviewed By: mweststrate

Differential Revision: D33740272

fbshipit-source-id: 6b1033a67a12a456301a2a7f8bdb9d7eab2f717c
2022-01-24 07:45:46 -08:00
Juan Tejada
730d47932d Update React DevTools to 4.22.1
Summary:
Update `react-devtools-core` and `react-devtools` dependencies for RN, VSCode, Flipper, etc.

`js1 upgrade react-devtools -v 4.22.1`

# Changelog:

[General][Changed] - Upgraded react-devtools-core dependency to 4.22.1

Reviewed By: bvaughn

Differential Revision: D33107248

fbshipit-source-id: 8a7b458cd7eee7b173a41c718c8694bb84b6ea92
2021-12-16 09:48:38 -08:00
Andrey Goncharov
a87b99cd3d Remove child_process from kaios-allocation, kaios-ram, uiqr
Summary:
Changelog: Remove child_process usage  from kaios-allocation, kaios-ram plugins
Facebok:
Remove child_process usage from uiqr plugin

Reviewed By: mweststrate

Differential Revision: D32881860

fbshipit-source-id: 4270aaf28808baee399e263a6a7528f20242784f
2021-12-10 06:36:12 -08:00
Juan Tejada
297697c209 Upgrade OSS react-devtools to v4.21.0
Summary:
Update `react-devtools-core` and `react-devtools` dependencies for RN, VSCode, Sonar, etc.

`js1 upgrade react-devtools -v 4.21.0`

# Changelog:

[General][Changed] - Upgraded react-devtools-core dependency to 4.19.1

Reviewed By: lunaruan

Differential Revision: D32889680

fbshipit-source-id: 25230927c3fb9d3e82db8e842d7bd7fbb4008e5e
2021-12-06 13:11:38 -08:00
Juan Tejada
763a29d799 Update React Devtools v4.21.0
Summary:
Update `react-devtools-core` and `react-devtools` dependencies for RN, VSCode, Flippe, etc.

`js1 upgrade react-devtools -v 4.21.0`

# Changelog:

[General][Changed] - Upgraded react-devtools-core dependency to 4.21.0

Reviewed By: bvaughn

Differential Revision: D32065685

fbshipit-source-id: 30d0cca2bec6e9abe384da2afefab1d241e0523f
2021-11-01 10:46:02 -07:00
Juan Tejada
2423423183 Update React DevTools v4.20.2
Summary:
Update `react-devtools-core` and `react-devtools` dependencies for RN, VSCode, Flipper, etc.

`js1 upgrade react-devtools -v 4.20.2`

# Changelog:

[General][Changed] - Upgraded react-devtools-core dependency to 4.20.2

Reviewed By: lunaruan

Differential Revision: D31809278

fbshipit-source-id: 0360fe173cfc7ce09595e6db4e8e41c6f64becd7
2021-10-25 14:00:42 -07:00
Juan Tejada
0e91f8562a Update React DevTools v4.20.1
Summary:
Update `react-devtools-core` and `react-devtools` dependencies for RN, VSCode, Flipper, etc.

`js1 upgrade react-devtools -v 4.20.1`

# Changelog:

[General][Changed] - Upgraded react-devtools-core dependency to 4.20.1

Reviewed By: lunaruan

Differential Revision: D31762360

fbshipit-source-id: 9269a49afb263c78916852f51ebbd48ceaf531b0
2021-10-19 10:00:41 -07:00
Juan Tejada
b4647eaa13 Update React DevTools v4.20.0
Summary:
Update `react-devtools-core` and `react-devtools` dependencies for RN, VSCode, Flipper, etc.

`js1 upgrade react-devtools -v 4.20.0`

# Changelog:

[General][Changed] - Upgraded react-devtools-core dependency to 4.20.0

Reviewed By: bvaughn

Differential Revision: D31694359

fbshipit-source-id: d05d75e9473878828617c5cd0db8d6008b6abd4d
2021-10-15 12:56:43 -07:00
Juan Tejada
eab4804792 Update React DevTools from 4.13.0 -> 4.19.1
Summary:
Update `react-devtools-core` and `react-devtools` dependencies for RN, VSCode, Sonar, etc.

`js1 upgrade react-devtools -v 4.19.1`

# Changelog:

[General][Changed] - Upgraded react-devtools-core dependency to 4.19.1

Reviewed By: bvaughn

Differential Revision: D31345135

fbshipit-source-id: dae06a18699df19a6e8422460effd48f715e395b
2021-10-06 08:36:00 -07:00
Mathias Fleig Mortensen
6359c82be1 Add memory consumption treemap tab
Summary: There are some issues with label positioning, but overall works.

Reviewed By: defHLT

Differential Revision: D29588329

fbshipit-source-id: 5c2e8f6f139d997559111fa2ad124ae1d695b36a
2021-09-15 07:47:34 -07:00
Pascal Hartig
47099cfd31 Fix Flipper lints #16
Summary: Larger list of fixes. Adding another package to the flipper export is a bit nasty but it unblocks us for now and centralises `remote` access which seems like a win for FAAS.

Reviewed By: mweststrate

Differential Revision: D30785421

fbshipit-source-id: 931297e8566b5d8a213b69ae87d0cda7648b3ed4
2021-09-08 08:44:19 -07:00
Pascal Hartig
fdfcc65720 Hard-code d3-array 2.3.3 for Babel compat
Summary:
Got this in my dep bump: https://www.internalfb.com/intern/sandcastle/job/13510799320314417/

Babel is having some trouble with a certain syntax in newer d3-array elements: https://github.com/babel/babel/issues/11038

Until that's fixed the recommended work-around is hard-coding the old version which is apparently compatible.

Reviewed By: priteshrnandgaonkar

Differential Revision: D29107071

fbshipit-source-id: 5a4ba8e698969bc033a76da78ce9116d1cfbbeb4
2021-06-15 08:41:17 -07:00
Pascal Hartig
2f1042a9b7 Clean up kaios-ram deps
Summary:
- recharts includes types now as part of the main distro
- the react resolution doesn't make a difference to the `yarn.lock` anymore

Reviewed By: mweststrate

Differential Revision: D29105837

fbshipit-source-id: 5699b7b9c4f00da00781245fed8b2a94d603bb63
2021-06-15 05:39:23 -07:00
Pascal Hartig
be2f15b71f Dep bump
Summary: Daily bump for low-risk deps.

Reviewed By: cekkaewnumchai

Differential Revision: D28707008

fbshipit-source-id: 453351387a9a7a05a1c30294f2712956da6ecc49
2021-05-26 08:35:12 -07:00
Brian Vaughn
2520e6912f Update React DevTools to ^4.13.0
Summary:
React DevTools has gotten pretty outdated in React Native. Let's fix that!

Last time I tried this it caused a lot of churn for tools like Flipper, so I approached this in two steps ([detailed in this post](https://fb.workplace.com/groups/rnsyncsquad/permalink/808063140086959/)).

First was a short term plan (as implemented in [PR 21344](https://github.com/facebook/react/pull/21344)) to:
1. Branch and make a patch release of DevTools 4.10 that adds a protocol check to the frontend (to detect any newer backends).
2. Upgrade Flipper (and recommend upgrade for the OSS React Native Debugger as well) to this new frontend.
3. Wait for the updated frontend to roll out.

The short term plan is now done, at least for the internal build of Flipper, and both GitHub PRs to update Flipper and React Native Debugger have been merged.

So this diff moves forward with the longer term plan (implemented in [PR 21331](https://github.com/facebook/react/pull/21331)):
1. Add an explicit version to the protocol used by the DevTools "backend" and "frontend" components to talk to each other.
2. Check this protocol during initialization to ensure it matches.
3. Show upgrade/downgrade instructions if there's a mismatch (or if the check times out without a response– indicating an older backend).
4. Release this as 4.13.

 ---

Changelog:
[General][Changed] - Upgrade `react-devtools-core` from ~4.6.0 to ^4.13.0

Reviewed By: yungsters

Differential Revision: D28103394

fbshipit-source-id: 21114294144bde9aede63cb3ba98a240082299bd
2021-04-29 16:58:33 -07:00
Brian Vaughn
e7cdbcbe85 Update react-devtools-core from ~4.10.2 to ~4.10.3 (#2244)
Summary:
4.10.2 had an fburl.com link in it when I should have used an fb.me link :( I'm sorry

cc mweststrate

Pull Request resolved: https://github.com/facebook/flipper/pull/2244

Reviewed By: passy

Differential Revision: D28054736

Pulled By: mweststrate

fbshipit-source-id: 0330f884e5d82cc669232aee3d8439b0f51240bd
2021-04-29 04:25:34 -07:00
Brian Vaughn
e423bc7959 Update react-devtools-core from ^4.10.1 to ~4.10.2 (#2243)
Summary:
Bumps [react-devtools-core](https://github.com/facebook/react/tree/master/packages/react-devtools-core) from 4.10.1 to 4.10.2.

This update has only one change: https://github.com/facebook/react/pull/21344

For more background information on this upgrade: https://github.com/facebook/react/issues/21326

cc mweststrate

Pull Request resolved: https://github.com/facebook/flipper/pull/2243

Reviewed By: bvaughn

Differential Revision: D28040682

Pulled By: mweststrate

fbshipit-source-id: 82b1212f839719ff69b3b7735a8a24042b382085
2021-04-27 15:03:39 -07:00
Harold Martin
4d262c0da4 Add protobuf support to network inspector (#2080)
Summary:
Protobuf based APIs are becoming more common (i.e. gRPC) but are difficult to inspect. Unlike plain text data formats (JSON), Protobuf calls transmit binary data requiring the format to be known ahead of time, making ad-hoc inspection impossible. This PR allows for those format definitions (messages in protobuf terminology) to be transmitted from the client to the network inspector plugin. These definitions are then imported into ProtobufJS which enables the binary data transmitted to be inspected as easily as JSON data.

See Retrofit PR in https://github.com/facebook/flipper/pull/2084

## Changelog

* Add ProtobufJS library to network plugin
* New `ProtobufFormatter` UI in `RequestDetails`
* `ProtobufDefinitionsRepository` to cache and load protobuf defintions
* `addProtobufDefinitions` call in the Android network plugin

Pull Request resolved: https://github.com/facebook/flipper/pull/2080

Test Plan: ![screenshot](https://user-images.githubusercontent.com/745166/111652068-001a5e80-87c4-11eb-8c94-e19b46dd074c.png)

Reviewed By: mweststrate

Differential Revision: D27507451

Pulled By: passy

fbshipit-source-id: 586d891b74f2b17d28fe7a2a99074da755851f38
2021-04-20 05:10:39 -07:00
Tim Yung
451c332260 Back out "Update React DevTools deps from 4.6 -> 4.12"
Summary:
Reverts D27764688 (7bd4f80c25) due to a bug with "Invalid hook call." being erroneously reported. We will upgrade again after that bug is resolved.

Changelog:
[Internal]

Reviewed By: fkgozali

Differential Revision: D27813660

fbshipit-source-id: 84a12f19cf1bb7e8aebef0da3ff6f7022c391d3e
2021-04-15 21:15:50 -07:00
Michel Weststrate
5db2ef1275 Perf fixes
Summary:
This diff fixes some more perf bottlenecks in the layout inspector (see the diffs earlier in the stack for the total picture). Mostly:

1. Pass down stable refs from the root for callbacks and configuration
2. Remove the deep-equality check in the sidebar section rendering, which has a pretty significant constant overhead, especially if the selection didn't change
3. If the selection changes, the correct semantics is to reset the sidebar rather than trying to reconcile the elements. (A consequence of this is that Panel collapse state isn't preserved atm after changing selection, will address that in a later diff)

This reduces average render time for sidebar from ~20 to ~2 ms.

Reviewed By: priteshrnandgaonkar

Differential Revision: D27677353

fbshipit-source-id: ba183b7e3d778c0b3c8e7ca0d51535ce99a097ca
2021-04-15 07:48:33 -07:00
Brian Vaughn
7bd4f80c25 Update React DevTools deps from 4.6 -> 4.12
Summary:
Update `react-devtools-core` and `react-devtools` dependencies for RN, VSCode, Sonar, etc.

# Changelog:

[General][Changed] - Upgraded react-devtools-core dependency to 4.12.0

Reviewed By: gaearon

Differential Revision: D27764688

fbshipit-source-id: faa179cf4be3b49b14244d47ee0b91ae63138b8b
2021-04-14 13:37:24 -07:00
Anton Nikolaev
b45b5f854a Move layout plugin sidebar extensions to the plugin package
Summary: Moved layout plugin sidebar extensions to the plugin package.

Reviewed By: passy

Differential Revision: D27036489

fbshipit-source-id: 5b3406e5c50ba61709d925a3c0cb07a6fd7552db
2021-04-09 05:22:00 -07:00
Anton Nikolaev
b3274a8450 Plugin folders re-structuring
Summary:
Here I'm changing plugin repository structure to allow re-using of shared packages between both public and fb-internal plugins, and to ensure that public plugins has their own yarn.lock as this will be required to implement reproducible jobs checking plugin compatibility with released flipper versions.

Please note that there are a lot of moved files in this diff, make sure to click "Expand all" to see all that actually changed (there are not much of them actually).

New proposed structure for plugin packages:
```
- root
- node_modules - modules included into Flipper: flipper, flipper-plugin, react, antd, emotion
-- plugins
 --- node_modules - modules used by both public and fb-internal plugins (shared libs will be linked here, see D27034936)
 --- public
---- node_modules - modules used by public plugins
---- pluginA
----- node_modules - modules used by plugin A exclusively
---- pluginB
----- node_modules - modules used by plugin B exclusively
 --- fb
---- node_modules - modules used by fb-internal plugins
---- pluginC
----- node_modules - modules used by plugin C exclusively
---- pluginD
----- node_modules - modules used by plugin D exclusively
```
I've moved all public plugins under dir "plugins/public" and excluded them from root yarn workspaces. Instead, they will have their own yarn workspaces config and yarn.lock and they will use flipper modules as peer dependencies.

Reviewed By: mweststrate

Differential Revision: D27034108

fbshipit-source-id: c2310e3c5bfe7526033f51b46c0ae40199fd7586
2021-04-09 05:22:00 -07:00