Commit Graph

3280 Commits

Author SHA1 Message Date
Pascal Hartig
7e9e7c2fe9 Mention RN right at the top
Summary: RN is first class.

Reviewed By: jknoxville

Differential Revision: D20693739

fbshipit-source-id: a9eabbcb25254dfaf0e31a252bf67eae22390010
2020-03-27 10:36:15 -07:00
Mathias Fleig Mortensen
57c573d973 Add disk cache support for Images plugin
Summary:
Tracks images in disk cache. It seems performant even with 500+ images in disk cache. Sidebar displays the local path for an image when that image is selected. Shows total size of images in disk cache. 'Clear Cache' clears the disk cache.

For now we unpack the async cache request in the plugin, should implement a `getSync()` method on `bufferedDiskCache` in the future. For some reason Flipper doesn't work with a blocking call (https://fburl.com/smj0s4li).

Reviewed By: defHLT

Differential Revision: D20001062

fbshipit-source-id: 1e7a7900e9f42d05e3bf30472e57cd643caa5aca
2020-03-27 06:32:46 -07:00
Pascal Hartig
5473ba6144 Update CHANGELOG.md (#936)
Summary:
Fix link. Re https://github.com/facebook/flipper/issues/934
Pull Request resolved: https://github.com/facebook/flipper/pull/936

Reviewed By: mweststrate

Differential Revision: D20692814

Pulled By: passy

fbshipit-source-id: 3845d8f15bd517edfd2b36027f8d85e9f8eda058
2020-03-27 05:42:42 -07:00
Lucas Bento
6a7386e2bd Make the RN tutorials link clearer (#935)
Summary:
Minor change to better specify the React Native tutorials, definitely open for opinions.
Pull Request resolved: https://github.com/facebook/flipper/pull/935

Reviewed By: mweststrate

Differential Revision: D20691447

Pulled By: passy

fbshipit-source-id: 00a5e107c010053bd291922a13ce6a2ed8ee1fb1
2020-03-27 04:46:04 -07:00
Michel Weststrate
8fa4b5ccb2 Update existing subscriptions to use sideEffect
Summary: See previous two diffs, this applies the abstraction to our code base

Reviewed By: passy

Differential Revision: D20679687

fbshipit-source-id: 05e340dca3f832971783a844a78d1ffd553ff9d2
2020-03-27 04:42:12 -07:00
Michel Weststrate
7a40d3f0a3 Introduce sideEffects for safer management of store side effects
Summary:
This diff introducing the sideEffect abstractions, that creates a fundamental solution for the problem in D20619226: If a subscription to the store errors, the entire store can't be updated anymore, bringing the entire app to a halt.

Applying this abstraction will be done in a next diff.

To essential idea of sideEffect is that it fixes a few problems:

1. I decouples and throttles the effect so that no arbitrary expensive burden is added to every store update
2. It makes sure that a crashing side effect doesn't crash the entire store update
3. It helps with tracing and monitoring perf problems
4. It puts the side effect behind a selector so that the side effect is only triggered if a relevant part of the store changes, like we do for components.

Note that if some subscription _must_ be handled synchronously, than that logic should be in a reducer, not in a subscription or side effect. Luckily we don't have any examples of that in our code base.

This abstraction might actually be intesting to be shared wider for fun and profit.

Reviewed By: passy

Differential Revision: D20625872

fbshipit-source-id: adaf8356950594d50e6a99a17a862f757c3777db
2020-03-27 04:42:12 -07:00
Anton Nikolaev
5e7a22147b Fix reload after changes in the main app bundle
Summary: Fixed automatic reloading on changes while "yarn start"

Reviewed By: mweststrate

Differential Revision: D20691166

fbshipit-source-id: 78b01a3c5e4a6da1537f2230411069e04ebbc81e
2020-03-27 03:26:52 -07:00
Anton Nikolaev
c1bb656a0d Re-use babel transformations
Summary:
SORRY FOR BIG DIFF, but it's really hard to split it as all these changes are cross-dependent and should be made at once:
1. Moved transformations to separate package "flipper-babel-transformer" and linked it using yarn workspaces to "static" and "pkg" packages where they are re-used. Removed double copies of transformations we had before int these two packages.
2. Converted transformations to typescript
3. Refactored transformations to avoid relying on file system paths for customisation (FB stubs and Electron stubs for headless build)
4. As babel transformations must be built before other builds - enabled incremental build for them and changed scripts to invoke the transformations build before other build scripts
5. As we need to deploy all the dependencies including the fresh "flipper-babel-transformer" as a part of "static" - implemented script which copies package with all the dependencies taking in account yarn workspaces (hoisting and symlinks)

Reviewed By: passy, mweststrate

Differential Revision: D20690662

fbshipit-source-id: 38a275b60d3c91e01ec21d1dbd72d03c05cfac0b
2020-03-27 03:26:51 -07:00
Brian Vaughn
07a6a3b87d Upgrade React DevTools 4.0.6 -> 4.6.0
Summary:
Upgrading the embedded version of React DevTools, primarily to pull in [this PR](https://github.com/facebook/react/pull/18397) which will reduce the impact of this package on `node_modules` size.

# Update process

Following a similar process as D15973709, I began by searching for [all of the references](https://our.intern.facebook.com/intern/biggrep/?corpus=xplat&filename=.json&case=false&view=default&extre=&s=%22react-devtools&engine=apr_strmatch&context=false&filter[uninteresting]=false&filter[intern]=false&filter[test]=false&grep_regex=) to the `react-devtools-core` package and updated all v4 usage to to point to the new 4.6.0 release:

1: Manually update "react-devtools-core" versions:
```
js/package.json
js/react-native-github/package.json
nuclide/package.json
sonar/desktop/app/package.json
sonar/desktop/plugins/reactdevtools/package.json
vscode/modules/vscode-webview/package.json
```
2: Setup Yarn proxy:
```
yarn config set proxy http://fwdproxy:8080/
yarn config set https-proxy http://fwdproxy:8080
```
3: Run "yarn" in each of the above directories.
4: Run the lockfile shell script:
```
~/xplat/js/scripts/update-oss-yarn-lockfile.sh
```
5: Update the generated `MOBILE_JS_NODE_MODULE_DEPS.bzl` by running
```
js1 build buckfiles
```

## Changelog:

[General] [Changed] - Upgrade embedded React DevTools backend from v4.0.6 to v4.6.0.

Reviewed By: cpojer, gaearon

Differential Revision: D20676091

fbshipit-source-id: 99865bdba9bce45e2a7d582d5fb550cfdbeeca3a
2020-03-26 16:45:29 -07:00
Pascal Hartig
35145ae645 Upgrade deps (#930)
Summary:
Solves another acorn/minimist sec vuln. Also removed pins which
don't seem to be necessary anymore based on `yarn.lock` output
which seems to just remove them.
Pull Request resolved: https://github.com/facebook/flipper/pull/930

Test Plan: Ran `yarn build` and it still looks fine.

Reviewed By: mweststrate

Differential Revision: D20669831

Pulled By: passy

fbshipit-source-id: 8d82678cfac6304273aaf752b885edac91e0a8eb
2020-03-26 10:09:32 -07:00
Pascal Hartig
7f91d07718 Fix dmg build (#929)
Summary:
Still had the old paths referenced.
Pull Request resolved: https://github.com/facebook/flipper/pull/929

Test Plan: Next release, I guess?

Reviewed By: nikoant

Differential Revision: D20669327

Pulled By: passy

fbshipit-source-id: e268259065df5a48336ec09b81776771e1124fd0
2020-03-26 06:49:58 -07:00
Pascal Hartig
c5e5389c6a Add _gitattributes (#928)
Summary:
Pull Request resolved: https://github.com/facebook/flipper/pull/928

This should end up out on GitHub as `.gitattributes`.

Reviewed By: nikoant

Differential Revision: D20645657

fbshipit-source-id: d914d05a8f3e1297c4058f2d458959a7439a506d
2020-03-26 05:53:53 -07:00
Michel Weststrate
60ec958f6b Add (manual) tests to be able to verify working of network and logs
Summary: Added some UI so that we can manually verify that logging and network inspection is working in RN + Flipper.

Reviewed By: jknoxville

Differential Revision: D20668428

fbshipit-source-id: 4271595583e055b2b0324b3da7ac216c39717093
2020-03-26 04:54:24 -07:00
Timur Valiev
64bfc91ea6 websockets import fix
Summary: somehow normal require brings us non-expected version, so let's import from node_modules

Reviewed By: jknoxville

Differential Revision: D20625706

fbshipit-source-id: 4748bcbaa15d1e6d400fc6d2153bb541a3dd129e
2020-03-26 04:08:29 -07:00
George Zahariev
b5e55aca4e Deploy Flow 0.121 to Xplat (#901)
Summary:
Deploy Flow 0.121 to Xplat

bypass-lint
allow-large-files

Closes https://github.com/facebook/flipper/pull/901

Changelog: [Internal]

Reviewed By: panagosg7

Differential Revision: D20570316

fbshipit-source-id: a76983d6f46c8b995ce2dd5cd1e014534790698a
2020-03-25 23:22:06 -07:00
John Knox
84e9756b83 Catch Error, not just Exceptions in ErrorReportingRunnable
Summary: We can OOM in flipper, and we'd like to catch those and prevent them from crashing the app. They are Errors, not Exceptions.

Reviewed By: mweststrate

Differential Revision: D20648824

fbshipit-source-id: 60002a3c950518e56189776f05df8f2c92a851f0
2020-03-25 17:39:21 -07:00
John Knox
a30d5f3e60 Don't throw when reporting network request
Summary: Flipper should never crash the mobile app. This is a plugin entry point, so it's understandable that it can, but we should avoid it whenever possible.

Reviewed By: passy

Differential Revision: D20648373

fbshipit-source-id: f32b428cccdd0c78eb15e9e95a64ecf3f4e10429
2020-03-25 17:39:20 -07:00
generatedunixname89002005306973
39f0e0445e Flipper Snapshot Bump: v0.35.1-SNAPSHOT
Summary: Releasing snapshot version 0.35.1-SNAPSHOT

Reviewed By: mweststrate

Differential Revision: D20655535

fbshipit-source-id: d5722e7f63bc13df1994e09f0eb5ad83b166ae99
2020-03-25 16:38:04 -07:00
generatedunixname89002005306973
fa8ae9cbe1 Flipper Release: v0.35.0
Summary: Releasing version 0.35.0

Reviewed By: jknoxville

Differential Revision: D20655536

fbshipit-source-id: f965954ed0c1ff58382f08caf2dd02032cd84785
2020-03-25 16:38:03 -07:00
Michel Weststrate
8060bcb664 Add feature page for react native integration
Summary: https://pxl.cl/144pb

Reviewed By: jknoxville

Differential Revision: D20648205

fbshipit-source-id: 1349723755ed2be5b577f42ec1e45df07c25c94f
2020-03-25 15:36:22 -07:00
John Knox
6298fd6288 Add "ls" to android debugging script
Summary: Makes it easier to debug.

Reviewed By: mweststrate

Differential Revision: D20645818

fbshipit-source-id: db7cb15487508b5d103db482ecf84adfebc09f48
2020-03-25 12:50:29 -07:00
John Knox
0275d35233 Add lifecycle diagrams for regular and background plugins
Summary:
I think this'll clarify how to use the lifecycle methods.

Diagram edit link: https://excalidraw.com/#json=5696112581148672,nDwD6t1BNXVreQ8YE8917g

Reviewed By: mweststrate

Differential Revision: D20645302

fbshipit-source-id: 0814dbe8421cfe8e85c297bd5bfb4a8f1a83c353
2020-03-25 12:50:29 -07:00
Pascal Hartig
4d866b0327 Bump acorn, minimist
Summary:
They have some security vulns, resolving all to the 7.x release
where it's fixed.

What's bothering me about this is that we can't leave comments in the `package.json` to explain why this is there.

Reviewed By: nikoant

Differential Revision: D20645477

fbshipit-source-id: 0ea1a9d27066349943e25d618339a19b48d76def
2020-03-25 11:18:05 -07:00
Pascal Hartig
34a2ebe2e9 Remove yarn.lock for workspaces
Summary:
These aren't updated but - importantly - are pinning
some deps with security vulns.

Reviewed By: nikoant

Differential Revision: D20645332

fbshipit-source-id: 491721d5a856e55f23e6a9608ae11632e1667eb2
2020-03-25 08:08:46 -07:00
Timur Valiev
01aa61bcb3 rename to Execution Flows (Fury) + new icon + make public (non gk)
Reviewed By: SimoneCasagranda

Differential Revision: D20619591

fbshipit-source-id: af933bcf45a9bdd7057a9d16c97ea9f7650d5993
2020-03-25 04:25:45 -07:00
Anton Nikolaev
9299198906 Fix adbkit-logcat resolution
Summary:
There is error written to console just after launch. It is related to wrong resolution of adbkit-logcat version. This diff forces resolution to the single version everywhere.

{F232416275}

Reviewed By: mweststrate

Differential Revision: D20632452

fbshipit-source-id: bf45bbd6d245dbb1093b093c20e808840689971b
2020-03-25 03:27:51 -07:00
Anton Nikolaev
a46cb85bac Fix compilation of plugins in run-time after installation
Summary: Fixed compilation of installed plugins in run-time

Reviewed By: passy

Differential Revision: D20642377

fbshipit-source-id: d5012c88eebf1f7106de538b84c7695048408924
2020-03-25 03:26:59 -07:00
Michael Bolin
49fc4b46b6 Set arrowParens option explicitly.
Differential Revision: D20640296

fbshipit-source-id: 0ecaa78f964fce8297342db99be29b1a7d1cfab6
2020-03-24 22:49:33 -07:00
Michael Bolin
37f0260116 Back out "Upgrade Prettier from 1.17 to 2.0.2."
Differential Revision: D20639755

fbshipit-source-id: 5028563f9cf0527a30b4259daac50cdc03934bfd
2020-03-24 21:48:09 -07:00
Michael Bolin
8658fca4dd Upgrade Prettier from 1.17 to 2.0.2.
Summary:
This gets us on the latest Prettier 2.x:
https://prettier.io/blog/2020/03/21/2.0.0.html

Notably, this adds support for TypeScript 3.8,
which introduces new syntax, such as `import type`.

Reviewed By: zertosh

Differential Revision: D20636268

fbshipit-source-id: fca5833d003804333a05ba16325bbbe0e06d6c8a
2020-03-24 20:24:52 -07:00
Michel Weststrate
da89a92875 Update getting started docs for RN 0.62
Summary:
Kinda what is in the title. But shouldn't be merged yet as RN 0.62 didn't ship yet.

Also, the iOS tutorial hasn't been verified yet, as the relevant diff hasn't been merged yet (see D19391739)

Reviewed By: passy

Differential Revision: D19468497

fbshipit-source-id: 9e7d90123d3637a1a552c4a9def6420137cf8246
2020-03-24 13:33:32 -07:00
greenkeeper[bot]
fe6077e218 Update prettier in group pkg to the latest version � (#917)
Summary:
***
☝️ **Important announcement:** Greenkeeper will be saying goodbye 👋 and passing the torch to Snyk on June 3rd, 2020! [Find out how to migrate to Snyk and more at greenkeeper.io](https://greenkeeper.io)
***
## The devDependency [prettier](https://github.com/prettier/prettier) was updated from `1.19.1` to `2.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:** [thorn0](https://www.npmjs.com/~thorn0)
**License:** MIT

[Find out more about this release](https://github.com/prettier/prettier).

 ---

<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/917

Reviewed By: jknoxville

Differential Revision: D20596394

Pulled By: passy

fbshipit-source-id: 27c551944d3fe15b4cf001f7b0757d31a60e3cbe
2020-03-24 09:38:12 -07:00
greenkeeper[bot]
a91a75f47d Update prettier in group doctor to the latest version � (#916)
Summary:
***
☝️ **Important announcement:** Greenkeeper will be saying goodbye 👋 and passing the torch to Snyk on June 3rd, 2020! [Find out how to migrate to Snyk and more at greenkeeper.io](https://greenkeeper.io)
***
## The devDependency [prettier](https://github.com/prettier/prettier) was updated from `1.19.1` to `2.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:** [thorn0](https://www.npmjs.com/~thorn0)
**License:** MIT

[Find out more about this release](https://github.com/prettier/prettier).

 ---

<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/916

Reviewed By: jknoxville

Differential Revision: D20594930

Pulled By: passy

fbshipit-source-id: 5c5eb01c79c184e6ed61dab6a701bddf97e773aa
2020-03-24 09:38:11 -07:00
Pascal Hartig
fc9ed65762 prettier 2
Summary:
Quick notes:

- This looks worse than it is. It adds mandatory parentheses to single argument lambdas. Lots of outrage on Twitter about it, personally I'm {emoji:1f937_200d_2642} about it.
- Space before function, e.g. `a = function ()` is now enforced. I like this because both were fine before.
- I added `eslint-config-prettier` to the config because otherwise a ton of rules conflict with eslint itself.

Close https://github.com/facebook/flipper/pull/915

Reviewed By: jknoxville

Differential Revision: D20594929

fbshipit-source-id: ca1c65376b90e009550dd6d1f4e0831d32cbff03
2020-03-24 09:38:11 -07:00
Anton Nikolaev
d9d3be33b4 Fix build on windows
Summary: Fix for build on windows

Reviewed By: mweststrate

Differential Revision: D20601309

fbshipit-source-id: 9845964513d7904f58e3511b1c4daa8716f7b054
2020-03-24 08:08:20 -07:00
Michel Weststrate
0a8d8f44ff Make sure notication computation can't crash the dispatch
Summary:
Collecting notifications is done in the store.subscribe. If this throws however, the entire original dispatch throws (really Redux?!). So added a try catch around collecting notifications. This stops plugins from crashing while processing the queue (in fact this could happen during any Redux dispatch).

Will look into a more robust mechanism in the future

I suspect this also fixes the hanging graphQL issue

Reviewed By: jknoxville

Differential Revision: D20619226

fbshipit-source-id: 2f6b8e13a5c884dd63b6963d317474a2abf0725c
2020-03-24 06:45:46 -07:00
Chaiwat Ekkaewnumchai
79141f5fd2 (Client) Clean up Android FlipperOkHttpInterceptor
Summary:
This is the change made by Pascal at D19813495. to clean up the file

Shouldn't really change how it works but makes it
safer and brings it in line with our coding standards.

Reviewed By: passy

Differential Revision: D20474258

fbshipit-source-id: 67d77316a5b7efd7258072b4f35a2d9c50de408e
2020-03-23 22:03:10 -07:00
Qichuan (Sean) ZHANG
d27e45d7bb (Client) Network Response Mocking Logic for Android Clients (Original PR) (#488)
Summary:
Add logic on client side

# How it works (from the code)
1. Server side sends request url and method to response data and headers to client side
   1.1. This will happen every time server update **any** mock response (add, edit, and remove)
2. Client stores those in map
3. For every network request,
   3.1. Check if there is a matching url and method
   3.2. If so, create a new response with the data and headers and drop the request
   3.3. If not, proceed and send the request and wait for a response

`addNetworkInterceptor` is changed to `addInterceptor` to allow short-circuit and proceed without fetching anything. More info can be found at https://square.github.io/okhttp/interceptors/

Note:
- This is an original PR.
- The content below is from original PR

Add network response mocking for Network plugin. See discussion [here](https://github.com/facebook/flipper/issues/475)

## Changelog
- Add Network response mocking, currently support Android clients only
- Change the Android example app to use `addInterceptor()` instead of `addNetworkInterceptor()`
Pull Request resolved: https://github.com/facebook/flipper/pull/488

Test Plan:
{F231673798}

![60549983-187ce800-9d59-11e9-8f7a-4b1b6402653d](https://user-images.githubusercontent.com/410850/61124971-0c242800-a4db-11e9-8e11-8a0a45bbb621.gif)

- Connect an Android device
- Tap on Network plugin
- Click on the Mock button
- Click on Add Route button, and specify the URL
- Edit the mock data in the text area
- Optionally, click the Headers tab to edit the headers data
- Click close button to close the dialog
- Send some network data in your application. You should be able to see the mock data appears in the Network table in those rows highlighted in yellow

Reviewed By: passy

Differential Revision: D16580291

Pulled By: cekkaewnumchai

fbshipit-source-id: fc391f5e7efebc6f51a72b00d16263e009e1fdb0
2020-03-23 22:03:10 -07:00
Chaiwat Ekkaewnumchai
4ea1497387 (Client) Add isMock to ResponseInfo Object
Summary:
per title

Note:
- This is a part of this PR: https://github.com/facebook/flipper/pull/488

Reviewed By: jknoxville

Differential Revision: D20474257

fbshipit-source-id: d2ac79d03ac67453bd67ecc46ace973be1590c04
2020-03-23 22:03:09 -07:00
Chaiwat Ekkaewnumchai
4eccacbac8 (Client) Add Connection Listener to BufferingFlipperPlugin
Summary:
- Add a new listener to be called when the plugin is initialized

Note:
- This is a part of this PR: https://github.com/facebook/flipper/pull/488

Reviewed By: jknoxville

Differential Revision: D20474259

fbshipit-source-id: ef1673ffa7fbc087761a753fbae813346bd481c3
2020-03-23 22:03:09 -07:00
greenkeeper[bot]
37096ba800 Greenkeeper/pkg/monorepo.babel7 20200322111342 (#921)
Summary:
Greenkeeper update
Pull Request resolved: https://github.com/facebook/flipper/pull/921

Reviewed By: mweststrate

Differential Revision: D20598722

Pulled By: jknoxville

fbshipit-source-id: 896352cf56d16e0c8cce8350c7a0e6d068ba03c6
2020-03-23 18:45:01 -07:00
John Knox
e85331bc98 chore(package): update @types/node to version 13.9.3 (#923)
Summary: Pull Request resolved: https://github.com/facebook/flipper/pull/923

Reviewed By: mweststrate

Differential Revision: D20599094

Pulled By: jknoxville

fbshipit-source-id: f48e16099c50358cc798b62ecde12368c75ee3ec
2020-03-23 18:45:01 -07:00
Anton Nikolaev
b3ede5e532 Fix "flipper-oss-ios-build"
Summary: Not sure how, but after I removed gitignore, symlink to it kept on its place and caused errors on "flipper-oss-ios-build" job. This diff removes the symlink.

Differential Revision: D20601201

fbshipit-source-id: 0ea21e875f82a0da25d07c635f889232c9f637a0
2020-03-23 17:02:34 -07:00
John Knox
8eb18557dd chore(package): update ts-node to version 8.8.1 (#922)
Summary:
Greenkeeper update
Pull Request resolved: https://github.com/facebook/flipper/pull/922

Reviewed By: mweststrate

Differential Revision: D20599053

Pulled By: jknoxville

fbshipit-source-id: 2934eb44cbf964244fad213e5f79b2bc931aca03
2020-03-23 11:53:56 -07:00
Timur Valiev
1bfb750467 dive into link
Summary:
Breaking down 'big' links and diving deeper into stack trace
each link is built from multiple events with same function on top of call stack
Now we can break that group and/or navigate one level  deeper in that stack

coloring links: according to the latest event timestamp: blue -> orange gradient

{F232164201}

Reviewed By: SimoneCasagranda

Differential Revision: D20596812

fbshipit-source-id: 9debbc55a716166e20c94f51989742bf40b95878
2020-03-23 10:32:31 -07:00
John Knox
043fcc354f Fix context menu caching bug
Summary:
The memoized callback didn't have any dependencies, so whenever a context menu was computed for a component, it was never changed again.

This broke the network plugin as the context menu should change depending on what element is selected.

Reviewed By: cekkaewnumchai

Differential Revision: D20596750

fbshipit-source-id: 275453d972079954e310fd3e97f2dd9f437bf748
2020-03-23 08:55:18 -07:00
Michel Weststrate
ef653100ed Don't try to print large network bodies
Summary:
The network plugin warns about network requests that cannot be properly deflated if they are big and binary. Not sure yet why that is the case and if that is something that should be addressed (planned T63909985 for that), but if the body is big and binary it causes problems for our logging.

While testing I had some requests that where 45m large, and Electron literally hang for a few minutes before recovering. Failed to capture that, but the test plan shows smaller cases of the problem

Reviewed By: jknoxville

Differential Revision: D20560083

fbshipit-source-id: 324eb180b203dd585814dba5c94373d8daee5dde
2020-03-23 06:46:00 -07:00
Michel Weststrate
d01da8ef9a Stabilize Android connection handling
Summary:
A lack of correct chaining of promises, error handling and not explicitly dealing with the ADB state 'still connecting' causes errors to be shown in Flipper on the main thread, the browser console and in the debug error bar.

This diff fixes several of those issue, which gives a stabler much stabler experience when disconnecting and connecting emulators and physical devices a lot (it is a bit hard to capture in a movie, but more noticeable when doing it IRL)

Reviewed By: jknoxville

Differential Revision: D20559197

fbshipit-source-id: 643172d322aefe1be209741a48fa0e96358881eb
2020-03-23 06:45:59 -07:00
Michel Weststrate
f2da075acc Fixed circular dependencies
Summary: Fixed circular dependency warnings and removed some dead code while at it.

Reviewed By: jknoxville

Differential Revision: D20557313

fbshipit-source-id: 856c42113a9abe36d3e14f9d538eb40705ceb87f
2020-03-23 06:45:59 -07:00
Michel Weststrate
aa2879d6e8 Remove double async wrapping
Summary:
Our usage of requestIdleCallback (probably) causes more trouble than it solves:

1. It makes sure everything is processed asynchronously. But since everything is arriving over a network stack, that is already the case without wrapping it again to run on a separate event loop tick
2. The timeout we set before `500` forces the app to give _more_ priority to message processing instead of less
3. In a next diff (D20151700) in this stack we will make sure that messages are not processed immediately, but simple stored, which should not be significantly more expensive (probably even cheaper) than scheduling another tick on the event loop

Reviewed By: jknoxville

Differential Revision: D20557104

fbshipit-source-id: 6cc10ba537e3cb5f31e6c32e1fdeb57c20f06f17
2020-03-23 06:45:59 -07:00