Commit Graph

1038 Commits

Author SHA1 Message Date
John Knox
77811c66d2 Add reportPluginFailures in client.call method
Summary:
Adds an optional "plugin" field to the tracked metrics. The idea is to be able to see failures in plugins.

Added it around all desktop -> sdk "call"s, so it won't require any effort from developers but we'll get lots of immediate data. E.g. How often layout -> getNodes fails. I think we can go modify the existing pipeline to take both platform and plugin data so we can get session roll-ups too.

Corresponding change to the puma app: D13882629, adds a plugin field to all tables so we can filter by plugin, or null for platform failures.

I'm thinking it will be worthwhile to expose some method to plugin developers, that lets them explicitly track failures. It would be better if it encapsulated their plugin id etc, so they just need to say what failed. But that can be done any time, I don't have any particular use cases in mind yet.

Reviewed By: passy

Differential Revision: D13878379

fbshipit-source-id: 2e2ef6b98f763e6edcfe937741d6988dae4b92d1
2019-01-31 03:23:41 -08:00
John Knox
6d50843eed Rename recordSuccessMetric to reportPlatformFailures
Summary: Change from `recordSuccessMetric` to `reportPlatformFailures`, because the next diff adds `reportPluginFailures` and I want to distinguish the two.

Reviewed By: passy

Differential Revision: D13878380

fbshipit-source-id: 9c6b8bfe1ed2e1a8bbe5aacbec31d24e9aa39171
2019-01-31 03:23:41 -08:00
Pascal Hartig
1101306249 Move FLIPPER_PORTS error handling out of function
Summary:
The function itself can easily be pure. Let's have the side-effects
(lookup of env variable and error handling) outside of it. Also
prevents spam in the test log (which I intend to make a test failure
going forwards).

Current output:
{F149794656}

Reviewed By: jknoxville

Differential Revision: D13894995

fbshipit-source-id: dacf51f8b35cb427740f9566ef993ffc6b2c3906
2019-01-31 03:16:55 -08:00
Pascal Hartig
14b1583eb0 Adjust verify-bintrya-upload script for Flipper
Summary:
Umm, this is embarrassing. I thouhgt I did this when I put
up the first diff? Apparently I didn't. Well, I just ran
this for `0.14.2` and now it actually does what it
says on the tin.

Reviewed By: danielbuechele

Differential Revision: D13861574

fbshipit-source-id: dd7ae30a97e6da036d3a30b43de941e82088062c
2019-01-30 10:38:45 -08:00
Daniel Büchele
599b069943 catch errors in logs listener
Summary: If one logListener was to throw an error, the others wouldn't receive the logs anymore.

Reviewed By: jknoxville

Differential Revision: D13881128

fbshipit-source-id: a653ba9279380c25bbc7ae2fd0c63de0884aa441
2019-01-30 10:33:35 -08:00
Pritesh Nandgaonkar
f12226ac00 Just trigger for fatal logs and error logs with tag AndroidRuntime
Summary: This diff updates the check which triggers crash notifications. We got a user feedback that crash reporter used to report non fatal crash too and it used to annoy users with bombardment of crash notifications.

Reviewed By: passy

Differential Revision: D13878272

fbshipit-source-id: 75446f08f806e8f28a6f68953c0a001fd18a7dc0
2019-01-30 06:50:16 -08:00
Daniel Büchele
500007ccca use perf_hooks
Summary:
We were using `window.performance` to measure performance. This was because the equivalent node.js API `perf_hooks` wasn't available in the electron version we were using back then.
However, `perf_hooks` has landed in electron meanwhile, so I am moving to this API, as it works for the headless version and jest tests, too.

This allows us to delete the babel transform that was used for node-based tests, where the browser API was replaced with the node API

Reviewed By: jknoxville

Differential Revision: D13860133

fbshipit-source-id: cf1395004fac046dd55751ff465af494173b2cbf
2019-01-29 09:32:05 -08:00
Daniel Büchele
26266bc607 fix imports
Summary:
Incorrect imports were causing an error: `invariant is not a function`.
This fixes the imports.

Reviewed By: jknoxville, priteshrnandgaonkar

Differential Revision: D13859945

fbshipit-source-id: 2a5f5f87b4df2840c8e6b749acb293b145805afa
2019-01-29 09:32:05 -08:00
Pascal Hartig
921414d3e3 SoLoader v0.6.0
Summary: Bumping the version.

