Commit Graph

3808 Commits

Author SHA1 Message Date
John Knox
4b54eb3ec6 Fix broken asset link
Summary:
Assets should never be referenced by /doc/assets, as it breaks docusaurus' baseUrl conversion.

I'd write a lint rule for this but I don't know if it affects docusaurus v2, might be better to just migrate to that.

Reviewed By: passy

Differential Revision: D21153686

fbshipit-source-id: d839015e989a64f897617855ece77439da388cb7
2020-04-21 06:53:48 -07:00
Michel Weststrate
60ddad7e08 Fix deeplink parsing issue and device plugin highlighting
Summary:
This diff fixes an issue where the selected device was not correctly updated when selecting a device plugin, causing the wrong plugin, or none at all, to be highlighted.

This diff fixes an issue where deeplinks were not correctly parsed if formatted as shown in the test plan of D20920587 (it was a different format in the recording, but after looking into it, using `plugin?params` instead of `plugin/?params` is the natural thing to do, so we now support both)

Reviewed By: jknoxville

Differential Revision: D21154190

fbshipit-source-id: c31132aaf7213ee1c3c188a6a1cf2b6bcc7b5b00
2020-04-21 06:33:25 -07:00
Pritesh Nandgaonkar
c0a9150dd8 Github action to validate Flipper and FlipperKit pod (#1026)
Summary:
This PR adds Github Action to validate the podspec file. Validation is crucial, if it podspecs don't validate then we won't be able publish pods to the trunk.
## Changelog

Add Github Action to validate FlipperKit and Flipper pod
Pull Request resolved: https://github.com/facebook/flipper/pull/1026

Test Plan: Github Action passes.

Reviewed By: mweststrate

Differential Revision: D21130523

Pulled By: priteshrnandgaonkar

fbshipit-source-id: 0116120b9bbb073516798d4d7f08b347ed9755a3
2020-04-21 04:52:33 -07:00
Pascal Hartig
9c18a98f89 Enable build minification
Summary: This shaves another ~6MB of the zipped build. Less than I would have thought, but I haven't looked at the alternative options so far at all.

Reviewed By: nikoant

Differential Revision: D21131772

fbshipit-source-id: 641515d6f36fdeeffa5be81d64c2c1043a9e4e34
2020-04-21 02:10:49 -07:00
Anton Nikolaev
2cf9eeb224 Fix the tests failing on Windows (#1036)
Summary:
Pull Request resolved: https://github.com/facebook/flipper/pull/1036

Fixed the tests failing on Windows

Reviewed By: passy

Differential Revision: D21144338

fbshipit-source-id: 3b76a5d42a764a2eec89e26ee0ca94bd739e46bd
2020-04-21 01:42:51 -07:00
Michel Weststrate
ec1bfaf651 disable greenkeeper for the electron stack. Fixes #1017
Summary: Updating Electron is an expensive call (in terms of time investment), and potentially very impactful in a way that is hard to test automated. So should be done consciously rather than for every random patch that appears.

Reviewed By: jknoxville

Differential Revision: D21134157

fbshipit-source-id: 9d208cffa84728aead620d0ec6a6cd1f01f01e2d
2020-04-20 12:45:06 -07:00
Michel Weststrate
04085c490b Bump @typescript-eslint-plugin, fixes #986
Summary: Make greenkeeper happy

Reviewed By: jknoxville

Differential Revision: D21130872

fbshipit-source-id: fd58379400ed7580e82ae5ee5567e1708677ee8d
2020-04-20 12:45:05 -07:00
Anton Nikolaev
1491e111c9 Bundle command
Summary:
Command which transpiles and bundles plugin code.

It is supposed to be used in "prepack" script for all open-sourced plugin packages to bundle them before publishing like this:
```
{
  "devDependencies": {
    "flipper-pkg": "latest"
  },
  "scripts": {
    "prepack": "flipper-pkg bundle"
  }
}
```

Also made directory parameter of other command "pack" optional so it also can be called from plugin directory simply by `flipper-pkg pack`.

Changelog: "flipper-pkg bundle" command for bundling plugins before publishing.

Reviewed By: mweststrate

Differential Revision: D21129691

fbshipit-source-id: 8f97bc950c28cf9ad8b0117c0e1d811ed1b988eb
2020-04-20 11:14:37 -07:00
Anton Nikolaev
105345facd Rename command "bundle" to "pack"
Summary: Renamed command "bundle" to "pack" because the latter name better describe what the command does. Also I'm going to add another command which will only bundle the plugin code and it will be called "bundle" (see the next diff in this stack)

Reviewed By: mweststrate

Differential Revision: D21129690

fbshipit-source-id: 2dde30501c3776d6796c27c68d49948d1f84f822
2020-04-20 11:14:36 -07:00
Anton Nikolaev
3ff2d3bf99 Add "id" field to Flipper plugin manifest
Summary:
Added "id" field to Flipper plugin manifest which is used to match native and desktop plugin parts. Before that, "name" field was used both as npm package name and as plugin id.

The problem is that currently there are a lot of plugins which has invalid values in "name", e.g. not starting with "flipper-package-", or containing upper cased letters.

Simple renaming of "name" field can be very problematic, so we need a new field to avoid any breaking changes and keep historical analytics data which is also bound to plugin id.

Reviewed By: mweststrate

Differential Revision: D21129689

fbshipit-source-id: efd143c82a6a802cc0b5438fd3f509bd99aded0e
2020-04-20 11:14:36 -07:00
Michel Weststrate
bbbf535ea7 Update @types/react-virtualized, fixes #1023
Summary: Make greenkeeper happy. Yay.

Reviewed By: passy

Differential Revision: D21130827

fbshipit-source-id: 8cf39803cd7b587c3ad9abb0bae9f8dc8ea747d0
2020-04-20 10:39:02 -07:00
Michel Weststrate
c37179533c Upgrade ts-jest, fixes #1024
Summary: Make greenkeeper happy. Yay.

Reviewed By: passy

Differential Revision: D21130815

fbshipit-source-id: 936185bfbedf4156427d11a4eb0436420d640100
2020-04-20 10:39:02 -07:00
Michel Weststrate
fb4935d18a Upgrade @types-node, fixes #1027
Summary: Make greenkeeper happy. Yay.

Reviewed By: passy

Differential Revision: D21130793

fbshipit-source-id: 4d0deddf30b8d807707ebac609e408087c26d10d
2020-04-20 10:39:01 -07:00
Michel Weststrate
01772740e7 Update jest2, fixes #1029
Summary: Make greenkeeper happy. Yay.

Reviewed By: passy

Differential Revision: D21130632

fbshipit-source-id: 82e986f810bc40d363fbece90c129cc7732dfae3
2020-04-20 09:49:40 -07:00
John Knox
a5dbfbb82d Fix UI-doc generation
Summary: I noticed the UI components page was empty, the components have been moved and the generator was still looking in the old place.

Reviewed By: passy

Differential Revision: D21131943

fbshipit-source-id: 3310d4f7c88ea0f1e77a13c81eb411f9b1475125
2020-04-20 09:41:42 -07:00
Alexander Kawrykow
c0c96dcd3e Fix typing of graphQLQuery
Summary: This was being interpreted as returning `void` which was causing problems when trying to access the resolved value from the request. Fixing to slightly better type of `Promise<any>`

Reviewed By: passy

Differential Revision: D21105552

fbshipit-source-id: 76deb5a83b5220bafed8c12c3f56f339a5215c14
2020-04-20 09:31:08 -07:00
Pritesh Nandgaonkar
9cbd7cbbdd Add github action for testing Sample app (#1025)
Summary:
This PR adds Github actions to verify that the Sample Objective-C, Swift and Tutorial app build successfully.

## Changelog

Add Github Actions for building Sample Objective-C, Swift and Tutorial app.
Pull Request resolved: https://github.com/facebook/flipper/pull/1025

Test Plan: Github Action passes successfully.

Reviewed By: jknoxville

Differential Revision: D21098106

Pulled By: priteshrnandgaonkar

fbshipit-source-id: 6edd5a3cba74b5ea843abba366c4ad9dc550cf4e
2020-04-20 08:42:22 -07:00
Pascal Hartig
70de1dbad8 @allow-large-files [flipper] Flow v0.123.0
Summary: Fix https://github.com/facebook/flipper/pull/1020

Reviewed By: nikoant

Differential Revision: D21091422

fbshipit-source-id: a702d88b0e5f97ad258bfa82b797351ef35462aa
2020-04-20 08:35:55 -07:00
Anton Nikolaev
8a7470556e Re-use pkg-lib for runtime plugin compilation
Summary: Re-use the same function for plugin building both at publishing time by "flipper-pkg" and in runtime by Flipper itself.

Reviewed By: jknoxville

Differential Revision: D21129685

fbshipit-source-id: b7bff6737310352d28a14223128f127ac4d2eebf
2020-04-20 06:59:38 -07:00
Anton Nikolaev
ca2d04a5da Versioning for plugin format
Summary:
Added versioning for plugin format.

The first version is where "main" points to source code entry and plugins are bundled by Flipper in run-time on loading them.

The second version is where "main" points to the already existing bundle and Flipper just loads it without bundling. The plugins of version 2 must be bundled using "flipper-pkg" tool before publishing.

Changelog: Support new packaging format for plugins.

Reviewed By: mweststrate

Differential Revision: D21074173

fbshipit-source-id: 7b70250e48e5bd5d359c96149fb5b14e67783c4d
2020-04-20 06:03:16 -07:00
Anton Nikolaev
eb34b2f6e3 Disable flow for pkg-lib and lib output folders (#1030)
Summary:
Pull Request resolved: https://github.com/facebook/flipper/pull/1030

Currently flow linter is failing on GitHub. This diff disables flow for pkg-lib and lib output folders where it is failing currently.

Reviewed By: passy

Differential Revision: D21129580

fbshipit-source-id: 71f28c8bd0d4b7293bdc8f1be943b5fd77b6b444
2020-04-20 05:19:39 -07:00
Pascal Hartig
b372575d8e Enable ASAR
Summary:
Enabled ASAR which should improve startup time and also removes a warning in the build process we've had for ages.
It does improve compression in ZIP archives but seems to do the opposite in XZ based on the size tool. It's a bit odd - I'm still checking why that would be. *Update: In my testing, we get a 6-7MB reduction with DEFLATE which is in line with the number below and -2MB with LZMA.*

This *could* break things that directly access files, but I have not seen any issues. If any arise, we can manually specify them using `asarUnpack`.

Reviewed By: nikoant

Differential Revision: D21089067

fbshipit-source-id: 71ddc5c046a3aa3d81b21c0b958490add332614e
2020-04-20 04:33:42 -07:00
Anton Nikolaev
85b56ffc2a Fix typing dependencies for pkg and pkg-lib
Summary: Set typings as devDependencies for pkg and pkg-lib packages

Reviewed By: passy

Differential Revision: D21092027

fbshipit-source-id: 7750f1796458bd88ea9ff620f3bb2e3e14ea7ca0
2020-04-20 04:30:24 -07:00
shinpei_kim
ad6da949f7 Simplify RegExp (#995)
Summary:
## Changelog
Pull Request resolved: https://github.com/facebook/flipper/pull/995

Reviewed By: passy

Differential Revision: D21112956

Pulled By: priteshrnandgaonkar

fbshipit-source-id: 14d79dd399970c49835aab7eeb7dbd69ee323ab9
2020-04-20 02:52:52 -07:00
Anton Nikolaev
21b79af5f2 Split package "flipper-pkg" into two: lib and cli
Summary: "flipper-pkg" added ~2MB to Flipper disttributive size, because of heavy dependencies which are only required for CLI functionality. See size warning in diff D21068373 in this stack where I added pkg as dependency to flipper. Here I'm splitting it into library and CLI packages, so Flipper app will only reference the library.

Reviewed By: passy

Differential Revision: D21087336

fbshipit-source-id: d9d62f1e75a835d1c0fa78ff1addb0d9a761a9c7
2020-04-17 10:01:31 -07:00
Pascal Hartig
4395b19140 Add "needs attention" label if OP replies (#1022)
Summary:
Adds a GitHub action that applies a label to issues where the original
author has responded to.
Pull Request resolved: https://github.com/facebook/flipper/pull/1022

Test Plan: Try it out?

Reviewed By: jknoxville

Differential Revision: D21089462

Pulled By: passy

fbshipit-source-id: 6a728d1acf710d36835bfc5966648936ceb5586e
2020-04-17 09:32:41 -07:00
Michal Zielinski
2d1870cf7d Add support for deleting a shared preference (#1018)
Summary:
This change makes it possible to remove preferences. I also added a `Delete` context menu option to `DataInspector` because I needed it to implement this feature. passy confirmed that it makes sense to add this because delete is a common action.

Fixes https://github.com/facebook/flipper/issues/451
Pull Request resolved: https://github.com/facebook/flipper/pull/1018

Reviewed By: jknoxville

Differential Revision: D21086308

Pulled By: passy

fbshipit-source-id: 551ff0908d5e6c93f58d6012b42e1ee3531de997
2020-04-17 09:01:04 -07:00
Pritesh Nandgaonkar
9b8974eeb3 Remove the Yogakit change from post install (#1016)
Summary:
Pull Request resolved: https://github.com/facebook/flipper/pull/1016

YogaKit's version is compatible recent version of swift and also before the last release its swift version was not mentioned, which caused issues, but now there is no need to set the swift version.

Reviewed By: passy

Differential Revision: D21054723

fbshipit-source-id: 2210cf4beab86088533302028091e0bc44b9d232
2020-04-17 07:56:15 -07:00
Anton Nikolaev
8addd43f09 Flag "--open-dev-tools" to automatically open dev tools on startup
Summary:
Just a convenient feature: `yarn start --open-dev-tools` opens Dev Tools window alongside with Flipper window.

Changelog: new command-line flag "--open-dev-tools" to automatically open Chrome Dev Tools for Flipper debugging.

Reviewed By: mweststrate

Differential Revision: D21074769

fbshipit-source-id: 12ae33ab74a3d35c54051321396d8701d72c7e32
2020-04-17 06:19:26 -07:00
Anton Nikolaev
f0ee6f9749 Use typescript references for incremental compilation of pkg
Summary: "flipper-pkg" has dependency to "flipper-babel-transformer" and we use typescript to compile both of them, so we can use references here for incremental compilation.

Reviewed By: mweststrate

Differential Revision: D21070251

fbshipit-source-id: eadef024cebe8a85ddb8ef4e62bd613752a13c06
2020-04-17 05:24:35 -07:00
Anton Nikolaev
ebfd045328 Fix symlinks resolution for plugin dependencies
Summary: Moved getWatchFolders script to flipper-pkg and used it from other packages. Script helps to resolve all the folders with package dependencies including symlinked folders in case if plugin is a part of yarn workspaces.

Reviewed By: mweststrate

Differential Revision: D21068373

fbshipit-source-id: 8691837fdb1aef333dab4c13d8758262838d36ee
2020-04-17 05:24:35 -07:00
Michel Weststrate
a5e5ed5b7b Added some additional error handlers to get a better grip on connection issues
Summary: I think it is good to have error handlers where-ever possible, so that there is historical data in our monitoring when we need it, and can track from which point of the code it originates :)

Reviewed By: jknoxville

Differential Revision: D21040059

fbshipit-source-id: 1c07fbfa65379739554bc98f83761ae97870ba82
2020-04-17 05:02:34 -07:00
John Knox
2d68006e3f Use device name instead of Web Browser
Summary: Unity is using this, and I noticed it was showing up as Web Browser which is a bit misleading.

Differential Revision: D21067698

fbshipit-source-id: 93d6a598824e61490e0eadd1b2c9fb3ebc12d01c
2020-04-17 03:10:15 -07:00
Hugo Cuvillier
1ce8a41556 Use component.className instead of NSStringFromClass"
Summary: Component classes do not reflect the source of the component anymore.

Reviewed By: fabiomassimo

Differential Revision: D20595754

fbshipit-source-id: 645a63f78ee6aaaf75ac0c1e08bf67229a3f906b
2020-04-16 13:50:01 -07:00
Pascal Hartig
8997400071 Disable iOS build steps (#1019)
Summary:
These haven't built in ages now and causing all sorts of
down-stream issues with Greenkeeper and release jobs. We need to find
a more sustainable way of running them.
Pull Request resolved: https://github.com/facebook/flipper/pull/1019

Test Plan: eyes

Reviewed By: priteshrnandgaonkar

Differential Revision: D21066022

Pulled By: passy

fbshipit-source-id: 0480b7f17ed04af490113cf5dfbbfec130ec9eb3
2020-04-16 10:55:26 -07:00
Anton Nikolaev
ec7cbd7f14 Fixed the patch disabling warnings for cyclic dependencies inside node_modules
Summary: Fixed the patch disabling warnings for cyclic dependencies inside node_modules. It broke after I changed the way of bundling plugins.

Reviewed By: passy

Differential Revision: D21065488

fbshipit-source-id: f8891f007d14d2475df517b28452dc0b8346f113
2020-04-16 09:52:27 -07:00
Matt Galloway
a1919bc4ef Flipper | Stop exceptions being thrown for indicating that no Flipper desktop client is available
Summary:
Originally, Flipper would use exceptions for the control flow of determining if there's no desktop client available. It would catch an exception and then kick off another attempt. This is cool, but if you are debugging an application where Flipper is enabled, and you set a breakpoint to detect all thrown exceptions, then you'll see an exception thrown inside Flipper logic every couple of seconds. That makes it hard to debug what you're trying to do.

There's a workaround where you can simply open Flipper, but that's a bit annoying.

This diff changes the logic in Flipper to not use exceptions for the part of connection where it's doing the initial connect. We could apply this to `doCertificateExchange` as well, but that's actually an error there so I don't see the need to do it there as well.

Reviewed By: jknoxville

Differential Revision: D21016737

fbshipit-source-id: cbdfe2794b4d38a9e3b8304ebee845655bb26ae5
2020-04-16 06:47:40 -07:00
Pascal Hartig
1e243513d8 Set podfiles in Travis for caching (#1012)
Summary:
It solves the warning about caching not working but this doesn't really help us right now as builds are timing out and the cache is never filled in the first place.

Based on this: 56904692d4/lib/travis/build/script/objective_c.rb (L127)
Pull Request resolved: https://github.com/facebook/flipper/pull/1012

Reviewed By: nikoant

Differential Revision: D21042282

Pulled By: passy

fbshipit-source-id: b8e9475cd58033a8840a49b0897ac1dfffc0ddb3
2020-04-16 06:21:19 -07:00
Pascal Hartig
9aaac09b1c Bump SoLoader version reference in getting started
Summary: ^

Reviewed By: nikoant

Differential Revision: D21062443

fbshipit-source-id: 80730e6fa72ca64fa56f50d96155b4531e3d858b
2020-04-16 06:11:35 -07:00
Pascal Hartig
66ca9ad8ee Add ndk specifier to glog
Summary:
Forgot to add it here previously, so it will diverge
from others if there's a global NDK env var set.

Reviewed By: nikoant

Differential Revision: D21061431

fbshipit-source-id: 0a90211a63497bac467b2b9598c7c058145857cc
2020-04-16 06:01:14 -07:00
Pascal Hartig
5ba0dfcc17 @allow-large-files Upgrade Flow to 0.122
Summary:
Per title.

Fix https://github.com/facebook/flipper/pull/966

Reviewed By: jknoxville

Differential Revision: D20835721

fbshipit-source-id: 9b935ebd3d674d602494759c9f1606467c8ff81c
2020-04-16 04:38:47 -07:00
Lucas Bento
bb3159df83 Add correct Troubleshooting page links (#1013)
Summary:
This PR fixes a broken `Troubleshooting` link in the iOS setup page as well as adds that link to the React Native iOS one.

## Changelog

Add correct `Troubleshooting` page links
Pull Request resolved: https://github.com/facebook/flipper/pull/1013

Test Plan: Check `docs/getting-started/native-ios` and `docs/getting-started/react-native-ios`.

Reviewed By: mweststrate

Differential Revision: D21042264

Pulled By: passy

fbshipit-source-id: 3b069b3ffa51d5d290af410d8c85ecb316d76c32
2020-04-16 04:26:34 -07:00
Michel Weststrate
8b75e81da5 Make background plugin stats consumable from Scuba
Summary:
I was trying to plot some graphs based on our background plugin stats, grouped per plugin, but discovered that we can't exploded or group on json object keys, so separated the data into separate `plugin-stats-plugin` events, as is done with the `time-spent` event.

Also fixed:
* grouping stats per plugin, rather than per plugin method, which was to fine-grained
* added `bytesReceived` field to the cumulative event `plugin-stats`

Reviewed By: jknoxville

Differential Revision: D21046016

fbshipit-source-id: 1043612064921cf6427d5b3bbee10b76776df39e
2020-04-16 03:20:44 -07:00
Pascal Hartig
7fdcbdcd59 Bump SoLoader to 0.9.0
Summary: Released the new version today: https://github.com/facebook/SoLoader/releases/tag/v0.9.0

Reviewed By: jknoxville

Differential Revision: D21061477

fbshipit-source-id: c19147f6a28641cd2f23536a56750b27cc195435
2020-04-16 03:16:19 -07:00
Pascal Hartig
59ac58466c Update Android deps (#999)
Summary:
Pull Request resolved: https://github.com/facebook/flipper/pull/999

Pritesh reminded me of this. Just some of the basics,
the plugin itself for simpler dep updates, Kotlin,
NDK (as the one referenced wasn't even installed on my laptop anymore),
Litho.

Reviewed By: jknoxville

Differential Revision: D20946199

fbshipit-source-id: 85ee57ef239ab219af3f07d90c121f3ab8b5f9b9
2020-04-16 01:51:31 -07:00
Shaheen Gandhi
f4b0898de5 Refactor command execution fallback for both push and pull
Summary:
D20920582 was unfortunately not enough to fix ability for Flipper to connect to packages that are running as services without an `<application>` tag in the manifest.

The issue there is that the push of `sonarCA.crt` succeeded due to erroneous changes to the target package.

This change ensures both pull and push are covered.

Reviewed By: jknoxville

Differential Revision: D21024673

fbshipit-source-id: cad86ba9ae3b02a99187d3f6bd3b500d2a4b971a
2020-04-15 11:26:37 -07:00
Jamon Holmgren
8c9de002bf Add Reactotron's Flipper plugin to docs / website (#1009)
Summary:
We've ported [Reactotron](https://infinite.red/reactotron) to work as a Flipper plugin. This adds a new section listing known community plugins and starts with Reactotron-in-Flipper as an example.

## Changelog

Added one section to the React Native page.
Pull Request resolved: https://github.com/facebook/flipper/pull/1009

Test Plan: Docs-only.

Reviewed By: passy

Differential Revision: D21039079

Pulled By: mweststrate

fbshipit-source-id: 1187119d78baba321012f8ffa243685b25441e9d
2020-04-15 06:20:31 -07:00
Anton Nikolaev
627cc8fe7f Update Metro
Summary: Updated Metro to the latest version 0.59.0

Reviewed By: passy

Differential Revision: D21027614

fbshipit-source-id: 0b2c1c422dfed7e8426bb9a36c5626f3a96eb8f6
2020-04-15 03:59:38 -07:00
Pritesh Nandgaonkar
adebae54fa Added spinner while submitting bug report
Summary:
Solves this T65385916.
Before this diff the bugreporter showed a disabled UI while waiting for the upload to finish. Its confusing for the user as, it can be seen from the above the task.  Thus I added an intermediate UI with a spinner and a text "Submitting..." which makes it clear for the user that we are uploading a bug report.

Reviewed By: mweststrate

Differential Revision: D21017426

fbshipit-source-id: ce12dfbefc8726adfad9ef17abd744cc92c254ed
2020-04-14 10:36:42 -07:00
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