Summary:
Breaking down 'big' links and diving deeper into stack trace
each link is built from multiple events with same function on top of call stack
Now we can break that group and/or navigate one level deeper in that stack
coloring links: according to the latest event timestamp: blue -> orange gradient
{F232164201}
Reviewed By: SimoneCasagranda
Differential Revision: D20596812
fbshipit-source-id: 9debbc55a716166e20c94f51989742bf40b95878
Summary:
The memoized callback didn't have any dependencies, so whenever a context menu was computed for a component, it was never changed again.
This broke the network plugin as the context menu should change depending on what element is selected.
Reviewed By: cekkaewnumchai
Differential Revision: D20596750
fbshipit-source-id: 275453d972079954e310fd3e97f2dd9f437bf748
Summary:
The network plugin warns about network requests that cannot be properly deflated if they are big and binary. Not sure yet why that is the case and if that is something that should be addressed (planned T63909985 for that), but if the body is big and binary it causes problems for our logging.
While testing I had some requests that where 45m large, and Electron literally hang for a few minutes before recovering. Failed to capture that, but the test plan shows smaller cases of the problem
Reviewed By: jknoxville
Differential Revision: D20560083
fbshipit-source-id: 324eb180b203dd585814dba5c94373d8daee5dde
Summary:
A lack of correct chaining of promises, error handling and not explicitly dealing with the ADB state 'still connecting' causes errors to be shown in Flipper on the main thread, the browser console and in the debug error bar.
This diff fixes several of those issue, which gives a stabler much stabler experience when disconnecting and connecting emulators and physical devices a lot (it is a bit hard to capture in a movie, but more noticeable when doing it IRL)
Reviewed By: jknoxville
Differential Revision: D20559197
fbshipit-source-id: 643172d322aefe1be209741a48fa0e96358881eb
Summary: Fixed circular dependency warnings and removed some dead code while at it.
Reviewed By: jknoxville
Differential Revision: D20557313
fbshipit-source-id: 856c42113a9abe36d3e14f9d538eb40705ceb87f
Summary:
Our usage of requestIdleCallback (probably) causes more trouble than it solves:
1. It makes sure everything is processed asynchronously. But since everything is arriving over a network stack, that is already the case without wrapping it again to run on a separate event loop tick
2. The timeout we set before `500` forces the app to give _more_ priority to message processing instead of less
3. In a next diff (D20151700) in this stack we will make sure that messages are not processed immediately, but simple stored, which should not be significantly more expensive (probably even cheaper) than scheduling another tick on the event loop
Reviewed By: jknoxville
Differential Revision: D20557104
fbshipit-source-id: 6cc10ba537e3cb5f31e6c32e1fdeb57c20f06f17
Summary: Did run for 2 months stable now, time to remove some dead code.
Reviewed By: passy
Differential Revision: D20556785
fbshipit-source-id: 514673995212d62d21744f304286caa6e91007fb
Summary: Added tsconfig.base.json and extend other tsconfigs from it.
Reviewed By: passy
Differential Revision: D20594653
fbshipit-source-id: 28dd80262613e78a7c4ce25fa31f251537ec2b06
Summary:
Updates the instructions to integrate iOS pods for the case with the usage of `use_frameworks!` for cocoapods 1.9. Also changed our podfile for Tutorial app and add travis test for the same, so that in future if there are any further changes with the API in new releases of cocoapods, we can catch it.
## Changelog
- Added travis test for iOS Tutorial app
- Updated the getting started guide for iOS
Pull Request resolved: https://github.com/facebook/flipper/pull/892
Test Plan: Travis test passed and also tested that tutorial app builds with cocoapods 1.9
Reviewed By: mweststrate
Differential Revision: D20587989
Pulled By: priteshrnandgaonkar
fbshipit-source-id: b297e6b1298a20a9279ad6414e9d099917876fb1
Summary:
Set line height to make space between lines look better in cramper space (See Test Plan).
This has direct side effect on:
- https://fburl.com/diffusion/0dtt1cgl
- ToggledSection component
In addition, this diff adds an offline cache.
Reviewed By: mweststrate
Differential Revision: D20574486
fbshipit-source-id: 8689bc95e2f18409e82c923fea361e033e77bc00
Summary:
1) Add VSCode settings to the source control, so users won't need to configure them
2) Copy VSCode settings to both "sonar" and "sonar/desktop" folders so both folders can be opened for development
Reviewed By: passy
Differential Revision: D20594643
fbshipit-source-id: 4331659008e4dbf9dfcc44a3723ab0612a3bd333
Summary:
1) moved "sonar/desktop/src" to "sonar/desktop/app/src", so "app" is now a separate package containing the core Flipper app code
2) Configured yarn workspaces with the root in "sonar/desktop": app, static, pkg, doctor, headless-tests. Plugins are not included for now, I plan to do this later.
Reviewed By: jknoxville
Differential Revision: D20535782
fbshipit-source-id: 600b2301960f37c7d72166e0d04eba462bec9fc1
Summary:
See the linked task. The QPL can literally freeze Flipper. Initial testing showed that the cause is primary the timeline view.
It was already suggested in the past to hide the timeline by default, as it is not that useful. So did.
Will try to unbreak the timeline in the future, but this at least unblocks the linked task.
Reviewed By: jknoxville
Differential Revision: D20538421
fbshipit-source-id: 8f5cd18c89322e94da5ab055e1913b6434eacf8a
Summary:
This has never worked due to historic problems with idb log: https://fb.workplace.com/groups/idb.users/permalink/875711589527983/
It sounds like they have been fixed though, so I'll look into getting it going. But for now, disabling it until it's working to hide a broken experience.
Reviewed By: passy
Differential Revision: D20534205
fbshipit-source-id: 3a39c9930fa195562d946bcfe9fd3388e3329be3
Summary: When expanding the sidebar, sometimes the sign in / profile button would disappear, as the main content would be to height
Reviewed By: passy
Differential Revision: D20534482
fbshipit-source-id: 6248df501afcefc4afb6df3a6fd864462f8290e4
Summary:
***
☝️ **Important announcement:** Greenkeeper will be saying goodbye 👋 and passing the torch to Snyk on June 3rd, 2020! [Find out how to migrate to Snyk and more at greenkeeper.io](https://greenkeeper.io)
***
## The devDependency [types/recharts](https://github.com/DefinitelyTyped/DefinitelyTyped) was updated from `1.8.6` to `1.8.8`.
This version is **not covered** by your **current version range**.
If you don’t accept this pull request, your project will work just like it did before. However, you might be missing out on a bunch of new features, fixes and/or performance improvements from the dependency update.
---
**Publisher:** [types](https://www.npmjs.com/~types)
**License:** MIT
[Find out more about this release](https://github.com/DefinitelyTyped/DefinitelyTyped).
---
<details>
<summary>FAQ and help</summary>
There is a collection of [frequently asked questions](https://greenkeeper.io/faq.html). If those don’t help, you can always [ask the humans behind Greenkeeper](https://github.com/greenkeeperio/greenkeeper/issues/new).
</details>
---
Your [Greenkeeper](https://greenkeeper.io) bot 🌴
Pull Request resolved: https://github.com/facebook/flipper/pull/899
Reviewed By: mweststrate
Differential Revision: D20520128
Pulled By: passy
fbshipit-source-id: fb7b58663a117f7b2c43835ab5030a84d25fe1e0
Summary:
Follow up of D20454562
We now set an origin header, but use https instead of http, which is currently not supported by the public RN version (for the internal RN version support was added in D20526486).
However, not promoting ourselves as running on a secured connection seems like the more trustworthy thing to do, and better reflects reality.
Reviewed By: nikoant
Differential Revision: D20534363
fbshipit-source-id: e26fabd77013920e4c58fdbf552bb909f0499cae
Summary:
Before this diff, the input bar is unresponsive to the user input; when one typed fast enough the input doesn't reflect that as shown in the before video (the console printed the log directly when `onChange` was fired).
This diff tried to store value locally and use that to render. When the component is closed, the state update will take place. This tried to solve too many state update.
Reviewed By: mweststrate
Differential Revision: D20489142
fbshipit-source-id: c118adc61d9234daec17782e4bbf8e4ea3dd369f
Summary:
In this diff we persist data about the state of the app when exiting, and to make sure we capture it in crashes, do that as part of track-usage events as well.
with the exit data we also capture what kind of device and plugin the user was using, so that we can detect anomalies like flipper needing restarting more often for certain plugins
during startup, we will always send an event how long it was since the last startup, including the above information
Reviewed By: passy
Differential Revision: D20515200
fbshipit-source-id: ead971e05542e0ef58ed5e5b204af70b51a15b9b
Summary:
There was a bug reported recently where the fetching all the nodes failed and the error is pasted [here](https://our.intern.facebook.com/intern/paste/P127476330/). From the paste we can see this `android.content.res.Resources$NotFoundException: Unable to find resource ID #0x0`.
Reported bug is [here](https://fb.workplace.com/groups/flippersupport/permalink/830359447444715/)
I was able to repro this luckily
{F231474948}
Reviewed By: xiphirx
Differential Revision: D20441839
fbshipit-source-id: 9e9bfd15422c0f6c6f7a71aa22e9b1c8d640ec4a
Summary:
Original commit changeset: 41028c11da6c
I will use mitmproxy for offline support, but till then lets back out the diff and make our tests work for all cases
Reviewed By: passy
Differential Revision: D20514538
fbshipit-source-id: c081baba0a0c7189ae862a66b6116f26b1401177
Summary:
This shows a changelog as popup at startup, but only if it wasn't shown before, and only if there are new items in the changelog.
The full changelog can still be accessed through the menu
Changelog: From this release onward we will show important update messages through this dialog.
Reviewed By: passy
Differential Revision: D20492594
fbshipit-source-id: 4663979c8781b468430b9f8b628c4f506578b461
Summary:
Added a menu option to show the current changelog.
Automatically showing it will be done in a next diff.
Reviewed By: passy
Differential Revision: D20219725
fbshipit-source-id: 96727d2e4b2280a814f28298e7440db5e4dd7870
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: It took me a few tries to understand what this was for.
Reviewed By: jknoxville
Differential Revision: D20462208
fbshipit-source-id: f6dac7836409c8d4ec1ffb90a74f632624fb68f7
Summary:
- Avoid holding lock while calling out to `send:withParams:`; it's hard to reason about whether we could trigger deadlock.
- Remove unnecessary `lastInvalidateMessage` ivar; we already ensure that we send at most one invalidate batch per 500ms by using `invalidateMessageQueued`.
- Misc code style items
Reviewed By: Andrey-Mishanin
Differential Revision: D20462193
fbshipit-source-id: 80f61e5a7ce5021e16ebc19a2ec40adfc46f9b92
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