Commit Graph

3209 Commits

Author SHA1 Message Date
Anton Nikolaev
a08bed86b7 Fix changelog.md generation
Summary: Currently Flipper shows empty Changelog with only "pre-history" entry. This is because of path in generation script is wrong now. Flipper shows Changelog.md from desktop/static, so generated entries should be added there rather than to Changelog.md in the root.

Reviewed By: passy

Differential Revision: D21016884

fbshipit-source-id: 8709a2556374ec70bc665eaf0729bb85fd0d913f
2020-04-14 09:21:58 -07:00
Pascal Hartig
f3bb94fd7c Fix getting-started link (#1005)
Summary:
Fixes https://github.com/facebook/flipper/issues/1003
Pull Request resolved: https://github.com/facebook/flipper/pull/1005

Test Plan: https://fbflipper.com/docs/getting-started/index.html works.

Reviewed By: jknoxville

Differential Revision: D20993208

Pulled By: passy

fbshipit-source-id: 1f0e3dd9a8d13f76018117dbc73dd1513a0df3c2
2020-04-14 07:56:26 -07:00
Anton Nikolaev
a54aad57a7 Fast refresh
Summary:
This diff enables optional [Fast Refresh](https://reactnative.dev/docs/fast-refresh) for Flipper in dev mode. It can be opted-in using additional argument "--fast-refresh": `yarn start --fast-refresh`. I've copy-pasted the most part of implementation from React Native with some minor changes.

I made this optional for now as it works not ideally. In most cases which I checked it works fine, however for some files it falls back to full refresh (e.g. when `desktop/plugins/network/index.tsx` changed) and sometimes doesn't refresh content even after change detected and re-compiled (e.g. when `src/ui/components/searchable/Searchable.tsx` is changed, Network plugin which is dependent on it is not refreshed automatically).

State from redux is restored after fast refresh, but local state in class-based components is cleared. For function-based components local state is also stored, so it's an additional point to make plugins components functional :)

Also, for now there is no UI for Fast Refresh (loading indicator etc), information is just logged to console.

Changelog: Experimental support for Fast Refresh in dev mode can be enabled by `yarn start --fast-refresh`.

Reviewed By: jknoxville

Differential Revision: D20993073

fbshipit-source-id: 65632788df105a85fac0b924b7808120900b349e
2020-04-14 07:20:40 -07:00
Anton Nikolaev
f506d0eb61 Fix auto-format for js files
Summary: Auto-format for js files was broken on my machine. It seems that there is a conflict between eslint and prettier and the latter is trying to format files after eslint using different rules for that. Option to disable prettier formatting for already formatted files fixed this issue for me.

Reviewed By: jknoxville

Differential Revision: D20994053

fbshipit-source-id: 6e90be7f58f2891ce2143bca8c3d76118b9cfba3
2020-04-14 07:20:40 -07:00
Anton Nikolaev
553c54b63e Include default plugins into app bundle (#998)
Summary:
Pull Request resolved: https://github.com/facebook/flipper/pull/998

After this diff all the default plugins (which are distributed with Flipper) will be included into the main app bundle instead of bundling each of them separately and then loading from file system. This is done by auto-generating plugins index in build-time and importing it from Flipper app bundle, so Metro can follow these imports and bundle all the plugins to the app bundle.
This provides several benefits:
1) reduced Flipper bundle size (~10% reduction of zipped Flipper archive), because Metro bundles each of re-used dependencies only once instead of bundling them for each plugin where such dependency used.
2) Faster Flipper startup because of reduced bundle and the fact that we don't need to load each plugin bundle from disk - just need to load the single bundle where everything is already included.
3) Metro dev server for plugins works in the same way as for Flipper app itself, e.g. simple refresh automatically recompiles bundled plugins too if there are changes. This also potentially should allow us to enable "fast refresh" for quicker iterations while developing plugins.
4) Faster build ("yarn build --mac" is 2 times faster on my machine after this change)

Potential downsides:
1) Currently all the plugins are identically loaded from disk. After this change some of plugins will be bundled, and some of them (third-party) will be loaded from disk.
2) In future when it will be possible to publish new versions of default plugins separately, installing new version of such plugin (e.g. with some urgent fix) will mean the "default" pre-built version will still be bundled (we cannot "unbundle" it :)), but we'll skip it and instead load new version from disk.

Changelog: Internals: include default plugins into the main bundle instead producing separate bundles for them.

Reviewed By: passy

Differential Revision: D20864002

fbshipit-source-id: 2968f3b786cdd1767d6223996090143d03894b92
2020-04-14 07:20:39 -07:00
Anton Nikolaev
cc96fc984c Refactor plugins compilation script
Summary:
Refactored plugins compilation script by splitting it into 3 scripts: 1) search plugins 2) compile plugins 3) watch plugins.