Reviewed By: danielbuechele

Differential Revision: D13860124

fbshipit-source-id: 33bf81706e33186e039b781d6fc149b3e47d95be
2019-01-29 09:13:12 -08:00
John Knox
a8fc858d4d Add custom ports to documentation
Summary:
Added instructions on using custom ports.

We probably want to put the headless instructions here too when they're ready.

Reviewed By: danielbuechele

Differential Revision: D13860469

fbshipit-source-id: 76537a36e6fc85e805a29830927e4d59ee4f73e8
2019-01-29 09:08:05 -08:00
Pritesh Nandgaonkar
8957b55eda Gate Export Flipper data feature
Summary: This diff gates the flipper export feature behind a gk

Reviewed By: danielbuechele

Differential Revision: D13860474

fbshipit-source-id: b7eda655418ccfd03b7bac42f0f741864164ea29
2019-01-29 08:55:26 -08:00
Pritesh Nandgaonkar
cbd70f573c Added test cases for flipper import and export
Summary: Adds tests for flipper import and export. Also fixed few edge cases which was discovered through tests. The edge case was that it didn't export device plugin states.

Reviewed By: danielbuechele

Differential Revision: D13828357

fbshipit-source-id: ddc4352b729ca7f05c5875f2f3fbdd2c7f4e2186
2019-01-29 08:55:26 -08:00
Pritesh Nandgaonkar
5ef970e5b5 Serialize Store
Summary:
This diff adds the capability to export the flipper data to a file. With this diff you can click on the "Export Flipper" option from the "Edit" menu in menubar. It will export it in the file at this location

`~/.flipper/MessageLogs.json`

We do not exactly export the store, but just the important part of it. We export in the following format

```
{
fileVersion: '1.0',
device: {
   os: 'iOS',
   title: 'iPhone 7',
   serial: '',
   deviceType: 'physical',
  },
clients: [
   {
    query: {
       app: 'Facebook',
      },
      d: '12345678'
     },
   {
    query: {
       app: 'Instagram',
      },
    id: '12345678'
   }
],
store: {
   pluginState: {},
   notifications: {}
  }
}

```

In next diff I will add the capability to select the folder to export the file too.

Reviewed By: danielbuechele

Differential Revision: D13751963

fbshipit-source-id: 7d3d49c6adf8145b2181d2332c7dbd589155cec3
2019-01-28 15:43:24 -08:00
Brett Lavalla
fc1d32a3f9 Add accessibility role and role description to flipper
Summary:
This adds the concept of a custom role description to Flipper's accessibility inspector.  This functionality was added in support library version 24.1, and supported in Litho as of D8066609.

This will show both the AccessibilityNodeInfo's raw roleDescription under the AccessibilityNodeInfo section, as well as the derived role description under the main Accessibility section (see highlighted elements in screenshot below).

The difference between the raw role description and the derived role description is that the derived description will show any default description a role is given, such as "Button" for button roles.  This makes it clear that the role-description property will override those default strings.

Unfortunately making these mutable requires the AccessibilityRoleUtil class be restructured a bit to support EnumMapping for its roles, which isn't very straightforward due to these default descriptions being stored in the AccessibilityRole enum, so that will have to wait for a future diff.

Screenshot:

{F149099209}

Reviewed By: danielbuechele

Differential Revision: D13759563

