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
Summary: I have updated the UI of the crash reporter. It doesn't show the multiple crashes now. I will work on that in other diff. This diff just updates the current UI that shows the latest crash, as per the [design](https://our.intern.facebook.com/intern/px/p/pJ11/)
Reviewed By: danielbuechele
Differential Revision: D14399400
fbshipit-source-id: f6f28c2c6d386f4cd99a257922993ef355b1059b
Summary: Overflow on panels was clipped. Setting overflow visible to make it visible.
Reviewed By: passy
Differential Revision: D14519402
fbshipit-source-id: 264f99e3ac20986365c8f69564c4633818dd4a94
Summary:
This diff aims to make the selected device a little clearer, the button now shows different icons depending on the selected devices: physical, emulators and archived devices.
The dropdown now is grouped in these sections, depending on their availability:
- Connected Devices
- Running Emulators
- Imported Devices
- Launch Android emulators
- Open File...
"Open File..." allows to import a file the same way as File -> Open File...
Reviewed By: jknoxville
Differential Revision: D14460789
fbshipit-source-id: 8d6edff0d90d5e02e4ef5976af5680ab8eaf77b4
Summary: Adds revision information which is used to build the flipper app. for more context follow the [discussion](https://fb.workplace.com/groups/1489943347777350/permalink/2046366362135043/)
Reviewed By: danielbuechele
Differential Revision: D14458169
fbshipit-source-id: 71860f1e78c042f76d0e220dd3be96f2adaf609e
Summary:
The headless version used to use `JSON.stringify` to serialize the output of `serializeStore` which basically transformed the store to a specific format which is serializable. But we have written the custom serialize function which cateres to the non serializable object types. Headless didn't use it, so thats why it exported Flipper trace in an unrecognizable format for the flipper.
I have also renamed `serializeStore` to `prepareToSerializeStore` so that the confusion doesn't occur in future. I have used an `exportStore` function in headless which exports the store to the `Promise<String>`
Reviewed By: jknoxville
Differential Revision: D14480096
fbshipit-source-id: f312d7637aa082d96c3bc1dfd00eefb19182e97f
Summary: Should also fix the build.
Reviewed By: jknoxville
Differential Revision: D14477777
fbshipit-source-id: 01fcfb2321c9b7a12acdf079473d91b6805d4dda
Summary: To read the current revision written into the manifest at build-time.
Reviewed By: danielbuechele
Differential Revision: D14454983
fbshipit-source-id: adad7d85dbf410701d2f8601bfccbcfbc0f30dff
Summary:
Uploading the Flipper data could take some while. With the current implementation the user didn't know what was happening. This is why this diff immediately shows a sheet with a spinner, until the upload is finished.
The URL is still copied to the clipboard and a notifications is displayed. Additionally the user can copy the URL from the sheet.
Reviewed By: priteshrnandgaonkar
Differential Revision: D14441759
fbshipit-source-id: c853526a7da76e2dea5e1aaf6b6eff21e4268789
Summary:
Due to faulty condition default state was not being added in the persistedState, which casued the following bug.
{F153286217}
Reviewed By: danielbuechele
Differential Revision: D14425166
fbshipit-source-id: 557dc3717b650dae90dc44ad12970a684cecbf24
Summary: As per title. Target mode and Alignment mode doesn't make sense for archived devices.
Reviewed By: danielbuechele
Differential Revision: D14407780
fbshipit-source-id: cf6f56456674ad8fec422d6f84d58c6d5b211c25
Summary:
Bug: On search, the accessibility views didn't used to expand.Look at the following video to understand the bug
{F153135892}
Reviewed By: danielbuechele
Differential Revision: D14407511
fbshipit-source-id: 011bf31b5bd10f5a7dad3d5d30703ec3bdeaf9c1
Summary: Enables Import and Export for all the nodes for android. Also search and Accessibility feature works
Reviewed By: danielbuechele
Differential Revision: D14406016
fbshipit-source-id: 8976db66d1ca91e98c52983a31ea584764bde0f6
Summary: Flow tells me these too are unnecessary now. Yay!
Reviewed By: danielbuechele
Differential Revision: D14406869
fbshipit-source-id: c09c11fd548798a3fe97c74d23d3b2e9637e5f3a
Summary:
Enables search on the imported layout data. The way search is implemented is that the Flipper app asks for the search results from the mobile clients. Since mobile client will not exist in the archived case, the search won't work. To solve this problem I added a proxy client which will get all the messages fired by the Layout Inspector and it will accordingly revert back with the responses. In the case of search, it will give back the search result tree for a particular query.
Also added extensive tests for the proxy client
Reviewed By: danielbuechele
Differential Revision: D14281856
fbshipit-source-id: 651436084ebacd57f86e4fe9bb2036e7f666880c
Summary:
For gzipped requests, the decoding of unicode characters was failing, because it was was done, before decompressing the response payload.
In this diff, the payload is first decompressed and decoded afterwards. For the calculation of the response size, this is removed, because it doesn't matter for the calculation of the size to correctly decode unicode characters. However, there might be a problem with displaying the correct size. This is tracked in T41427687.
Reviewed By: jknoxville
Differential Revision: D14366841
fbshipit-source-id: e375df1ec44505f6315dedbe71b3b62eac0f281a
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
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
Summary: Only show scrollbars in sidebar when necessary.
Reviewed By: jknoxville, passy
Differential Revision: D14341446
fbshipit-source-id: e75f02b9de7796fc9ed8a42618ade3be015a1889
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
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
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
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