No functional changes in this review, it's just preparation for further changes.

Reviewed By: passy

Differential Revision: D20860443

fbshipit-source-id: 02900430199875574b992e597d09b82d0d7f32ef
2020-04-14 07:20:39 -07:00
Anton Nikolaev
61a889a385 Treat only packages with "flipper-plugin" keyword as Flipper plugins
Summary:
Treat only packages with "flipper-plugin" keyword as Flipper plugins. This will allow to place lib packages re-used by different plugins into "plugins" folder.

Changelog: Internals: it is now possible to add modules for re-use by different plugins into `desktop/plugins` folder.

Reviewed By: mweststrate

Differential Revision: D20898133

fbshipit-source-id: 8934870350ce42af3dc8060d1494025519ed307e
2020-04-14 07:20:39 -07:00
Anton Nikolaev
452c52c291 Add internal plugins as workspaces to single package.json
Summary: We cannot just add internal plugins as workspaces to the root package.json in "sonar/desktop" as they are not open-sourced, so public build will break. Instead, I have created root package.json for internal plugins and added all internal plugins as workspaces there. This means all these plugins will use the single root yarn.lock and installation of their dependencies will be faster. This also means that plugins can declare dependencies to other local packages included into workspaces and they will be symlinked automatically.

Reviewed By: mweststrate

Differential Revision: D20806237

