Commit Graph

1123 Commits

Author SHA1 Message Date
Pascal Hartig
83c9d3399f Add missing title attributes
Summary:
Extended the linter to check for the title attribute, too, and fixed
all violations. Linter will follow in next diff.

Reviewed By: jknoxville

Differential Revision: D14366410

fbshipit-source-id: b4de3592f2537e2bb16d4c2af231e5bee45346e4
2019-03-07 09:44:25 -08:00
Pascal Hartig
31c240ba00 Blacklist dist/ from devserver
Summary:
Having previously run `yarn build` can otherwise
cause your devserver to stop working.

Caveat: If you have a Flipper checkout and it's called neither `sonar` nor `flipper`, you're still screwed.

Reviewed By: danielbuechele

Differential Revision: D14364984

fbshipit-source-id: 1652c94a95b1dcb6d34bb9040a9cd4cd70c6df55
2019-03-07 05:47:32 -08:00
Pascal Hartig
e2eab5b0dc Update communicating.md (#392)
Summary:
Fix quotes
Pull Request resolved: https://github.com/facebook/flipper/pull/392

Reviewed By: danielbuechele

Differential Revision: D14342217

Pulled By: passy

fbshipit-source-id: 8e6fa9580ef42a69e709802edbbe85a163388425
2019-03-07 03:17:05 -08:00
Pascal Hartig
817c488220 Pin merge 1.2.1 (#393)
Summary:
This addresses [CVE-2018-16469](https://nvd.nist.gov/vuln/detail/CVE-2018-16469).
Pull Request resolved: https://github.com/facebook/flipper/pull/393

Reviewed By: danielbuechele

Differential Revision: D14342214

Pulled By: passy

fbshipit-source-id: fc5c7a552f413f54f31f3c2cfb12fd511ecbd35e
2019-03-07 03:17:05 -08:00
Pascal Hartig
83aee0cd75 Update create-plugin.md (#391)
Summary:
Remove a broken link and some outdated information
Pull Request resolved: https://github.com/facebook/flipper/pull/391

Reviewed By: danielbuechele

Differential Revision: D14342219

Pulled By: passy

fbshipit-source-id: ab915618fe2ad3f955c465c091a636f9ea19ba33
2019-03-07 03:12:09 -08:00
Pascal Hartig
c2cc17833e Typos and corrections for troubleshooting docs
Summary: Pull Request resolved: https://github.com/facebook/flipper/pull/390

Reviewed By: danielbuechele

Differential Revision: D14342222

Pulled By: passy

fbshipit-source-id: 10509d3738a02136b378f6694c721fc72f0aeef0
2019-03-07 03:00:17 -08:00
Pritesh Nandgaonkar
04d2880b25 Bug fix when the selectedPlugin is Layout, and trace is imported
Summary:
Fixes a bug which happened when the selected plugin was layout and the flipper trace was imported. While importing the trace in the mentioned scenario, the redux store didn't used to get updated in the first render but got updated in the second render. Due to which the persisted state passed in the props was undefined. Look at the attached video to understand the bug.

BUG:

{F152642401}

Reviewed By: passy

Differential Revision: D14343465

fbshipit-source-id: 59110fd6ee5839f2e3944792e1c288d2388d3340
2019-03-06 09:30:23 -08:00
Mihaela Ogrezeanu
410b6a6043 Update Section hierarchy when child views change
Summary:
we only include in the inspector hierarchy the sections which are visible on screen. If as a result of a UI change the hierarchy of visible sections changes (for example when scrolling to a section that wasn't previously visible) this forces the section hierarchy to be recreated.
passy not sure if there's an easier way of making the children of a node invalidate, let me know if you have any suggestions
Depends on D14300298

Reviewed By: passy

Differential Revision: D14301404

fbshipit-source-id: 551e1910d0a80238027e32417aab8d42ed1c00b3
2019-03-06 07:51:52 -08:00
Mihaela Ogrezeanu
de43fd29c6 Enable searching for sections in flipper
Summary:
as title, enables section name matching in the flipper search bar
Depends on D14300283

Reviewed By: passy

Differential Revision: D14300298

fbshipit-source-id: 33caefccf04b833c8606a083a13f3bffea6c419d
2019-03-06 07:51:52 -08:00
Mihaela Ogrezeanu
a665a12aec DebugSectionDescriptor non-null data and attributes
Summary:
these are not nullable. returning a non-null value
Depends on D14300226

Reviewed By: passy

Differential Revision: D14300283

fbshipit-source-id: bbc37161d2e01d94998cb287377742d8c5952bd1
2019-03-06 07:51:52 -08:00
Nicolas Hauseux
54d51cc30a small typo correction in android import
Summary: Pull Request resolved: https://github.com/facebook/flipper/pull/388

Differential Revision: D14341908

Pulled By: passy

fbshipit-source-id: dd5329c537311b37c4c39cf1dec4886f543a08d5
2019-03-06 07:30:24 -08:00
Daniel Büchele
b304126af3 Share Flipper file
Reviewed By: jknoxville

Differential Revision: D14340965

fbshipit-source-id: 9145ae8d409e9d4f8becfd1a19a8a9b3739af3fb
2019-03-06 05:54:21 -08:00
Daniel Büchele
c0a30380dc fix sidebar scrollbars
Summary: Only show scrollbars in sidebar when necessary.

Reviewed By: jknoxville, passy

Differential Revision: D14341446

fbshipit-source-id: e75f02b9de7796fc9ed8a42618ade3be015a1889
2019-03-06 05:50:14 -08:00
John Knox
fac138ded3 Use full emulator path when running it
Summary: This is required on linux or it isn't found. It's already done elsewhere this way.

Reviewed By: passy

Differential Revision: D14303606

fbshipit-source-id: 8b3fca776d43076cdc2f814de19b0b381350dcc9
2019-03-05 10:26:49 -08:00
Pritesh Nandgaonkar
d8a1a80338 Flipper Bump: v0.17.1-SNAPSHOT
Summary: As per the title

Reviewed By: danielbuechele

Differential Revision: D14269566

fbshipit-source-id: 94bf552aa654199efddc49d4077da30915c9d387
2019-03-05 06:28:26 -08:00
Pritesh Nandgaonkar
88f976b09b Flipper Release: v0.17.0
Summary:
- The Android library now uses AndroidX instead of the support-library.
- Folly and RSocket dependencies uploaded to cocoapods (f8bd473828).

- Improved Unicode support in the Network Inspector plugin (f4b2ce9a2b).
- Fixed MacOS release creation.
- Several UI fixes regarding in-app search and the toolbar.

Reviewed By: passy

Differential Revision: D14269567

fbshipit-source-id: 2d2f965316bd1ddfb375a2db48fb715095693c43
2019-03-05 06:28:26 -08:00
Pascal Hartig
fbe9e3a086 Prepare for Fresco stable release (#385)
Summary:
This unblocks our open source releases.

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

Reviewed By: danielbuechele

Differential Revision: D14299867

Pulled By: passy

fbshipit-source-id: d9ce29d0d0713cd54f6d8bed03e7a919f443f44b
2019-03-04 09:03:10 -08:00
JianyingLi
f4b2ce9a2b Support Chinese characters
Summary: Pull Request resolved: https://github.com/facebook/flipper/pull/377

Reviewed By: passy

Differential Revision: D14299674

Pulled By: danielbuechele

fbshipit-source-id: 6b10370a4a367ae6e58415b8eeb5aef0864354f4
2019-03-04 05:16:00 -08:00
Pritesh Nandgaonkar
c098269533 Added telemetry for import and export
Summary: Adding telemetry for import and export feature

Reviewed By: jknoxville

Differential Revision: D14267533

fbshipit-source-id: 1a5e041d0dc8c59c325e7d80dc83f6135f479161
2019-03-04 05:08:19 -08:00
Daniel Büchele
7d39c33fc4 get children on invalidation
Summary: When a node was invalidated, not only the node itself needs to be refetched, but also its children.

Reviewed By: jknoxville

Differential Revision: D14280318

fbshipit-source-id: a262a2c95347dc9bf72f83b6a9eba9d3f9badb5a
2019-03-04 02:06:05 -08:00
Pritesh Nandgaonkar
b0551bb74e Export Flipper trace along with bug report
Summary:
Exports Flipper trace along with bug report. I was not able to upload `.flipper` file, thus I have uploaded `.json` file. One can download the json file from the portal and then can rename it to `.flipper` inorder to open it into flipper app.

I am looking into downloading `.flipper` directly, instead of `.json`. But that change, if it happens, will be done in other diff. I think having flipper trace on the bug report will be helpful to debug the issues.

Reviewed By: danielbuechele

Differential Revision: D14266218

fbshipit-source-id: fb7cf4c9773fb355f3569ce8d08b83bd736ab1ca
2019-03-01 08:22:46 -08:00
Pritesh Nandgaonkar
9a9c5a229b Cold start filter
Summary:
This diff adds filter for cold start in the Images plugin.

I also moved the Loading indicator as a sibling of filter bar, because it used to show up when the images to display were zero. Earlier zero images case used to happen only at the start, but now with the options to apply filter, this case may happen often, so user should have access to filter bar to change the filters in order to reset it.

Look at the video for more information

Reviewed By: danielbuechele

Differential Revision: D14269064

fbshipit-source-id: cbab5a62fd62c5a98f8728c33c1a0dbfc6f454cc
2019-03-01 04:50:16 -08:00
Pascal Hartig
6a8abb3be6 Prevent release
Summary:
Move the snapshot repository into the SNAPSHOT block.
This will mean that trying to build a release version will now
fail because it can't resolve the dependency like this:

```

FAILURE: Build failed with an exception.

* What went wrong:
Could not determine the dependencies of task ':android:compileReleaseAidl'.
> Could not resolve all task dependencies for configuration ':android:releaseCompileClasspath'.
   > Could not find com.github.facebook:fresco:0ff379c262.
     Searched in the following locations:
       - file:/opt/android-sdk/extras/m2repository/com/github/facebook/fresco/0ff379c262/fresco-0ff379c262.pom
       - file:/opt/android-sdk/extras/m2repository/com/github/facebook/fresco/0ff379c262/fresco-0ff379c262.jar
       - file:/opt/android-sdk/extras/google/m2repository/com/github/facebook/fresco/0ff379c262/fresco-0ff379c262.pom
       - file:/opt/android-sdk/extras/google/m2repository/com/github/facebook/fresco/0ff379c262/fresco-0ff379c262.jar
       - file:/opt/android-sdk/extras/android/m2repository/com/github/facebook/fresco/0ff379c262/fresco-0ff379c262.pom
       - file:/opt/android-sdk/extras/android/m2repository/com/github/facebook/fresco/0ff379c262/fresco-0ff379c262.jar
       - https://dl.google.com/dl/android/maven2/com/github/facebook/fresco/0ff379c262/fresco-0ff379c262.pom
       - https://dl.google.com/dl/android/maven2/com/github/facebook/fresco/0ff379c262/fresco-0ff379c262.jar
       - file:/home/realpassy/.m2/repository/com/github/facebook/fresco/0ff379c262/fresco-0ff379c262.pom
       - file:/home/realpassy/.m2/repository/com/github/facebook/fresco/0ff379c262/fresco-0ff379c262.jar
       - https://repo.maven.apache.org/maven2/com/github/facebook/fresco/0ff379c262/fresco-0ff379c262.pom
       - https://repo.maven.apache.org/maven2/com/github/facebook/fresco/0ff379c262/fresco-0ff379c262.jar
       - https://jcenter.bintray.com/com/github/facebook/fresco/0ff379c262/fresco-0ff379c262.pom
       - https://jcenter.bintray.com/com/github/facebook/fresco/0ff379c262/fresco-0ff379c262.jar
     Required by:
         project :android

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Get more help at https://help.gradle.org

Deprecated Gradle features were used in this build, making it incompatible with Gradle 6.0.
Use '--warning-mode all' to show the individual deprecation warnings.
See https://docs.gradle.org/5.1.1/userguide/command_line_interface.html#sec:command_line_warnings

BUILD FAILED in 2s
```

Reviewed By: priteshrnandgaonkar

Differential Revision: D14279359

fbshipit-source-id: 6b86a0232d7a4ded8c94bd3a0e0dd08116f13719
2019-03-01 04:42:34 -08:00
Daniel Büchele
79124891a9 url handler downloads
Summary:
Adding support for downloading archived Flipper data using a URL handler.
A URL looks like `flipper://import/?url=` and will download the file specified in the url param. While downloading the file, a spinner is shown in the app's titlebar.

Reviewed By: jknoxville

Differential Revision: D14262763

fbshipit-source-id: 6538fc78c07a48cef7b71b3f7bdbcb712d054593
2019-03-01 04:30:22 -08:00
John Knox
3e336d2349 Print error when adb client creation fails
Summary:
It looks like the shell method of creating an adb client is failing almost all of the time: https://fburl.com/scuba/6ac2zhxn

Thankfully we have the adbkit fallback, but we don't have the error message to see why it's failing: https://our.intern.facebook.com/intern/logview/details/infinity_javascript/dab8d34562f0cdb835132f8825317942/

Reviewed By: danielbuechele

Differential Revision: D14260406

fbshipit-source-id: 6b21b5d9a4806780daa7ce692770788067364d12
2019-03-01 04:26:46 -08:00
Pritesh Nandgaonkar
be008fa18f Change Coldstart type to boolean
Summary: Updated the coldstart type to boolean, as number is not required, its a boolean value.

Differential Revision: D14260678

fbshipit-source-id: 236a38e04fd31cab4a561f5e0365bc43ad98adea
2019-02-28 13:31:16 -08:00
Pritesh Nandgaonkar
af317eed2b Export and import all the nodes
Summary:
This diff does the following

- Support to export the entire view hierarchy for iOS
- Android is not supported yet
- This diff adds a call `getAllNodes` to the client side of iOS, which returns the entire view hierarchy
- Currently the search doesn't work on the imported layout plugin data. Also the imported layout plugin data doesn't expand the way it does when component is mounted, reason being the client passed to the plugin is not functional for the archived case

I will work on fixing the last points in the next diffs stacked on the current one.

For Android:
- Currently the export function will export whatever is currently displayed on the Flipper app, not the entire view hierarchy

Support for Android will also come up in later diffs.

Reviewed By: jknoxville

Differential Revision: D14209157

fbshipit-source-id: 3ad3e39edfd994913dc19cc239bfbbe011a9757c
2019-02-28 09:40:50 -08:00
Daniel Büchele
99ea11b8e6 createPaste
Reviewed By: jknoxville

Differential Revision: D14224400

fbshipit-source-id: 9a9a8578de00d276d65a7928964eae619f5bc41f
2019-02-28 07:28:25 -08:00
Daniel Büchele
6118dee3e7 adding logged in user to sidebar
Summary: Adding UI that shows when a user is logged in and allows the user to log out.

Reviewed By: jknoxville

Differential Revision: D14224401

fbshipit-source-id: 314a1c2f9a1021258e724e824be7577eb85d4b9e
2019-02-28 07:28:25 -08:00
Daniel Büchele
ff0de8caaa user reducer
Reviewed By: jknoxville

Differential Revision: D14224403

fbshipit-source-id: 8341dd8af03148c4b1f648641bda522804acb22d
2019-02-28 07:28:25 -08:00
Daniel Büchele
ffa586dd49 adding keytar native module
Summary:
`keytar` is developped by the Nuclide team and allows cross-platform access to the system's keychain. As `keytar` has a native dependency, we need to make sure Metro doesn't try to bundle it as part of our JS bundle. We are adding another rule to our electron-transform, to not bundle `.node` files (which are native node modules).

Secondly, we need to make sure, the native module is compiled for the correct version of node.js. Usually native modules are compiled for the node version that is running on the system it is installed on. However, we need to make sure it is compiled with the node version that is bundled with electron. That's exactly what `electron-rebuild` does: It recompiles all native modules with the electron's node version.

More on native modules: https://electronjs.org/docs/tutorial/using-native-node-modules

Reviewed By: jknoxville

Differential Revision: D14224402

fbshipit-source-id: 6414a53391a861a23a5d95bf6f18cd0058d9178f
2019-02-28 07:28:25 -08:00
John Knox
85c041ff8d Change performAndReportError to handle exception pointers
Summary: Since plugins aren't under our control, they might throw exception pointers. We can still extract the useful info in this case.

Reviewed By: passy

Differential Revision: D14244362

fbshipit-source-id: 5f18100c08160e7514b3fd88ec47809cb37e9770
2019-02-28 05:39:52 -08:00
John Knox
e594176401 Handle any exception pointers at top level
Summary: If a plugin thows an exception pointer instead of by value, we should capture it and stop the app from crashing.

Reviewed By: passy

Differential Revision: D14243644

fbshipit-source-id: a2e5dde2b36c430355552e3305634baa5913b703
2019-02-28 05:39:52 -08:00
Pascal Hartig
f0722287be Fix Mac ZIP building
Summary:
The current Mac zip creation in electron-builder is broken and creates corrupt zip builder. Other platforms are still fine. This just zips stuff up manually and ensures that symlinks are preserved.

Thanks a lot to Daniel Büchele for helping me wrap my head around untyped promises.

Reviewed By: jknoxville

Differential Revision: D14243002

fbshipit-source-id: 908d176275e5d22173e587c0eb4d7c4b2b7c2e0f
2019-02-27 15:07:46 -08:00
John Knox
56576a84ce Fix app crash when payload is too large
Summary:
Fixes T40544233

Exceptions should be thrown by value, not as a pointer, or else catching by reference (the recommended practice) won't work.

Reviewed By: priteshrnandgaonkar

Differential Revision: D14243337

fbshipit-source-id: 28677d7f1b3c025b67fb945f30116f3b751a89a8
2019-02-27 10:47:04 -08:00
John Knox
0445a05e5b Add isMethodSupported to client
Summary: Allows plugins to check if extension commands or new features are enabled in the current app, by calling `this.client.supportsMethod('xxx')`.

Reviewed By: passy

Differential Revision: D14225961

fbshipit-source-id: c9f7f5b3091209f0ce9705d9d3a0ec173edf3e25
2019-02-27 10:10:02 -08:00
John Knox
6dc2215753 Reuse adb client in certificate provider
Summary: Avoid making duplicate clients, and this one uses a more reliable creation method.

Reviewed By: passy

Differential Revision: D14241448

fbshipit-source-id: 95846a373335818758c8c4a282ed4db26b62d986
2019-02-27 05:42:24 -08:00
John Knox
99bb43fe32 Move adb client creation into it's own file
Summary: Allows the created client to be reused.

Reviewed By: passy

Differential Revision: D14241449

fbshipit-source-id: 6bbb64eeb708dce9c24e4581e8480d19af998e47
2019-02-27 05:42:24 -08:00
Pascal Hartig
edbe2555fc Clear adb logcat when clearing Flipper logs
Summary: When using "Clear logs" in Flipper, also flush the native Android buffer.

Reviewed By: jknoxville

Differential Revision: D14225722

fbshipit-source-id: f41ff9013b95fc3271d3ae44910da18023708d2d
2019-02-26 16:33:19 -08:00
Pascal Hartig
ea03aa36b7 Add child-process-es6-promise
Summary: Using this in the next diff. If you don't feel like this is a good fit, probably better to comment there.

Reviewed By: jknoxville

Differential Revision: D14225747

fbshipit-source-id: 29cd0b4a37b988b4bd8643f1db64bb3e2610b0e4
2019-02-26 16:33:19 -08:00
Manish Singhal
b8e6298df5 Added support for cold start in image perf plugin
Summary:
This diff adds support for cold start in image perf plugin. Now developer can see which images have been requested as part of cold start.

CC: Diego Sanchez Vivian Wehner Alexander Oprisnik Gaurav Nijhara

Reviewed By: jknoxville

Differential Revision: D14227065

fbshipit-source-id: 3347b460e491b218115d8572cb8b323de909ef1b
2019-02-26 16:01:20 -08:00
John Knox
40ada838d7 Add isMethodSupported handler
Summary: Allows plugin to check if something is supported by that app, for example an extension command or a new feature, before trying to use it.

Reviewed By: passy

Differential Revision: D14225957

fbshipit-source-id: 3c5a29a06b56fe5f1da772824232547447872344
2019-02-26 10:08:21 -08:00
Pascal Hartig
dbb4fa1191 Fix typo
Summary: typo_gnome

Reviewed By: jknoxville

Differential Revision: D14224864

fbshipit-source-id: eab74df8fb7c48782a44b5284483ab67c205387e
2019-02-26 07:37:52 -08:00
Pritesh Nandgaonkar
f8bd473828 Use Folly and RSocket from cocoapods (#379)
Summary:
I have released pods for Folly and RSocket on cocoapods. Thus we won't need to host different versions of these pods on our repository. I haven't removed those pods from `Specs` folder, as the current users of `0.16.2` would still be referring the Specs folder on the master branch. I will remove the specs folder once, all our pods are on cocoapods and we no longer need to host any pods.
Pull Request resolved: https://github.com/facebook/flipper/pull/379

Reviewed By: jknoxville

Differential Revision: D14185931

Pulled By: priteshrnandgaonkar

fbshipit-source-id: ea285024123e41c2d110827e26f79a72ef22c008
2019-02-26 04:18:00 -08:00
John Knox
9c4aa9b9cb Call out SoLoader.init in getting started docs
Summary: Pull Request resolved: https://github.com/facebook/flipper/pull/383

Reviewed By: danielbuechele

Differential Revision: D14208864

Pulled By: jknoxville

fbshipit-source-id: 54a319a4b6a658ae49ed90223463ddf7a07bb9c7
2019-02-26 02:46:49 -08:00
Daniel Büchele
b8cb95ab0c toolbar
Summary: When there wasn't enough space for the text toolbar, the text was wrapped into multiple lines. Now it's truncated.

Reviewed By: jknoxville

Differential Revision: D14209813

fbshipit-source-id: 1971cd791daf345639993ed0632d718374a5f91b
2019-02-26 02:37:17 -08:00
Daniel Büchele
2e8394cb36 fix search
Summary: Layout search was throwing errors before, now it's working. The problem was, the event object used in the `setTimeout`-callback was released, before the timeout fired and therefore was null.

Reviewed By: jknoxville

Differential Revision: D14209811

fbshipit-source-id: 2465241c376d3e709155830e796aa3b991cbd7de
2019-02-26 02:37:17 -08:00
Daniel Büchele
385d74ef30 remove virtualization
Summary:
Removing the virtualization in the elements inspector. This didn't really make sense here, because usually the inspector renders 10-1000 rows, which can be easily done in the browser. Having virtualization here, caused some problems with icons flickering and scrolling being broken.

Let's make it less complex and just remove the virtualization!

Reviewed By: jknoxville

Differential Revision: D14209815

fbshipit-source-id: 115d3ed57a1ccdbc20108636ff4fc7fc68e6c9c0
2019-02-26 02:37:17 -08:00
Daniel Büchele
0d0da3df24 sidebar
Summary: Before, the a11y inspector was in a sidebar. This changes the actual view hierarchy to be in a sidebar on the left side. This doesn't make an actual difference for the user, but helps to fix the scrolling issues in D14209815

Reviewed By: jknoxville

Differential Revision: D14209812

fbshipit-source-id: 414e8fd34c889cdce2dd3776727dd4a3a59efeb5
2019-02-26 02:37:17 -08:00
Daniel Büchele
5f5a38f1fe element expanding
Summary:
Previously nodes were always marked as expanded, when they were loaded. In some cases this caused a node to be marked as expanded, but its children not being loaded.

This changes the behaviour to only mark a node as expanded, once its children are loaded.

Reviewed By: jknoxville

Differential Revision: D14209814

fbshipit-source-id: f825d6a066373be932e42b9612a1bf78877b12aa
2019-02-26 02:37:17 -08:00