fbshipit-source-id: 6eeb22a35f529663725630936af9967ea1f19c0c
2019-01-28 14:04:19 -08:00
Pascal Hartig
aa365b990b Restore "fb" preset (#363)
Summary:
I must have run this locally on an outdated version of eslint or the
plugin, because I did not see all the formatting errors. This is because
`eslint-plugin-prettier` dropped support for the `fb` preset (see https://github.com/prettier/eslint-plugin-prettier/pull/113/files). This restores the equivalent ruleset explicitly.
Pull Request resolved: https://github.com/facebook/flipper/pull/363

Reviewed By: danielbuechele

Differential Revision: D13839021

Pulled By: passy

fbshipit-source-id: 59e27a241e8aada8648b175ab8abbdfbd391556e
2019-01-28 07:07:28 -08:00
Pascal Hartig
2a0f0b3dde Always show Flipper version
Summary:
This moves the version display from the updater component
to the titlebar itself, so it'll be shown even in dev mode.

This is already useful when using it on platforms like Linux
where the updater isn't supported, but will also help when
moving to the launcher model.

Reviewed By: jknoxville

Differential Revision: D13819139

fbshipit-source-id: cbc127b8ccdf932f823bc1f40319f296516dfc31
2019-01-28 04:51:06 -08:00
Pascal Hartig
1b9c32b103 Upgrade to ESLint 5
Summary:
Wanted to do that for a while, but the previous eslint error
blocked me. Continues running with the same level or warnings.

Reviewed By: jknoxville

Differential Revision: D13818478

fbshipit-source-id: ac12888dd4177316020c947925d4ff9d64784140
2019-01-28 04:51:06 -08:00
Pascal Hartig
77748bd146 Use ES6 imports instead of require()
Summary: Drive-by change.

Reviewed By: jknoxville

Differential Revision: D13818253

fbshipit-source-id: b874425e3612d79b0e18a9f8517e3a966e01cad0
2019-01-26 04:03:40 -08:00
Daniel Büchele
771be72b3f remove window dependency
Summary:
Fixes required to be able to run Flipper in node.js:
* Adds checks if the `window`-object exists before using it, to allow running in node.
* Imports from within Flipper should directly reference the file they are requiring instead of `import from 'flipper'`. This was done in most of the places. Fixed a few occurrences where this wasn't the case. This is to prevent cyclic dependencies in node.
* shared packages (React, ReactDOM and Flipper) were exposed on the `window` before, changed this to `global` as this works in browser and node.
* Adds some missing methods to our electron stubs (used for testing and headless Flipper)

Reviewed By: passy

Differential Revision: D13786577

fbshipit-source-id: 145d560f1446e7d0bdec2acd8dd54dae983d7b36
2019-01-25 12:19:07 -08:00
Daniel Büchele
7ac6a09af1 build headless version
Summary:
* Adds `build-headless.js` to bundle the app using metro
* the build script replaces the prelude code added by metro with our own to make it work in node. Metro will add an API to add custom prelude code in the next version.
* Pins down metro's dependency of `temp` to `v0.9.0` (instead of `0.8.3`) to be compatible with node 10. (This will be fixed in a metro upgrade)

Reviewed By: passy

Differential Revision: D13786574

fbshipit-source-id: bddb3542c370c068d90a90c4b59337f995e4fa3f
2019-01-25 12:19:07 -08:00
Daniel Büchele
dab50ec5c4 add headless entry point
Summary:
Adding `headless/index.js` This is the entry point to the headless version of Flipper.

This creates a redux store, and initializes the dispatchers. As all business logic (adb connections, etc.) are managed by dispatchers, this spins up a working version of Flipper, listening on our ports, allowing connections to devices.

For APIs not available in node.js, we are adding polyfills. `WebSocket` is used by redux-devtools, `fetch` is used in a couple of places throughout the application. These polyfills are added to the global namespace, so the app can run the same as in the browser.

Reviewed By: passy

Differential Revision: D13786573

fbshipit-source-id: 685f67e1c0d2948de7c43b8a1e2dc10dc69aa743
2019-01-25 12:19:07 -08:00
Daniel Büchele
78cd40e890 split build process
Summary: Moving a couple of build function from `build-release` to `build-utils` so they can be shared between the desktop build process and the headless build process.

Reviewed By: passy

Differential Revision: D13786575

fbshipit-source-id: df0a0da6d9a643e3e1c65470e1e96254e8966dd9
2019-01-25 12:19:07 -08:00
Daniel Büchele
e02d823e5f split setup
Summary:
`static/index.js` is called by Electron's main process, it does the setup required to run Flipper. However, some of this setup is electron specific, other is not. This moves all non-Electron specific code into `setup.js` which later can be called from node, too. All Electron specific stuff is still in `static/index.js`.

On a side note, this remove the renaming from `.sonar` to `.flipper` config folder, as I think most users should have been migrated by now, users that are not yet migrated will lose their settings, which isn't too much of an issue as our settings are very minimal anyways.

Reviewed By: passy

Differential Revision: D13638253

fbshipit-source-id: 22ab2a65ffec87b40bd86899630d582d9dc5d05c
2019-01-25 12:19:07 -08:00
Pritesh Nandgaonkar
978b14c3d3 Append and show errors which are caused due to jni/native crashes
Summary:
Before this diff, the crash reporteer plugin for android just used to show messages which were error and had tag as "AndroidRuntime". This diff fixes this and instead accepts multiple different tags which might be related to crashes.

The issue with triggering the notification for all kind of messages would be that, the user might get many. For the jni errors, the stack trace of it are shown as multiple entry instead of one entry in logcat. So to combine all the stack trace into one callstack message, this diff adds a timer of 10ms and combines the messages which occur in that timespan and then trigger the notification.

Reviewed By: danielbuechele

Differential Revision: D13772505

fbshipit-source-id: fec6f5a7f9f46948c9f9dc5b2a7b92690913c8aa
2019-01-25 09:52:43 -08:00
John Knox
dcfa412080 Explicitly start adb server
Summary:
We've only got about a 75% success rate at initializing an adb client: https://fburl.com/scuba/tr5tkehi

This is the second attempt to fix this. The first one D13487864 was reverted because it used 'adb' instead of the full path, and when run as a GUI app, you don't get the PATH variable typically set up in .bashrc files etc.

Fixing it by using the full $ANDROID_HOME path.

For facebook users, this will always be guessed correctly, but for OSS it could be installed anywhere, so we might get it wrong - it's common for $ANDROID_HOME to not be set at all on mac systems, and setting it for GUI apps is not exactly trivial: https://superuser.com/questions/476752/setting-environment-variables-in-os-x-for-gui-applications

Leaving the previous implementation as a fallback for OSS users and in case this method fails for some reason.

Metrics wrapped around each implementation as well as the entire thing, so we can see if it solves the issue.

Reviewed By: passy

Differential Revision: D13818981

fbshipit-source-id: d90bfd9ec80621526accc080778afc44f2a099d9
2019-01-25 09:34:50 -08:00
John Knox
dbb723f8a5 Add FLIPPER_PORTS env var to desktop app
Summary:
Part 3 and final part of adding customizable ports. To use this, the iOS / Android apps have to also be started with the same custom ports.

Example usage: `FLIPPER_PORTS=8189,8188 yarn start`

Reviewed By: passy

Differential Revision: D13801761

fbshipit-source-id: 3dd80a3001ed0855e54cc568fa94eb6fac5fc7f1
2019-01-25 07:24:13 -08:00
Riyaz Mohammed Ibrahim
e558d8a01a Added instruction to add RecordLeakService in manifest (#360)
Summary:
Missing instructions to add RecordLeakService in manifest, missing this will crash the app.
Pull Request resolved: https://github.com/facebook/flipper/pull/360

Differential Revision: D13817454

Pulled By: passy

fbshipit-source-id: 5466ba1117510ffe0b2033b6b0913125fda08983
2019-01-25 05:26:31 -08:00
pavlospt
b8dbbb0313 Properly fix license issue in CircleCI (#362)
Summary:
Apparently this seems to be the only way to make build work, with the updated licenses. It also follows the same strategy as Travis.

I am using double pipe in `sdkmanager` command execution, to avoid breaking the build, because `sdkmanager` returns exit code 141 in case it meets the requirements requested. (e.g.: `yes | sdkmanager --licenses` returns 141, which in turn breaks the build due to `set -eo pipefail` Bash flags, that CircleCI is using in order to execute any scripts)

For the record, I tried the following solutions, that did not work:
* Add accepted license SHA in Android SDK licenses folder.
* Accept all licenses prior to running the other jobs (with a separate job, working as a dependency to the rest of the Workflow jobs) (`yes | sdkmanager --licenses`)
* Accept all licenses prior to executing any Gradle command (without a separate job) (`yes | sdkmanager --licenses`)
Pull Request resolved: https://github.com/facebook/flipper/pull/362

Differential Revision: D13817430

Pulled By: passy

fbshipit-source-id: d8c95fc5b9202306dd50ea103b6e90142e73ef61
2019-01-25 05:26:31 -08:00
Pascal Hartig
fb2edd3ad3 Flipper Bump: v0.14.3-SNAPSHOT
Summary: Per title.

Reviewed By: jknoxville

Differential Revision: D13801788

fbshipit-source-id: 0bebeb8b68f2f433056a2cdfee28b2121fb4e03b
2019-01-25 03:27:32 -08:00
Pascal Hartig
993c8532df Flipper Release: v0.14.2
Summary: Patch release.

Reviewed By: jknoxville

Differential Revision: D13801789

fbshipit-source-id: f325b7b99de7bc573f728a94598cf2383cf217c2
2019-01-25 03:27:32 -08:00
Pascal Hartig
2fd9bac31c Automatically create snapshot release
Summary: This adds some frankly disgusting magic to the bump script to determine the next viable snapshot version and creates a second commit.

Reviewed By: jknoxville

Differential Revision: D13801765

fbshipit-source-id: 40728afe9dfde3da7a4fced645a89ed293109878
2019-01-25 03:27:32 -08:00
Pascal Hartig
685be44187 Small fixes to bump-version.sh
Summary: Indentation, abort jq installation on non-Darwin, spelling.

Reviewed By: jknoxville

Differential Revision: D13801766

fbshipit-source-id: 2e2e45806b43ff78d6c6d2e5a4ab166dd8d043b1
2019-01-24 11:27:43 -08:00
John Knox
74d0ecac1b Add FLIPPER_PORTS env var to iOS SDK
Summary:
Part 2 of changing flipper to use customizable ports: iOS SDK.
Still to go: JS app.

env var should be of the format:

`FLIPPER_PORTS=1111,2222` for insecure port: 1111 and secure port: 2222.

Reviewed By: danielbuechele

Differential Revision: D13800988

fbshipit-source-id: 3560ba850389964f4b784551b803c45c6524e6f0
2019-01-24 06:49:33 -08:00
Fabio Milano
823f9cac63 Rename of ComponentTree to Sections
Summary: Due to a change in the roadmap the plugin has been renamed to Sections

Reviewed By: danielbuechele

Differential Revision: D13505447

fbshipit-source-id: ff171c5b69ef8186744298a32c7c6b9de49daf2a
2019-01-24 06:23:32 -08:00
John Knox
18b27f24ad Fix oss build
Summary:
A new test uses a non-public dependency causing the travis CI to fail.
Use the standard roboelectric one instead.

Reviewed By: passy

Differential Revision: D13801098

fbshipit-source-id: 9fcda26fceaed22d18bd743f10bf39eaae0da7a6
2019-01-24 05:19:47 -08:00
Pascal Hartig
383cabe212 Update bump binaries
Summary:
Compiled statically for darwin and Linux (x86_64). Also
changed some flags to make this reproducible.

Reviewed By: danielbuechele

Differential Revision: D13801305

fbshipit-source-id: d98701afca3c4787922d377bc6b674b59421f5b8
2019-01-24 04:43:15 -08:00
Pascal Hartig
7e911ed5e8 Move bump to project folder
Summary: Makes building a bit easier and I can have my own README in there.

Reviewed By: jknoxville

Differential Revision: D13784725

fbshipit-source-id: b694c1ce812d4e383ad44faeacd8e0094a96b432
2019-01-24 03:42:12 -08:00
David McRae
a70f47cb0e Document using Flipper with use_frameworks! (#347)
Summary:
Add Podfile documentation so that projects that use `use_frameworks!` have a way to import Flipper into their project
Pull Request resolved: https://github.com/facebook/flipper/pull/347

Reviewed By: passy

Differential Revision: D13761700

Pulled By: priteshrnandgaonkar

fbshipit-source-id: 36d8a5d590b96203ac30fd5d0ca32cae4f194024
2019-01-24 03:32:31 -08:00
John Knox
324a7ae873 Enable flipper android to use different ports based on prop
Summary:
Part 1 of enabling flipper to run on custom ports: android SDK.
Still to go: iOS SDK and desktop

This should allow you to run mobile apps that use flipper on different ports than the default (8089,8088).

`adb shell`
`su`
`setprop flipper.ports 1111,2222`

From what I can tell, this only works on rooted devices.

Reviewed By: passy

Differential Revision: D13753238

fbshipit-source-id: c5f370c9d8c7382e8c17fb81d4010c642ef7c114
2019-01-24 03:12:13 -08:00
John Knox
c68e74c6a0 Fix server.device.js test
Summary:
After the LogManager interface change this file wasn't updated.
The test isn't enabled at the moment, but I don't know why flow didn't notice this.

Reviewed By: passy

Differential Revision: D13783861

fbshipit-source-id: 09d887f6567300aa9a16ec2a97b17a2d9de338d1
2019-01-23 09:08:38 -08:00
Pascal Hartig
64d3f34fe5 Improve version bumping logic
Summary:
Currently, when bumping the version, the script will override "-SNAPSHOT" mentions in both the docs and the properties. This requires some manual fixup after every release. With this change, you can pass "-s" or "--snapshot" to change the version number to a snapshot release and it will only affect the places where that change is necessary.

Did some overall cleanup, too, like getting rid of the macro magic to determine the current location which messes with tooling.

This does *not* include the updated binaries yet. I'll put them up as a separate diff.

Reviewed By: priteshrnandgaonkar

Differential Revision: D13782177

fbshipit-source-id: 87ad0ab20a5f544ddb6aa3e2d30949bbabbabfc4
2019-01-23 08:03:32 -08:00
John Knox
e36b5d1ceb Fix flipper_errors_raw pipeline
Summary:
It turns out puma was erroring on the GK field inside the log json, because of improperly escaped " in the fields.

To simplify it I'm changing it to use simple comma separated key:value pairs, since they are always plain string and boolean values.
"gatekeepers":"TEST_PASSING_GK:false,TEST_FAILING_GK:false,devtools_sonar_team:false"

Reviewed By: passy

Differential Revision: D13782283

fbshipit-source-id: 3f331dc9189b1a57f69a2af0d4393baf45e1fa55
2019-01-23 06:55:30 -08:00
John Knox
ecd6935d18 Promisify server starting
Summary:
We had a promise for initializing the servers, but it wasn't rejected when server startup failed.
Fixed by resolving / rejecting based on the listen / error events fired from the server.

Reviewed By: passy

Differential Revision: D13762580

fbshipit-source-id: a0d1a56473f84dc416e5ce2de91a53b21574f452
2019-01-23 05:18:31 -08:00
pavlospt
84a8b1acab Upgrade to Gradle 5.1.1 stable version (#357)
Summary:
_Per title_
Pull Request resolved: https://github.com/facebook/flipper/pull/357

Reviewed By: jknoxville

Differential Revision: D13761808

Pulled By: passy

fbshipit-source-id: 82e39f78e69966ae2d098629b9c4ed1090c43802
2019-01-23 04:12:11 -08:00
John Knox
eeb40b5944 Record success rate of screenshot capture
Summary: Android and iOS each have a separate metric

Reviewed By: passy

Differential Revision: D13763758

fbshipit-source-id: f679360ec0ee008b434bfe12107ac6548d882a1f
2019-01-22 10:51:22 -08:00
Pascal Hartig
18d9244b7e Bump Litho to 0.23.0
Summary: I made that release so it better be good.

Reviewed By: jknoxville

Differential Revision: D13761454

fbshipit-source-id: 28cc1e113e91c3cb96b493a67b21afa77ea61a27
2019-01-22 08:56:25 -08:00
Pascal Hartig
14e7e04b3b v0.14.2-SNAPSHOT
Summary: Re-enable snapshot releases.

Reviewed By: jknoxville

Differential Revision: D13760747

fbshipit-source-id: 6b8e92258710a33265b416cd17d32f7e2b8f2dd5
2019-01-22 07:33:35 -08:00
Pavlos-Petros Tournaris
682b9bda57 Typo in CircleCI/config.yml (#361)
Summary:
My bad, forgot the `steps` key.
Pull Request resolved: https://github.com/facebook/flipper/pull/361

Differential Revision: D13760713

Pulled By: passy

fbshipit-source-id: 7650644827dbd9919681cd16a72ccf0140f59446
2019-01-22 02:30:37 -08:00
pavlospt
51c496ddef Add accepted Android SDK license (#359)
Summary:
Android SDK license SHA has been updated as of January 16, 2019 so it needs to be re-accepted. This is only needed for CircleCI since in Travis setup `sdkmanager` is used in order to accept the Licenses.
Pull Request resolved: https://github.com/facebook/flipper/pull/359

Differential Revision: D13751841

Pulled By: passy

fbshipit-source-id: f3d84277f06bedf06b7a766429d9f7e3275bb516
2019-01-21 10:33:39 -08:00
Pascal Hartig
0daa5de428 Set parameters to non-null by default
Summary:
This helps Kotlin nullity inference and *should* already be enforced
by Infer/Eradicate. More details here: https://medium.com/square-corner-blog/non-null-is-the-default-58ffc0bb9111

Reviewed By: jknoxville

Differential Revision: D13732788

fbshipit-source-id: c0c60f0f8e9dc8bffe3780c7a1a700d682a6d2b8
2019-01-21 06:06:22 -08:00