Summary:
Handling issues typically start with: did you look at the Electron logs? Since Flipper is such an extensible tool, running in varying environments I think the console should be support as first class concept. Many errors are currently not shown to the user. This PR is a first attempt to fix that.
The implementation is based on https://github.com/samdenty/console-feed, which is used by quite some web based IDE like tools (like codesandbox), and offers a lot of goodies out of the box, like collapsing errors, objects, etc.
Edit: also added a counter keeping track of the amount of errors
N.B. no need to immediately review this diff, I'll import it to phabricator as soon as I can :)
## Changelog
changelog: Introduce 'Debug Logs' section to help users to troubleshoot issues or to provide more accurate reports.
Pull Request resolved: https://github.com/facebook/flipper/pull/1479
Test Plan: 
Reviewed By: jknoxville
Differential Revision: D23198103
Pulled By: passy
fbshipit-source-id: a2505f9fa59e10676a44ffa33312efe83c7be55d
Summary:
I've gone through all imported pages and fixed all images and links (and anything else) that didn't get converted successfully.
Also changed the new # headings to use ##, because it works better here.
And organized the sidebar like it was on the wiki
Reviewed By: passy
Differential Revision: D23241772
fbshipit-source-id: 7eab8d7d520c5d605525d9b4ad9b12b48ca92bcc
Summary:
This is an automated PR to update the Podfile.lock.
- Make sure that the Podfile.lock contains latest FlipperKit and Flipper pod versions.
- Also make sure that all the dependencies are updated to the latest one.
- This is auto-generated by [create-pull-request](https://github.com/peter-evans/create-pull-request)
Pull Request resolved: https://github.com/facebook/flipper/pull/1485
Reviewed By: priteshrnandgaonkar
Differential Revision: D23241704
Pulled By: passy
fbshipit-source-id: 025947bdf480bdee800717396c1317a5926c6210
Summary:
As per the title
Bug:
{F288338655}
Reviewed By: mweststrate
Differential Revision: D23168390
fbshipit-source-id: e57ac1f22c0a3932fe9948d16cf9fc9cc74ab636
Summary: Bringing this to the latest version everywhere.
Reviewed By: priteshrnandgaonkar
Differential Revision: D23051537
fbshipit-source-id: 5cad59ab6fcc57fc72df8ace985a7b5f39de2bda
Summary:
Bumps [data-encoding](https://github.com/ia0/data-encoding) from 2.2.0 to 2.3.0.
<details>
<summary>Commits</summary>
<ul>
<li><a href="c0facaff53"><code>c0facaf</code></a> Release 2.3.0</li>
<li><a href="d215bc04cb"><code>d215bc0</code></a> lib: Add encode_append function</li>
<li><a href="07dfc9bde4"><code>07dfc9b</code></a> Remove fuzzit</li>
<li><a href="eaa9e11482"><code>eaa9e11</code></a> Release 2.2.1</li>
<li><a href="5aa1d4709b"><code>5aa1d47</code></a> lib: move cargo.toml badges to readme</li>
<li><a href="b6de71c398"><code>b6de71c</code></a> fix coveralls badge</li>
<li><a href="5d4ce64fbb"><code>5d4ce64</code></a> lib: use tarpaulin</li>
<li><a href="9b53af1e4a"><code>9b53af1</code></a> lib: explicit description</li>
<li><a href="f9d4bc3fc2"><code>f9d4bc3</code></a> lib: Add no-std category in Cargo.toml</li>
<li><a href="168aff449e"><code>168aff4</code></a> Release macro 0.1.8</li>
<li>See full diff in <a href="https://github.com/ia0/data-encoding/compare/v2.2.0...v2.3.0">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)
</details>
Pull Request resolved: https://github.com/facebook/flipper/pull/1449
Reviewed By: mweststrate
Differential Revision: D23161719
Pulled By: passy
fbshipit-source-id: a7512b96ea8336595435f7a1eed5043b1578d642
Summary:
Detect the framework used for a given component and accordingly, display a proper IDE list.
[FB Only]
changelog: It is now possible to directly open CKComponents from the Layout inspect
Reviewed By: adityasharat
Differential Revision: D23158628
fbshipit-source-id: 305f10752c72eac001334f09bab29264e3e328a6
Summary:
Added corresponding method for CKComponents which handles two main cases:
- CKSomeComponent_Spec should have corresponding CKSomeComponentSpec.mm
- CKSomeComponent should have corresponding CKSomeComponent.mm
Reviewed By: cuva
Differential Revision: D23158626
fbshipit-source-id: 9d5645a70d838847696aced6bbc947a8c4383f0c
Summary: Useful for next diffs: enables to detect whether we have LithoComponent or CKComponent
Reviewed By: adityasharat
Differential Revision: D23128972
fbshipit-source-id: b9aef358c1426df4f05213c42e43402e8cae984f
Summary:
Few cases to consider:
- SomeComponent.* might correspond to SomeComponentSpec.java
- SomeComponent.* might correspond to SomeComponentSpec.kt
- SomeComponent.* might not have a corresponding Spec file
- SomeComponent.kt (if it's a KComponent) corresponds to SomeComponent.kt
Reviewed By: adityasharat
Differential Revision: D23100032
fbshipit-source-id: f0604f3d1061f0e15fa2f455bdddd4d07ac12305
Summary:
- Passing the `treeNodeIndexPath` from `FocusInfo` all the way to the `Tree` component.
- Using the index path to find the right node and give it a different visual appearance.
Reviewed By: kevin0571
Differential Revision: D23161057
fbshipit-source-id: 05a95444bb76c1f28a21b42bf477ed9c9929e3b1
Summary:
- Added `treeNodeIndexPath` to `FocusInfo` which represents the path to the selected node in the component tree.
- Extracting scope root ID from payload to identify the time line track that corresponds to the selected component.
- Finding the most recent 'Tree Build' event on the track so we can be sure the selected component is in the associated component tree.
- Extracting the index path to the selected node in the tree.
Reviewed By: kevin0571
Differential Revision: D23160875
fbshipit-source-id: 8607bf7b34bca1374f9fafded197b35c811f3f75
Summary:
- Use `FocusInfo` type instead of a raw string (I'll add another field to it in the next diff and it made sense to keep the changes separate).
- `userSelectedGenerationId` now has the type of `string | undefined` for consistency.
Reviewed By: fabiomassimo
Differential Revision: D23160820
fbshipit-source-id: f210d93b9ed7cb25eb3c2c8e6e6aadec4dc872d7
Summary:
This diff adds upload and download logic for certs. It makes changes on both Flipper Client and Desktop side. With this we enable cert exchange through WWW.
Next Diffs:
1) Add Flipper state in cert provider for more debug data
2) Tests
Reviewed By: jknoxville
Differential Revision: D23092706
fbshipit-source-id: e576253606b64b62848b70203db7e09a3bd77fd9
Summary:
The new version's disableSwitch isn't equivalent to disabling dark mode like it did before. The default is still dark but now there's no way to change it.
This makes the default light again. Would be nice to enable the dark mode switch, we just need someone to make sure the CSS colours have good enough contrast etc. PRs very welcome!
Dark mode:
{F287823751}
Reviewed By: mweststrate
Differential Revision: D23161145
fbshipit-source-id: fa887afbffa8a1e1e753833b2dba618c5f93435f
Summary:
Added papercuts link to the thanks message after user submits a rating within the star rating popup.
Also increased the timeout after submitting ratings from 1500 to 5000, due to the longer thanks message. Also added a dismiss option.
Reviewed By: jknoxville
Differential Revision: D23115320
fbshipit-source-id: 78de3481e5a085949ddbfbdd51ff499b8b567959
Summary:
Upgrading to 61 to get support for absolute links with markdown syntax.
All other changes here are required by the new config validators.
Reviewed By: passy
Differential Revision: D23130020
fbshipit-source-id: cadb3c629d6a8e64931a8db0b86621d05ee5c30e
Summary:
Removing extra space in README.md
## Changelog
Change in README.md
Pull Request resolved: https://github.com/facebook/flipper/pull/1464
Test Plan: Removing extra space between text
Reviewed By: cekkaewnumchai
Differential Revision: D23103953
Pulled By: passy
fbshipit-source-id: e5f0b6338d64ca2384fe1c42efce1604088c6ce7
Summary:
Removed basic grammatical errors in two docs files: architecture.mdx and client-plugin-lifecycle.mdx
## Changelog
Update architecture.mdx and client-plugin-lifecycle.mdx docs
Pull Request resolved: https://github.com/facebook/flipper/pull/1459
Test Plan: There is only text change in documentation. The code is unchanged.
Reviewed By: cekkaewnumchai
Differential Revision: D23101962
Pulled By: passy
fbshipit-source-id: 24d9233d67a19745696b40ea6c2d3ac2d26231c3
Summary:
There's a bug in the network inspector.
Messages come in in batches for performance reasons.
These batches can include both requests and responses, but the code assumes only one or the other.
This fixes it to make it not mutually exclusive.
This bug only affects row building in the table, so when you click on the row, you can still see the response and everything.
Reviewed By: cekkaewnumchai
Differential Revision: D23102575
fbshipit-source-id: 47e8c6b0f1c9cf0d5860b6f349a7d9fe225c73ae
Summary:
Running `instruments -s devices` causes the `pkd` process in catalina to spike to ~100% for a few seconds.
Flipper runs this command every 3 seconds to poll for devices.
This switches it to use `idb list-targets` instead which is much more performant.
Currently switched off in the open-source version while we make sure it's working well. If you set the GK value 'flipper_use_idb_to_list_devices' to true, then you'll get the new behaviour.
Reviewed By: passy
Differential Revision: D23102067
fbshipit-source-id: 9e17155d938a4fe326e082511f747444e4b533a2
Summary: It chokes on some malformed JSON files it has no business of looking at to start with.
Reviewed By: jknoxville
Differential Revision: D23057498
fbshipit-source-id: 0fac710bb9b2af426e478f156aae43bcb90de482
Summary: Added new events for 'open in IDE' functionality within the Layout Plugin
Reviewed By: passy
Differential Revision: D23075105
fbshipit-source-id: 1d18977da728bb4c53cd13e8669253dea65d7c4d
Summary:
This diff adds a toggle setting in wilde which will enable certificate exchange through www.
Right now it just sends the information about which medium to be used for cert exchange to Flipper JS and its client side. But its implementation is not done yet.
### Flow for Wilde
Whenever user changes the setting(or when user logs out) we set the state of exchange medium and accordingly set/reset authtoken. Note at no given point we remove already existing certificates.
### Context for OSS
With this diff we introduce another way to do certificate exchange. Before this diff, we did certificate exchange by accessing the file system of app. But it turns out it's not possible to do that in applications signed by enterprise certs. Thus with this diff one can write their FlipperKitCertificateProvider and fetch the certificate from WWW.
Reviewed By: jknoxville
Differential Revision: D22896320
fbshipit-source-id: 55aef7028a62e71ba9c02f9f79acaab41d09c0c6
Summary: This is tanking our success rates, but is an expected behaviour.
Reviewed By: jknoxville
Differential Revision: D23001697
fbshipit-source-id: 48bcdb99543d590d544cce8322950568a0ef5c6f
Summary:
We got a heads-up from the GitHub support that the way we use our
access tokens is deprecated and will soon stop working.
More details here: https://developer.github.com/changes/2020-02-10-deprecating-auth-through-query-param/
Reviewed By: jknoxville
Differential Revision: D23003718
fbshipit-source-id: e2a493be97cdc81161791a1bb07864853ca5049c
Summary:
It's common for responses to be completely missing in the network inspector. This is because they are larger than can be serialized in one go on some devices, so we drop all messages larger than 1MB.
This changes the android client to send large responses in individually serialized batches. This way we avoid running out of memory and can still send arbitrarily large payloads.
Changelog: Android network inspector can now handle responses large than 1MB.
Reviewed By: passy
Differential Revision: D22999905
fbshipit-source-id: ff4eb8fa72a7e42ea90d12ffe0f20c6d1e58b7e5
Summary:
Added infra for writing and using custom eslint rules and created a rule for disallowing cross-package file imports. Such imports are anti-pattern and they also break standalone plugin bundling.
We still have a bunch of places where Flipper core references code directly from plugins. I've ignored these places for now and added task T71355623 to revisit them.
Reviewed By: passy
Differential Revision: D22998955
fbshipit-source-id: d04cff8fc115ba1300a7e6830306ec134046e927
Summary:
thefutureisnowoldman
Changelog: Changelog entries now link to their GitHub commits
Reviewed By: passy
Differential Revision: D22999105
fbshipit-source-id: 77e4884a3515245ba9296d8c4f59cdcb3c4b098d
Summary:
This is an automated PR to update the Podfile.lock.
- Make sure that the Podfile.lock contains latest FlipperKit and Flipper pod versions.
- Also make sure that all the dependencies are updated to the latest one.
- This is auto-generated by [create-pull-request](https://github.com/peter-evans/create-pull-request)
Pull Request resolved: https://github.com/facebook/flipper/pull/1444
Reviewed By: nikoant
Differential Revision: D22998104
Pulled By: passy
fbshipit-source-id: a36d2e8bcf618dabea05e65228433ee33fa78a0d
Summary:
Populate class name for Litho Sections.
See D22922106 (86cafb9e80) for reference
Reviewed By: adityasharat
Differential Revision: D22949896
fbshipit-source-id: d804971708cf8c8466dd74eda3e750957dc95fc9