fbshipit-source-id: f8b3327166963dec7da8ac74079682aebe4527e1
2020-04-14 07:20:38 -07:00
Anton Nikolaev
bcc133026e Add public plugins to the root package.json as workspaces (#969)
Summary:
Pull Request resolved: https://github.com/facebook/flipper/pull/969

Added all public plugins as workspaces to the root package.json. This means all these plugins will use the single root yarn.lock and installation of their dependencies will be faster. This also means that plugins can declare dependencies to other local packages included into workspaces and they will be symlinked automatically.

Changelog: Internals: plugins added as "yarn workspaces" into the root package.json to simplify dependency management between them

Reviewed By: mweststrate

Differential Revision: D20805231

fbshipit-source-id: e85c62d3195d1ea3c5c60def6ca12318a2b53466
2020-04-14 07:20:38 -07:00
Alexander Kawrykow
2278769265 Include ID for logged-in User
Summary: Adding id field for the currently logged in user in the store's state

Reviewed By: passy

Differential Revision: D20928642

fbshipit-source-id: eff5373bd88ed8fd228193b47649f586cf20b585
2020-04-09 13:37:11 -07:00
Pritesh Nandgaonkar
64ca717ae9 Add support of CK in Flipper's Support Form
Summary: As per the title it adds the CK support to the Flipper's support form.

Reviewed By: jknoxville

Differential Revision: D20943408

fbshipit-source-id: bc8f0ac6a4974fe8258e91d7ac9437931c4d4abd
2020-04-09 09:57:06 -07:00
Pascal Hartig
98bb392d78 Allow device specification for plugin deep-link
Summary: Allow optionally to provide the device title to select a plugin in. Currently, there's only support for `flipper://<app>/<plugin_id>`. This allows to add a `?device=<specifier>`.

Reviewed By: mweststrate

Differential Revision: D20920587

fbshipit-source-id: e7df4b510f1adfa9c2c9d072f6aebca1edb89cc0
2020-04-09 06:38:18 -07:00
generatedunixname89002005306973
8364e78e71 Flipper Snapshot Bump: v0.37.1-SNAPSHOT
Summary: Releasing snapshot version 0.37.1-SNAPSHOT

Reviewed By: jknoxville

Differential Revision: D20919248

fbshipit-source-id: 6e0e4c03b28d68dd3c65469d097147a96e3797bf
2020-04-09 03:07:19 -07:00
generatedunixname89002005306973
2d27b90bd9 Flipper Release: v0.37.0
Summary: Releasing version 0.37.0

Reviewed By: jknoxville

Differential Revision: D20919249

fbshipit-source-id: 59ec28ba10043da03c460d9eaadb30a8fd2e4a6f
2020-04-09 03:07:19 -07:00
Shaheen Gandhi
25222606c6 Retry file pull without run-as when package is not an application
Summary: When an android package is not an application, the `run-as` command will fail. In this case, the package might be an operating system service package. In this case, it may be possible for the user to run adb as root. Note that Flipper does not restart adbd via `adb root` on behalf of the user; the command is simply retried without `run-as`.

Reviewed By: jknoxville

Differential Revision: D20920582

fbshipit-source-id: 8db86084c3c3a61d8322edb1e34fdfdf48d0412d
2020-04-08 16:15:09 -07:00
Michel Weststrate
f53846e0ca Add graph showing how much data is received per plugin
Summary:
Added a graph to show how much data is sent to plugins. The tooltip shows a sorted overview of the amount of data.

Will put up a GK so that plugin devs can get this data also more easily

Reviewed By: jknoxville

Differential Revision: D20919321

fbshipit-source-id: f2b78b21ef34551e0ed562b009589d2a5dba9ff3
2020-04-08 13:06:00 -07:00
Michel Weststrate
bc6165bbfe Measure how many bytes are received per plugin
Summary:
Measure how many byte we receive per plugin, and add this to the plugin stats that are collected

Will add a graph to the flipper dashboard, and probably a small visualization in a next diff as well.

Reviewed By: priteshrnandgaonkar

Differential Revision: D20917583

fbshipit-source-id: bb341531ecf8492080af82c56e73c0ec608f7b36
2020-04-08 13:05:59 -07:00
greenkeeper[bot]
52b244ca32 Update electron-devtools-installer in group static to the latest version � (#988)
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 dependency [electron-devtools-installer](https://github.com/MarshallOfSound/electron-devtools-installer) was updated from `2.2.4` to `3.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:** [marshallofsound](https://www.npmjs.com/~marshallofsound)
**License:** MIT

<details>
<summary>Release Notes for v3.0.0</summary>

<h1><a href="https://urls.greenkeeper.io/MarshallOfSound/electron-devtools-installer/compare/v2.2.4...v3.0.0">3.0.0</a> (2020-04-07)</h1>
<h3>Bug Fixes</h3>
<ul>
<li>make extension store directory recursively (<a href="82479523e2">8247952</a>)</li>
<li>only allow installs from the main process (<a href="fc1d8781b6">fc1d878</a>)</li>
<li>support dynamic application path (<a href="https://urls.greenkeeper.io/MarshallOfSound/electron-devtools-installer/issues/88" data-hovercard-type="pull_request" data-hovercard-url="/MarshallOfSound/electron-devtools-installer/pull/88/hovercard">https://github.com/facebook/flipper/issues/88</a>) (<a href="e9471f9042">e9471f9</a>)</li>
<li>use ES6 standard imports for electron modules.  Closes <a href="https://urls.greenkeeper.io/MarshallOfSound/electron-devtools-installer/issues/116" data-hovercard-type="pull_request" data-hovercard-url="/MarshallOfSound/electron-devtools-installer/pull/116/hovercard">https://github.com/facebook/flipper/issues/116</a> (<a href="dc0f6e4391">dc0f6e4</a>)</li>
</ul>
<h3>Features</h3>
<ul>
<li><strong>test:</strong> add mobx to unit tests (<a href="https://urls.greenkeeper.io/MarshallOfSound/electron-devtools-installer/issues/95" data-hovercard-type="pull_request" data-hovercard-url="/MarshallOfSound/electron-devtools-installer/pull/95/hovercard">https://github.com/facebook/flipper/issues/95</a>) (<a href="6d4f699877">6d4f699</a>)</li>
<li>Only allow installs from the main process (<a href="d692149da5">d692149</a>)</li>
</ul>
<h3>BREAKING CHANGES</h3>
<ul>
<li>Only allow installs from the main process</li>
</ul>
<p>The remote is being deprecated and as such we should not rely on it for what is a buggy and very small usability tweak.</p>
</details>

<details>
<summary>Commits</summary>
<p>The new version differs by 22 commits.</p>
<ul>
<li><a href="d692149da5"><code>d692149</code></a> <code>feat: Only allow installs from the main process</code></li>
<li><a href="0f3ebfc9d3"><code>0f3ebfc</code></a> <code>chore: update NPM readme badge</code></li>
<li><a href="ba9648c2b9"><code>ba9648c</code></a> <code>chore: update README badges</code></li>
<li><a href="776912cf7d"><code>776912c</code></a> <code>BREAKING CHANGE: Only allow installs from the main process</code></li>
<li><a href="ae075d13bc"><code>ae075d1</code></a> <code>build: update CFA plugin</code></li>
<li><a href="0dde83b4a7"><code>0dde83b</code></a> <code>build: use latest v10 node for release CI</code></li>
<li><a href="cc8700c784"><code>cc8700c</code></a> <code>build: update version number for CFA</code></li>
<li><a href="9628782f2f"><code>9628782</code></a> <code>build: add CFA</code></li>
<li><a href="7d5f157939"><code>7d5f157</code></a> <code>docs: clean up README</code></li>
<li><a href="6d4f699877"><code>6d4f699</code></a> <code>feat(test): add mobx to unit tests (https://github.com/facebook/flipper/issues/95)</code></li>
<li><a href="dc0f6e4391"><code>dc0f6e4</code></a> <code>fix: use ES6 standard imports for electron modules.  Closes https://github.com/facebook/flipper/issues/116</code></li>
<li><a href="82479523e2"><code>8247952</code></a> <code>fix: make extension store directory recursively</code></li>
<li><a href="fc1d8781b6"><code>fc1d878</code></a> <code>fix: only allow installs from the main process</code></li>
<li><a href="a5dfe4c1b1"><code>a5dfe4c</code></a> <code>build: rename prepublish to prepare, closes https://github.com/facebook/flipper/issues/120</code></li>
<li><a href="a5242e1fd8"><code>a5242e1</code></a> <code>build: update dependencies</code></li>
</ul>
<p>There are 22 commits in total.</p>
<p>See the <a href="0b07982a06...d692149da5">full diff</a></p>
</details>

 ---

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

Test Plan:
{F233368502}

Tested in Flipper

Reviewed By: cekkaewnumchai

Differential Revision: D20889307

Pulled By: passy

fbshipit-source-id: 63ed886cceefe34dc7d4212f25d05c5e13f7dab8
2020-04-08 07:18:05 -07:00
Michel Weststrate
cbf0234ee4 Fix test instability
Summary:
* Fixed issue where the test wouldn't be reliable if it fired to quickly since the process has started
* Increased all test timings with a factor 10, to make the test less sensitive to system load

Reviewed By: passy

Differential Revision: D20914978

fbshipit-source-id: a3870e6374e61cf9ec1b11da529077876ef85bf8
2020-04-08 06:33:10 -07:00
Michel Weststrate
220052d70d measure clean versus unclean exits
Summary:
This adds another field to the exit data to record whether we had a clean exit where the app was closed as it should.

Note that doing a reload inside Flipper will be recorded as an unclean exit.

Reviewed By: passy

Differential Revision: D20915481

fbshipit-source-id: 240192d7a69bf620bfaa316e3e5cb0f45d6a34cc
2020-04-08 06:26:30 -07:00
Pascal Hartig
41a911379d Set product name and executable
Summary:
This means that Linux builds have a `flipper` executable
in the directory again.

Reviewed By: cekkaewnumchai

Differential Revision: D20915156

fbshipit-source-id: 9f792bcffef41168fe5a3e43c29b59f37a4cc673
2020-04-08 06:14:13 -07:00
Pritesh Nandgaonkar
7c6f8e9147 Make the sample app build for generic iOS Device (#992)
Summary:
Pull Request resolved: https://github.com/facebook/flipper/pull/992

Right now our sample app's fail to build when built against "Generic iOS Device", but it built successfully when built against simulator. Reason being all the simulators are 64 bit's, but when built against generic iOS device type, it didn't work for all the architecture as our Flipper and Flipper-Folly pod had 64bit architecture in their settings. But as soon as you build Flipper-Folly for standard architecture, RCU.cpp fails to build as that file is incompatible for lower standard architecture. Got the following error

{F233400670}

But, we do not need that file of Folly to build Flipper and RSocket. Thus in the podfile I have excluded it from its source. Also along with it I upgraded both Folly and RSocket to the latest releases.

Even with this changes i got one more problem, our openssl static library is not bitcode enabled for arm architecture, this error popped up when built against "Generic iOS Device". Right now I have disabled bitcode, the proper fix of this would be to find a dependency of openssl which is bitcode enabled. Its really hard to find the proper cocoapod dependency of openssl which is bitcode enabled. But disabling bitcode is not a big ask, also people will face this error only when they try to publish flipper in their release.

I discovered this problem from an issue posted in [RN](https://github.com/react-native-community/upgrade-support/issues/35), it also takes care of this issue.

Reviewed By: passy

Differential Revision: D20897590

fbshipit-source-id: 8c79d239572bb7efe2d65b2a7f1cfe8c608c1df4
2020-04-08 05:03:19 -07:00
Aviad Sachs
e787ce631e Plugin React Componenets (UI)
Summary:
# Zero Redux DevTools

Our awesome new Zero Rating SDK is based on a Redux/Saga Library, and part of the reason for it is the amazing DevTools we can add around it.
State & Sagas visibility, manipulation, and even time-machine.
Comes as a Flipper Plugin to Android first, then iOS.

Inspired by JavaScript's [Redux DevTools @ GitHub](https://github.com/reduxjs/redux-devtools).

## This Diff

**Adding UI to our Flipper Desktop App.**
- React components to structure our plugin. Root + Tabs.
  - Currently enabled: Actions Tab. with Actions (& state) Details side view
  - Currently Disabled: SDK Tab, Sagas Tab.
  - added a get "PluginFeatures" command to enable/disable desktop feature based on the app implementation  (Fb4a/ FBLite / Wild, etc)

{F232877109}

Reviewed By: egergo

Differential Revision: D20350029

fbshipit-source-id: 000a7fda70026fbc3e121e46a6ac5905af9c807d
2020-04-08 04:34:56 -07:00
Mark Tolmacs
e44c7f4062 Fix IOS crash in Network Plugin due to incorrect processing of data U… (#978)
Summary:
Fix IOS crash in Network Plugin due to incorrect processing of data URLs (https://github.com/facebook/flipper/issues/974)

Fix https://github.com/facebook/flipper/issues/974 by skipping response processing in FlipperKitNetworkPlugin.mm if the response is not an instance of NSHTTPURLResponse, which data URLs are not. My assumption is that data URLs are not the ones Flipper Network Plugin users are interested in, given the type of information being extracted in the didObserveResponse method which are only present in NSHTTPURLReponse types.

## Changelog
Fix IOS crash in Network Plugin due to unchecked casting of data URLs
Pull Request resolved: https://github.com/facebook/flipper/pull/978

Test Plan:
1. `npx react-native init issue974 --version react-native@0.62.1`
2. `cd issue974/ios/Pods/FlipperKit/iOS/Plugins/`
3. `curl -L https://patch-diff.githubusercontent.com/raw/facebook/flipper/pull/978.patch | git apply -v -p3`
4.  `cd ../../../../../`
5. `curl -L https://github.com/facebook/flipper/files/4434063/rn-data-uri-test.patch.txt | git apply -v
react-native run-ios`
6. Verify that the app does not crash the IOS app with
```
Terminating app due to uncaught exception 'NSInvalidArgumentException', reason:
'-[NSURLResponse allHeaderFields]: unrecognized selector sent to instance <memaddr>'
```

#### The React Native app patch used to verify the PR working and resolving the issue https://github.com/facebook/flipper/issues/974
[rn-data-uri-test.patch.txt](https://github.com/facebook/flipper/files/4434063/rn-data-uri-test.patch.txt)

Reviewed By: mweststrate

Differential Revision: D20861168

Pulled By: cekkaewnumchai

fbshipit-source-id: bae960650ecc0efbb8ae4641aba4c62c74f06bf0
2020-04-08 03:08:58 -07:00
Pascal Hartig
1a794c57dd Update bump binaries
Summary: Ran `stack build`. Currently source and binaries are out of sync.

Reviewed By: jknoxville

Differential Revision: D20895907

fbshipit-source-id: df9a00633a7cb7515927390b49028376e757ccab
2020-04-07 12:21:36 -07:00
Timur Valiev
6300f9394b blocks scripts viewer/editor
Summary:
React component to show Bloks scripts + simple ad-hoc code formatter
built on top of codemirrror https://codemirror.net/

Differential Revision: D20868214

fbshipit-source-id: 7c399347a6595b9aad354bad166bb72890a9ce57
2020-04-07 10:12:28 -07:00
Pascal Hartig
b56e89f7ca Update podfile
Summary: I think that's a good thing to keep up-to-date?

Reviewed By: mweststrate

Differential Revision: D20890360

fbshipit-source-id: a9c95d4afb2f6b6f0b32f595c53f3799b9ffaa73
2020-04-07 05:54:41 -07:00
Anton Nikolaev
0a79118ee7 Fix bumping podspecs in "Getting Started" docs in prepare-release.sh
Summary: Fixed bumping podspecs in "Getting Started" docs in prepare-release.sh

Reviewed By: mweststrate

Differential Revision: D20869684

fbshipit-source-id: 78a3b7064de51dbd8ca505db863595726d038326
2020-04-06 11:10:56 -07:00
Pascal Hartig
fa7a8aabae Pin minimist for kaios-allocations
Summary: For a GitHub security alert.

Reviewed By: cekkaewnumchai

Differential Revision: D20870976

fbshipit-source-id: fdf07eb61d290fab4540fc8963099003cb472a97
2020-04-06 09:55:45 -07:00
greenkeeper[bot]
ecd0aeea50 chore(package): update @types/node to version 13.11.0 (#968)
Summary:
Fix https://github.com/facebook/flipper/issues/965
Pull Request resolved: https://github.com/facebook/flipper/pull/968

Reviewed By: mweststrate

Differential Revision: D20837214

Pulled By: passy

fbshipit-source-id: ebfe452a0bf9364d3a0adf2f6c4cde9f58daab58
2020-04-06 09:15:07 -07:00
greenkeeper[bot]
4cf48f4f52 Update @types/jest in group pkg to the latest version � (#964)
Summary:
I think I accidentally pinned this before. That's not necessary.

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

Test Plan: yarn test

Reviewed By: mweststrate

Differential Revision: D20835725

Pulled By: passy

fbshipit-source-id: 627594d4f1a425cf0db410a097c82af6758d7d11
2020-04-06 09:10:15 -07:00
greenkeeper[bot]
b4e641a174 Update @types/jest in group doctor to the latest version � (#963)
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 [types/jest](https://github.com/DefinitelyTyped/DefinitelyTyped) was updated from `24.9.1` to `25.1.5`.
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:** [types](https://www.npmjs.com/~types)
**License:** MIT

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

 ---

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

Reviewed By: mweststrate

Differential Revision: D20867651

Pulled By: passy

fbshipit-source-id: 59c686a3bfc1f7807357050a2bd6b18e3a362aef
2020-04-06 09:05:05 -07:00
Pritesh Nandgaonkar
793b100dfc Export last few lines of the logs
Summary:
This diff exports the last 30 mins of logs. I noticed that the export can become massive, if Flipper is running for a long time and if all the logs are exported. Due to this I have noticed that the byte size of the exports has been huge and most probably causing out of emory exception in our end point to upload the trace.

Just exporting Logs plugin, size of Flipper trace is 1.8MB, mind that my Flipper was just open for few mins.

{F233265050}

Look at [this](https://our.intern.facebook.com/intern/scuba/query/?dataset=infinity_analytics_events&drillstate=%7B%22sampleCols%22%3A[%22infinity_version%22%2C%22session_id%22%2C%22data%22%2C%22time%22%2C%22is_headless%22%2C%22platform%22%2C%22plugin%22%2C%22namespace_version%22%2C%22arch%22%2C%22gatekeepers%22%2C%22fbid%22%2C%22event%22%2C%22type%22%2C%22namespace%22%2C%22electron_version%22%2C%22node_version%22]%2C%22cols%22%3A[%22fbid%22]%2C%22derivedCols%22%3A[]%2C%22mappedCols%22%3A[]%2C%22enumCols%22%3A[]%2C%22return_remainder%22%3Afalse%2C%22should_pivot%22%3Afalse%2C%22is_timeseries%22%3Afalse%2C%22hideEmptyColumns%22%3Afalse%2C%22start%22%3A%22-1%20week%22%2C%22samplingRatio%22%3A1%2C%22compare%22%3A%22none%22%2C%22should_transpose%22%3Afalse%2C%22dimensions%22%3A[%22event%22]%2C%22num_samples%22%3A%22100%22%2C%22metric%22%3A%22count%22%2C%22top%22%3A50%2C%22timezone%22%3A%22America%2FLos_Angeles%22%2C%22end%22%3A%22now%22%2C%22aggregateList%22%3A[]%2C%22param_dimensions%22%3A[]%2C%22modifiers%22%3A[]%2C%22order%22%3A%22none%22%2C%22order_desc%22%3Atrue%2C%22filterMode%22%3A%22DEFAULT%22%2C%22constraints%22%3A[[%7B%22column%22%3A%22type%22%2C%22op%22%3A%22eq%22%2C%22value%22%3A[%22[%5C%22usage%5C%22]%22]%7D%2C%7B%22column%22%3A%22fbid%22%2C%22op%22%3A%22eq%22%2C%22value%22%3A[%22[%5C%22100001214797081%5C%22]%22]%7D%2C%7B%22column%22%3A%22event%22%2C%22op%22%3A%22eq%22%2C%22value%22%3A[%22[%5C%22export-url%3Atrace-size%5C%22]%22]%7D]]%2C%22c_constraints%22%3A[[]]%2C%22b_constraints%22%3A[[]]%2C%22metrik_view_params%22%3A%7B%22should_use_legacy_colors%22%3Afalse%2C%22columns_skip_formatting%22%3A[]%2C%22view%22%3A%22samples_client%22%2C%22width%22%3A%222110%22%2C%22height%22%3A%221300%22%2C%22tableID%22%3A%22infinity_analytics_events%22%2C%22tooltip_outside%22%3Atrue%2C%22fitToContent%22%3Afalse%2C%22format_tooltip_in_percent%22%3Afalse%2C%22pocs%22%3A[%7B%22poc_label%22%3A%22Point%20of%20contact%22%2C%22poc_id%22%3A%22100002006986037%22%7D]%2C%22state%22%3A%22published%22%2C%22use_y_axis_hints_as_limits%22%3Atrue%2C%22has_dynamic_context_menu%22%3Atrue%2C%22has_context_menu%22%3Afalse%2C%22legend_mode%22%3A%22nongrid%22%2C%22title%22%3A%22Support%20Form%20V2%20Events%22%2C%22timezone_offset%22%3A420%2C%22y_min_hint%22%3A0%2C%22should_render_plugins_menu%22%3Afalse%2C%22title_use_v2%22%3Atrue%7D%7D&pool=uber&view=samples_client&dashboard_id&tab_id&widget_id&widget_piece_id), the size of the export is 194 MB.

Reviewed By: jknoxville

Differential Revision: D20868701

fbshipit-source-id: 1f041d11fc9cab93cdd1f1a28f15fa557b51fc75
2020-04-06 08:43:43 -07:00
Pascal Hartig
2823307c62 Add RN Android/iOS docs
Summary:
I trimmed the previous versions of this down a lot to only
focus on what RN developers need to know without duplicating
what we have in the non-RN docs.

Reviewed By: mweststrate

Differential Revision: D20816115

fbshipit-source-id: 9d88a6fb0d49e823194cce647e64b86d61d6229a
2020-04-06 08:27:20 -07:00
Anton Nikolaev
988f7442ed Add quotes to doctor command
Summary: Issue resolved: https://github.com/facebook/flipper/issues/980

Reviewed By: jknoxville

Differential Revision: D20869451

fbshipit-source-id: f6b0a46adfe868ef13d6d1c922df3e7e9637d857
2020-04-06 07:25:50 -07:00
Pascal Hartig
99a4884fad Bump Gradle plugin to 3.6.1 (#958)
Summary:
This is in line with the most recent stable Android Studio Release.
Pull Request resolved: https://github.com/facebook/flipper/pull/958

Test Plan:
Used it myself.

Open Source CI required a higher NDK, so let's first check what CI says to that internally now.

Reviewed By: jknoxville

Differential Revision: D20794634

Pulled By: passy

fbshipit-source-id: c32f934634b036ad3c1cad9fc49541e585d64329
2020-04-06 06:43:43 -07:00
Pascal Hartig
9ba990999c Fix connection with old SDKs
Summary:
D20559197 inadvertantly broke support for old SDKs by properly handling an
exception that we previously ignored. However, this meant that Android versions
that don't support reverse-proxying will not fail to get registered although
they're otherwise supported.

Changelog: Fix connections on Android devices with older SDKs (19)

Reviewed By: jknoxville

Differential Revision: D20868923

fbshipit-source-id: 409fe20a0875dc26ecc971d33264a1145012d586
2020-04-06 06:36:46 -07:00
Pascal Hartig
64e5fff9e1 Remove unused import
Summary: Drive-by change.

Reviewed By: cekkaewnumchai

Differential Revision: D20868980

fbshipit-source-id: 1c3602cc976bc37a4196d2368960fe0a5e8a62ec
2020-04-06 06:22:39 -07:00
Pascal Hartig
406f2f47af Fix DMG publish by running publish step on Ubuntu (#984)
Summary:
The current upload process is broken because the publish step only works on Linux.
This first uploads the binary to artifact storage, then downloads it on Linux and runs the publish step.

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

Test Plan:
@public

https://github.com/facebook/flipper/pull/984/checks?check_run_id=563996817

Everything here works apart from the publish action which throws a 400, which is expected as there's no tag/release associated with the PR. We can only really test the entire thing on a new release.

Reviewed By: nikoant

Differential Revision: D20868825

Pulled By: passy

fbshipit-source-id: 97304328ec7eb1243280ca7a9f26e8049869d33b
2020-04-06 06:21:11 -07:00
Anton Nikolaev
3e853157da Do not run tests for "doctor" and "pkg" separately (#983)
Summary:
Pull Request resolved: https://github.com/facebook/flipper/pull/983

This diff fixes broken test jobs on GitHub. Tests for all the packages are already being run by the "yarn test" in the root package, so I'm disabling running them separately.

Reviewed By: jknoxville

Differential Revision: D20868138

fbshipit-source-id: 04a86a8127481fecaee63af1f9fd9c7ad0f4269b
2020-04-06 04:53:26 -07:00
Roi Becker
36f1b0e9c2 Allow localhost to connect to websocket
Summary: Accept websocket connections from any localhost origin, in addition to the existing chrome extensions support.

Reviewed By: jknoxville

Differential Revision: D20792131

fbshipit-source-id: d3991aa375bfb4e6f492c02dfab9bf72b1f8c412
2020-04-06 04:50:15 -07:00
Pascal Hartig
83fd17898f Bump minimist
Summary:
Another day ending in y, another minimist vulnerability. Bumping
to `1.2.3`.

(Note: this ignores all push blocking failures!)

Reviewed By: cekkaewnumchai

Differential Revision: D20860264

fbshipit-source-id: 569abd7e521efef92cd0b31113e0325493645c2a
2020-04-06 03:11:04 -07:00
Pascal Hartig
3168fb1c0e Pin kind-of
Summary:
Got an open security alert for this one.

(Note: this ignores all push blocking failures!)

Reviewed By: cekkaewnumchai

Differential Revision: D20840586

fbshipit-source-id: b57fda5a7c3244c7bf893082896ea8d1ee138493
2020-04-06 03:11:04 -07:00
Anton Nikolaev
2690894ad0 Fix npm publishing
Summary:
Fixed npm packaging/publishing scripts for "flipper-doctor", "flipper-pkg" and "flipper-babel-transformer".

Also removed scripts for testing and linting, because these packages are tested and linted by root level package.json.

Reviewed By: jknoxville

Differential Revision: D20839959

fbshipit-source-id: 4d9d037d4921fc97356c849054c389dfece05652
2020-04-06 02:35:51 -07:00
John Knox
f1e8297800 Fix broken links on website and github readme
Summary:
The url for the getting started page was changed yesterday. (no longer getting-started.html)
This fixes some links that were broken because of it.

Reviewed By: cekkaewnumchai

Differential Revision: D20855343

fbshipit-source-id: 788efb75f3581e4fe6cecd5f69f11dd64b03e7df
2020-04-04 02:30:52 -07:00
Pascal Hartig
4be1b4d491 Add support for AndroidX fragments (#957)
Summary:
Fix https://github.com/facebook/flipper/issues/931

This is not how I would *like* to fix this, but it should do the job.
When the switch over to AndroidX was made, the overall abstraction
started to leak and we really need to remodel this in its entirety.
There's also the question of whether we want to support both support
fragments and AndroidX fragments or not. Right now it's kinda-sorta
supported but only under some circumstances, which is not great.

I also added some more defensive try/catches as there's some unsafe casting
involved and future changes may break this causing the entire layout to disappear.

Change Log: Fix support for AndroidX fragments in Layout Inspector.

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

Test Plan:
Changed the sample app to include some AndroidX fragments and they
now show up (again) in the view hierarchy:

![Screenshot 2020-04-01 13 40 53](https://user-images.githubusercontent.com/9906/78138910-915fbc00-741f-11ea-8386-4eeca9b7f932.png)

Tested internally that FB4A fragments show up again, too:

{F233098198}

Reviewed By: mweststrate

Differential Revision: D20792503

Pulled By: passy

fbshipit-source-id: 7030b897ab547d1e8803b7f0d7aaa34263cfaed2
2020-04-03 09:21:03 -07:00
Anton Nikolaev
492b1076d2 Flipper Snapshot Bump: v0.36.1-SNAPSHOT
Summary: Releasing snapshot version 0.36.1-SNAPSHOT

Reviewed By: passy

Differential Revision: D20835544

fbshipit-source-id: 41b8688d544817d8d57522adbafb1315c77f079c
2020-04-03 08:36:49 -07:00
Anton Nikolaev
e35bf2c1ae Flipper Release: v0.36.0
Summary: Releasing version 0.36.0

Reviewed By: passy

Differential Revision: D20835543

fbshipit-source-id: f5d9e8884410b294d4f37cb98db614da4592e6df
2020-04-03 08:36:49 -07:00
Pascal Hartig
0a68044649 Split up getting started docs
Summary:
This is a first step in breaking up the getting started docs.
Ultimately, the React Native Android and iOS bits will become
separate sections, too, but I won't to keep the diffs a bit smaller.
This one doesn't really do much apart from reorganising the current
content.

Reviewed By: mweststrate

Differential Revision: D20815235

fbshipit-source-id: 5c85b788211699a2a9f5808b9e2590c7db68a1c1
2020-04-03 06:17:49 -07:00
Anton Nikolaev
527d417ab4 Suppress Metro warning about cyclic dependencies in node_modules
Summary: Metro shows cyclic dependencies warnings in dev mode even if they are caused by 3rd party packages installed into node_modules. This produces a lot of noise, but totally unactionable. In this diff I have implemented patch for "metro" package wich disables these unactionable warnings.

Reviewed By: passy

Differential Revision: D20835057

fbshipit-source-id: 2aebc59a0f8c0adfc768ed4c170e5d0b9ced7e0e
2020-04-03 04:09:47 -07:00