Summary: MacDevice and Windows device show uncapitalized 'desktop'. Changing them to Mac and Windows.
Reviewed By: passy
Differential Revision: D15168726
fbshipit-source-id: a69ef572d92f82215e548f71e72ef5d7d48beefa
Summary:
Adding a property `horizontallyScrollable` the `ManagedTable` that enables horizontal scrolling, if that is required by the table's contents.
By default this behaviour is disabled to not break existing tables.
Reviewed By: jknoxville
Differential Revision: D15166144
fbshipit-source-id: 7a9b76facdbe717deb3d097e0b8883d4b0732d51
Summary:
`/docs/understand.html` doesn't exist anymore. Also "learn more" in the landing page pointed to `/docs/understand.html` which was broken. Pointed "Learn More" to getting started doc page.
`/docs/understand.html` explained about rsocket which will be little overwhelming for the user to be navigated to right from the landing page.
Also removed the links pointing to `/docs/understand.html`
Reviewed By: passy
Differential Revision: D15147954
fbshipit-source-id: cbd67d7f234c438507f24db946cd463e8827cb78
Summary:
Add a desktop device on MacOS similar to WindowsDevice (see D8861986).
This makes it possible to view Oculus Service Log files on MacOS too.
Reviewed By: danielbuechele
Differential Revision: D15147501
fbshipit-source-id: 8a076964e6111bf3786818b7cbd8bb7f81c1498d
Summary:
At the moment, we can see the %-success of instrumented operations, but it's hard to attribute the ones that fail to actual errors.
This will allow us to see for every session-event row, the error messages that caused each of the failures.
Then if necessary, you can search for that error message in logview to get more info like the stack trace.
Requires a corresponding change in puma, since this is changing a number to a json value.
Reviewed By: danielbuechele
Differential Revision: D15099185
fbshipit-source-id: b966e6e55ab82f1cb9a4cfd7bf02034a1df01929
Summary: Makes the API a bit easier to use. Don't have to build an empty sidebar if you don't want one.
Reviewed By: passy
Differential Revision: D15064205
fbshipit-source-id: bd31c1aa97fd6d1c93717c10b268f49e44eb1299
Summary:
I haven't done this at the platform level (plugin.js) because the persistedStateReducer method signature prevents it unfortunately.
We might want to add a different method type at some point, like this one so you don't need to do this unsafe casting in the plugin itself, but for now, just doing it here.
Reviewed By: danielbuechele
Differential Revision: D15080331
fbshipit-source-id: c51749ac84cd38559d85089557f44ace8ae6e08b
Summary: emulator isn't on the path in CI machines, but we already have ANDROID_HOME set so we can work out where it is.
Reviewed By: danielbuechele
Differential Revision: D15080422
fbshipit-source-id: 2c50a3de27909d2bfc82ea0210d06a0cc32357d7
Summary: Currently, you get an error when you don't have device utils installed. However, when you switch your flipper to a supported device, the error may not be cleared. This handles that case.
Reviewed By: jknoxville
Differential Revision: D15087620
fbshipit-source-id: 6060752b54161c7610656531d053ecbcdd9e978a
Summary: We were missing to log for those cases when we exported through sharable link. Also I changed logging a bit so that we can differentiate between Sharable Link and File exports
Reviewed By: jknoxville
Differential Revision: D15080292
fbshipit-source-id: 063e9f515e4f089ed3715e7b1ca0e66410e46541
Summary:
This diff makes headless flipper accept `metrics` argument. Once this is passed. The headless flipper will terminate to export the metrics of the plugins, the type of the export looks like the following.
```
export type MetricType = {[metricName: string]: number};
type MetricPluginType = {[pluginID: string]: MetricType};
export type ExportMetricType = {[clientID: string]: MetricPluginType};
```
This diff, uses the store to export the metrics. I will modify the logic to accept the data which gets exported through `exportData`
Reviewed By: passy
Differential Revision: D14933499
fbshipit-source-id: dade5b7bc59ea4beb6d16c5ef471737e8597358a
Summary: Separating out the types and utils for work I'm doing on https://github.com/facebook/flipper/pull/415 / D14973754. This will make the request to curl utility function much cleaner
Reviewed By: jknoxville
Differential Revision: D14976747
fbshipit-source-id: cc15c10103ea75945d0a2ebaaa6d32a376192961
Summary:
We've had a bunch of different options that were all binary
switches with very different ways of displaying them.
This consolidates them all to use ToggleSwitches. I think it
may still make sense to move them all to a sidebar as it's
the case for the Analytics plugin, but that's for another diff.
Reviewed By: danielbuechele
Differential Revision: D14933392
fbshipit-source-id: 7ef286b61142a564a7cde6de875266ac8641704b
Summary:
As seen in https://our.intern.facebook.com/intern/bug/653953588368620/,
the network plugin can crash if content doesn't look like a URI.
Ideally, we'd be more granular in catching this, but for now skipping
that content seems better than crashing the entire plugin page.
Reviewed By: danielbuechele
Differential Revision: D14971610
fbshipit-source-id: 2708e5c0d4d1f584419d24c7dc38438009015565
Summary: the simpliest approach to render this metadata for debugging purpose
Reviewed By: bcuccioli
Differential Revision: D14974129
fbshipit-source-id: d816d1ef8dcd1bc333c4d0cdf70d6d9fb925bc03
Summary:
The crash logged from `ErrorReporterRunnable` wasn't detailed. For example look at the following video.
Also for some reason the `FlipperConnection` interface doesn't have an argument for crash name. Thus I changed the js side of the plugin to accept `crash.name` to be undefined.
{F155526537}
Reviewed By: passy
Differential Revision: D14852561
fbshipit-source-id: 6daf9847535b4508fa312b4f940b014911aae2e5
Summary:
I dislike the sprinkled eslint ignores. Let's put this
in one place and just depend on isProduction().
Reviewed By: jknoxville
Differential Revision: D14913057
fbshipit-source-id: 2f5a98b7dba1ac1829eaeab24290d2f66820edf9
Summary:
During client setup, if no device is found with a matching CSR, and any of those devices errored while trying to find that out, surface that error, instead of a generic 'No matching device found'.
This means that the warning about some unusable samsung devices now shows again, instead of a generic message.
Pull Request resolved: https://github.com/facebook/flipper/pull/413
Reviewed By: passy
Differential Revision: D14891185
Pulled By: jknoxville
fbshipit-source-id: 8f4cb4e8e04defb429a4ca915b0dab4725495c87
Summary: I though I already did this, when releasing it. Apparently not.
Reviewed By: jknoxville
Differential Revision: D14854810
fbshipit-source-id: 4da61866925e06a415bfaed0f48e5434e769ec39
Summary: Adds ability to add things above and below the table when using native plugins.
Reviewed By: passy
Differential Revision: D14850839
fbshipit-source-id: cc7fa6d8055900c29f5af6f3460bc280c0a4a675
Summary:
When a plugin was selected the last time Flipper was running, but is not available anymore, Flipper was still trying to load the plugin and failed.
Now, if the selected plugin is not available, we just don't render anything.
Reviewed By: jknoxville
Differential Revision: D14854930
fbshipit-source-id: 9ddec47becce7bffcf93b3f4a092a8fcf2022f4f
Summary: Now that it has been inlined into TableNativePlugin, I'm reverting it back to it was before to keep it simple.
Reviewed By: passy
Differential Revision: D14800383
fbshipit-source-id: 81725134b6598c03e3ddfb1eb9269d463815dc82
Summary: Before expanding what a table plugin can do, I'm extracting the createTablePlugin functionality into the native plugin component, so it can evolve independently without lots of forks in the code.
Reviewed By: passy
Differential Revision: D14800313
fbshipit-source-id: dbb34fe974c507663151daeb6631d1911b46f6df
Summary:
The `instanceof Object` check was throwing an "cannnot convert object to primitve value" error, for some reason that I didn't fully understand. Replacing this check with a `typeof` check. However, `null` also returns `object`, so we are explictly checking this as well.
This was the error that happened before, on every POST request:
https://pxl.cl/vc6K
Reviewed By: passy
Differential Revision: D14827145
fbshipit-source-id: 999480db9afb1e0cc0d1bef73fb0cb2223fa0bc4
Summary:
When starting Flipper with `--launcher-msg`, it currently shows a red error bar at the bottom. That's not ideal for various reasons including it looking kinda bad and it only supporting a single error (the last one set).
This instead adds an action that shows an indicator next to the version at the top as we had it before with the previous system.
Reviewed By: danielbuechele
Differential Revision: D14778859
fbshipit-source-id: 28591de6262e090a4e59a7f5a8cd86d7b3abf8fe
Summary: Some unnecessary syscalls in the way we actually use this at the moment.
Reviewed By: danielbuechele
Differential Revision: D14750875
fbshipit-source-id: 5959ed0845398b29698ab58f7359869fa3657fdc
Summary:
The reason was getting truncated, even though it had space to show the message. Look at the screenshot
BUG:
{F155254538}
Reviewed By: jknoxville
Differential Revision: D14775792
fbshipit-source-id: d18a458150c272c0c4e22cda9ea6459f96a70ea3
Summary:
For the native crash, the crash log is logged as seperate messages. So crash reporter plugin merges them together and fires one notification. The merrging logic is timer based, so if multiple crash log message is posted in 50ms, it will be combined in one notification.
For the above case, the "Open in Logs" functionality was broken, as we used to compare the entire callstack in one entry rather than in the multiple rows. This diff fixes this issue.
Bug:
{F155167144}
Reviewed By: jknoxville
Differential Revision: D14748956
fbshipit-source-id: d24db6d47fa3cd633a9002ac77f37c267ca4924f
Summary:
Added a promiseTimeout util so that we limit the time taken to export flipper plugin. I had received a feedback from the user stating that that the loader for the export stays for ages and never finishes. So this diff adds a timeout to the promise which is returned by `exportPersistedState` function. This function is currently implemented just by Layout inspector to fetch the entire view hierarchy. I suspect the the former mentioned bug may be due to the unresponsive client.
This diff also shows the plugin and the client information for which `exportPersistedState` timed out. Also this will hopefully solve the problem surfaced recently stating that the bug report gets stuck, the reason for which I suspect would be the same as the above mentioned reason, because we export flipper data when we create a bug report.
Reviewed By: danielbuechele
Differential Revision: D14712633
fbshipit-source-id: 35f8cfa722ec3b7ff94ebda943d618834ac3207d
Summary:
This diff shows an export sheet when one exports the Flipper data in a file. It also shows if any error happens.
Look at the video in test case.
Reviewed By: danielbuechele
Differential Revision: D14624194
fbshipit-source-id: dea0179a83e626e49593e5dde1d5ff128048db02
Summary:
This adds an optional exit strategy that reacts to the client disconnecting rather than a `SIGINT` which can be used for integration tests.
`MiddlewareAPI` is a subset of `Store` and required to work here.
Annoyingly, it's not quite clear to me why this does not work as part of an event loop cycle and requires a `setTimeout`. This doesn't have any negative effects and works in the same way that the SIGINT interruption works, but it's a bit of an eyesore.
Reviewed By: danielbuechele
Differential Revision: D14622111
fbshipit-source-id: e2caca056e478428d977565dc9bc09eefca4230c
Summary:
Adds ability to send sidebar sections from the mobile app.
Currently implemented sections are json blob, and toolbar (row of buttons).
Note that I have not tested the toolbar with more than one button. I'm currently implementing features as needed so this should be considered alpha support at the moment.
Reviewed By: passy
Differential Revision: D14642879
fbshipit-source-id: 84876935337741422242285dc48da79af3a1d5ee
Summary: This diff allows user to copy crash name and crash reason in the clipboard
Reviewed By: jknoxville
Differential Revision: D14594212
fbshipit-source-id: 88a99af70e0e1aa5950e144a9072a8d96d7d3fc3
Summary:
Before this diff the notification fired for crash reporter had the entire callstack as its message, which is actually not required and it also makes a UI not good.
This diff just limits the message length
BUG:
{F154537911}
Reviewed By: passy
Differential Revision: D14594189
fbshipit-source-id: 663710e3e80be4367d0cc2a532fd4aa312cc0c1e
Summary:
* We are now using `flipper.oAuthToken` to store our token in the keychain
* If there is no Flipper token, we copy the Nuclide token (once)
* If the user signs out of Flipper, only the flipper token is removed from the keychain, not the nuclide token
* the Nuclide token is not copied anymore
Reviewed By: passy
Differential Revision: D14598658
fbshipit-source-id: ab0646b35575bd4b2e433d62bb98635f6d127fd2
Summary:
This diff parses the `Date` from the crash log, so that the `Date` shown on the UI matches with the actual crash log
Bug:
{F154301489}
Added test too
Reviewed By: danielbuechele
Differential Revision: D14563053
fbshipit-source-id: b9dc7de11d7f17d6c7aa2afe5106b8f85c0a535c
Summary: This diff adds support to show multiple crashes in the crash reporter plugin. You can also select crashes from the list of the dropdown.
Reviewed By: danielbuechele
Differential Revision: D14513401
fbshipit-source-id: 621d32c5971519e5046daec76ec2f9b32ba4d8ce
Summary:
This fixes headless not terminating due to the `package.json` not being readable.
I instead write this to the `global` object in the same way that the version is
set.
Reviewed By: jknoxville
Differential Revision: D14579316
fbshipit-source-id: 238afe912366c423552305e120088f4abac4c20b
Summary:
Native plugins are plugins that can be written in mobile code alone (java/objc), provided they conform to a template, currently table is the only implemented template.
This adds support to flipper for handling them.
Reviewed By: danielbuechele
Differential Revision: D14502188
fbshipit-source-id: a96be9b06de1cecf7977c4ef2fd05b168f7f1330
Summary: The error was getting wiped accidentally if register device didn't have any error. In practice, meaning that the "flipper already running" message only flickered on the screen and then disappeared.
Reviewed By: passy
Differential Revision: D14576768
fbshipit-source-id: 1c7443f8f25ffa6a56f8d4994f3fef53bbb02c6d
Summary:
This was originally introduced so we could squash multiple instances of the same error at the client side and only report one instance of them.
Now we've moved to doing the aggregation server side, which is more powerful, so this is no longer necessary. We've also seen a case of these Error objects appearing opaque making it hard to see the underlying problem, so removing it entirely.
Reviewed By: passy
Differential Revision: D14576715
fbshipit-source-id: b285dcb5249e209f9008a14ac6a2f226f3aa82d7
Summary: Exposes Import/Export feature to open source. This diff also makes sure that, "Shareable Link" option doesn't show up, as it is specific to fb's infrastructure.
Reviewed By: passy
Differential Revision: D14526634
fbshipit-source-id: 3aeb97c91bc00a9c5f01c74c34a5690ec3b5739d