Summary:
This is especially noticable on a slow internet connection.
If you type the search query quickly, it gets into a state update loop where:
* You type a character, it starts searching
* You type another character, it starts searching
* The first search finishes, updates the results and also updates the query
* This query change kicks off a new search...
* The second search finishes, updates the results... etc.
Fixed by never updating the query after searching. Instead, just discard search results if they come back after the component has changed. Use the cleanup feature of the effect hook for this.
Video of loop:
https://our.intern.facebook.com/intern/px/p/13Qc5
Reviewed By: mweststrate
Differential Revision: D20510360
fbshipit-source-id: 69ca39368fcfefc37b8f7251e059695ae738ddc0
Summary:
Stripping the common prefix when displaying plugin names.
Prior art for this is Jest, Babel, and ESlint.
Only altering it at the presentation level so we still work with the full name under the hood everywhere.
Reviewed By: mweststrate
Differential Revision: D20509786
fbshipit-source-id: ec6b3b064cdaa4d8dd32324fc19131c0bacd5c73
Summary:
Just need a recent diff to run some tests on, tbh.
Pull Request resolved: https://github.com/facebook/flipper/pull/897
Reviewed By: mweststrate
Differential Revision: D20490753
Pulled By: passy
fbshipit-source-id: cb7336becfc694cb99f8d0a70f3bee4b7a639c2a
Summary:
Bumps [acorn](https://github.com/acornjs/acorn) from 5.7.3 to 5.7.4.
<details>
<summary>Commits</summary>
<ul>
<li><a href="6370e90067"><code>6370e90</code></a> Mark version 5.7.4</li>
<li><a href="fbc15b1344"><code>fbc15b1</code></a> More rigorously check surrogate pairs in regexp validator</li>
<li>See full diff in <a href="https://github.com/acornjs/acorn/compare/5.7.3...5.7.4">compare view</a></li>
</ul>
</details>
<br />
[](https://help.github.com/articles/configuring-automated-security-fixes)
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `dependabot rebase` will rebase this PR
- `dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `dependabot merge` will merge this PR after your CI passes on it
- `dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `dependabot cancel merge` will cancel a previously requested merge and block automerging
- `dependabot reopen` will reopen this PR if it is closed
- `dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
- `dependabot use these labels` will set the current labels as the default for future PRs for this repo and language
- `dependabot use these reviewers` will set the current reviewers as the default for future PRs for this repo and language
- `dependabot use these assignees` will set the current assignees as the default for future PRs for this repo and language
- `dependabot use this milestone` will set the current milestone as the default for future PRs for this repo and language
You can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/facebook/flipper/network/alerts).
</details>
Pull Request resolved: https://github.com/facebook/flipper/pull/887
Reviewed By: mweststrate
Differential Revision: D20490717
Pulled By: passy
fbshipit-source-id: 623d10ed4bf6579469f29c3e5bb47112173ce3d1
Summary:
- Add a close button when hovering over the component
- Remove the route corresponding to it when clicking on closing
Note:
- This is a part of this PR: https://github.com/facebook/flipper/pull/488
Reviewed By: mweststrate
Differential Revision: D20444419
fbshipit-source-id: 5ebe112c542b033a3e10ed10f23d6a04a730c657
Summary:
- Add mock button if a client supports the function
- Open the dialog when clicking the button
Note:
- This is a part of this PR: https://github.com/facebook/flipper/pull/488
Reviewed By: mweststrate
Differential Revision: D20440145
fbshipit-source-id: 750099020e0b2d6ed10bb20e883f6b3be664ae79
Summary:
per title
Note:
- This is a part of this PR: https://github.com/facebook/flipper/pull/488
Reviewed By: mweststrate
Differential Revision: D20440146
fbshipit-source-id: 0a3ade1e78e62d3bc0d98ef9fb6c3f258b34af23
Summary:
- Add ManageMockResponsePanel to add, modify and remove mocked route
Note:
- This is a part of this PR: https://github.com/facebook/flipper/pull/488
Reviewed By: mweststrate
Differential Revision: D20440147
fbshipit-source-id: 3af127c4b091f288c13b41b74d78c07b4eb0e52f
Summary:
- Add MockResponseDetail component to show and edit mocked route
- Add `immer` package which will be used for internal state handler
Change from PR
- Change to functional component
Note:
- This is a part of this PR: https://github.com/facebook/flipper/pull/488
Reviewed By: mweststrate
Differential Revision: D20440149
fbshipit-source-id: d7c35600b9a22cb62c2bdae7e19abe5c767e3670
Summary:
This diff added dummy state handler for route, which appeared in the next diffs. Routes will be used to render components for mocking handler and determine data on the client side.
State and other variables will appear on the next diffs.
Note:
- This is a part of this PR: https://github.com/facebook/flipper/pull/488
Reviewed By: mweststrate
Differential Revision: D20440150
fbshipit-source-id: d441ae1d53caf7280bef78d937aaa71617e2da9f
Summary:
per title
Note:
- This is a part of this PR: https://github.com/facebook/flipper/pull/488
Reviewed By: mweststrate
Differential Revision: D20440148
fbshipit-source-id: 9365f0b83449f295e819cccc2fa622d866dca129
Summary:
Our post install scripts didn't propagate installation errors in CI (or locally), leading to problems only appearing later in time, causing a lot of lost time {emoji:1f605}
Also moved printing what package is installing to _before_ running the script, so that you have actual useful info in case it fails.
Compilation errors of pkg and doctor were printed in our CI, but never threw exceptions.
Fixed the cause of those compilation errors as well using `skipLibCheck` like done in the root tsconfig
Reviewed By: jknoxville
Differential Revision: D20470985
fbshipit-source-id: 1b13d4d2c096f253cc9c1f0aac06982fc4aedf55
Summary:
This diff fixes a UI bug in export data sheet where the plugin names are stuck to the left and also the bottom buttons are stuck together with no padding. I have also added snapshot test for the same. In order to write test and reduce the complexity I changed the `ExportDataPluginSheet`'s connect method.
Bug:
{F231521086}
Reviewed By: mweststrate
Differential Revision: D20459692
fbshipit-source-id: 1047d6b38738691d682ad6e4ccec45c05e14cbbe
Summary:
This diff fixes an issue where when one imports an archived device and tries to export again through the same device with which the initial import was made then the export functionality tries to also fetch metadata from the archived device, it waits for the metadata till it timeouts.
Also this diff fixes an issue where if the selected plugin is not present in the `selectedClient` then it will also ignore that plugin from the other clients even if it was supported by those clients.
Unit test cases for all the above cases are added.
Bug:
{F231519408}
Reviewed By: mweststrate
Differential Revision: D20459179
fbshipit-source-id: 4f0d8c40bec875e3cc43cd6aa70061c8b8da7b05
Summary:
Currenty in the prod version of Flipper the endpoints of media upload and flipper trace fail with status code 400. Reason being different origin and refferer as compared to the dev version. This diff matches the origin and the refferer with the dev one.
I referenced Anton's diff D20278701.
Reviewed By: nikoant
Differential Revision: D20454562
fbshipit-source-id: 20f80a731878fb491d08a208d64fc9260e442fa3
Summary:
There was a bug where if the `shareFlipperData` returned an `error` with a status code of less than 400 then it will be ignored. If the status code was of greater than or equal to 400 then `shareFlipperData` throws an error and it is caught and logged appropriately.
This diff fixes the above issue where if the return type from shareFlipperData is of type DataExportError then it is checked and not ignored. Also this fixes an issue where if DataExportError happens the loader is replaced with an error message.
Basically the bug mentioned here, T55169042. Also this diff logs the metadata of result, so that we can debug the exact error through scuba.
Reviewed By: mweststrate
Differential Revision: D20450159
fbshipit-source-id: 95b1f384886c16fe444ae0cd6f6d9b2251c29005
Summary: This diff allows direct referencing pkg and doctor packages from the main bundle so they can be changed and used in the main app without publishing to npm
Reviewed By: mweststrate
Differential Revision: D20390416
fbshipit-source-id: af625a8b7cead4481743a88aec198493d363ce76
Summary:
Pull Request resolved: https://github.com/facebook/flipper/pull/878
1) Enabled eslint error reporting for unresolved imports and fixed all the errors
2) Enabled eslint for typings (d.ts) and fixed all the errors
Reviewed By: passy
Differential Revision: D20335151
fbshipit-source-id: 7b142281a406b32df0f02a5cd0d7d05eba941acd
Summary:
Pull Request resolved: https://github.com/facebook/flipper/pull/872
Move all the JS code related to desktop app to "desktop" subfolder.
The structure of "desktop" folder:
- `src` - JS code of Flipper desktop app executing in Electron Renderer (Chrome) process. This folder also contains all the Flipper plugins in subfolder "src/plugins".
- `static` - JS code of Flipper desktop app bootstrapping executing in Electron Main (Node.js) process
- `pkg` - Flipper packaging lib and CLI tool
- `doctor` - Flipper diagnostics lib and CLI tool
- `scripts` - Build scripts for Flipper desktop app
- `headless` - Headless version of Flipper app
- `headless-tests` - Integration tests running agains Flipper headless version
Reviewed By: passy
Differential Revision: D20249304
fbshipit-source-id: 9a51c63b51b92b758a02fc8ebf7d3d116770efe9