Summary:
Using this network tab explorer at a company that works in graphql is very difficult because everything comes from the same HTTP route. I've added support for an optional (not visible by default) "GraphQL operation name" field for people who want to use that.
## Changelog
Adds a new optional column in the desktop network plugin called "GraphQL operation name" which will display the operation name if its available.
Pull Request resolved: https://github.com/facebook/flipper/pull/4625
Test Plan:
I didn't see much in the way of component testing for this behaviour. Looking for some guidance here. I'm happy to add some if we think that makes sense
https://user-images.githubusercontent.com/17029928/227016610-b6da1ff3-4a7e-45c6-88da-ceaa6fad53ad.mp4
Reviewed By: ivanmisuno
Differential Revision: D44331605
Pulled By: aigoncharov
fbshipit-source-id: fe7a7812541c235871ae8a71e5461ea2adbd2560
Summary:
Track:
- Element selected. Include name and tags. Useful to understand what type of elements engineers are selecting in a hierarchy i.e. ui framework, element type, etc.
- Element focused. Same as above.
- Context menu usage
Reviewed By: LukeDefeo
Differential Revision: D44294618
fbshipit-source-id: f2b9642e70818e8a382bbbddc28115a40734dfe8
Summary: See https://fb.workplace.com/groups/flippersupport/permalink/1586389021841750/. Flipper suggests that not connecting to VPN is the problem, while the problem can also not being logged in.
Reviewed By: antonk52
Differential Revision: D44164192
fbshipit-source-id: 993d2a4bdc6a9cb0c45f35856b83449cea294d45
Summary:
Current metrics are deltas from an initial set timestamp. This works but is limiting or affecting the overall accuracy of them.
The aim of this task is to replace the deltas with actual measurements for the operations.
This way we can add/remove operations in between which will not create any impact of them.
Reviewed By: LukeDefeo
Differential Revision: D44026823
fbshipit-source-id: fd7d62c4eab86bab8239b44beecd5c133f6d11c7
Summary: Framework events was added recently so no garentueed to always be on all clients. Should fix T145084769
Reviewed By: mweststrate
Differential Revision: D44064430
fbshipit-source-id: 5dab14a7de5815a25cf8fe7bfa485a6a57d60071
Summary:
Bumps [oclif/command](https://github.com/oclif/command) from 1.8.16 to 1.8.22.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/oclif/command/releases"><code>@oclif/command</code>'s releases</a>.</em></p>
<blockquote>
<h2>1.8.22</h2>
<h3>Bug Fixes</h3>
<ul>
<li><strong>deps:</strong> bump <code>@oclif/parser</code> from 3.8.9 to 3.8.10 (<a href="62a4a05991">62a4a05</a>)</li>
</ul>
<h2>1.8.21</h2>
<h3>Bug Fixes</h3>
<ul>
<li><strong>deps:</strong> bump json5 from 2.2.0 to 2.2.3 (<a href="29dda733e3">29dda73</a>)</li>
</ul>
<h2>1.8.20</h2>
<h3>Bug Fixes</h3>
<ul>
<li><strong>deps:</strong> bump <code>@oclif/parser</code> from 3.8.8 to 3.8.9 (<a href="535285337a">5352853</a>)</li>
</ul>
<h2>1.8.19</h2>
<h3>Bug Fixes</h3>
<ul>
<li><strong>deps:</strong> bump semver and <code>@types/semver</code> (<a href="6904df82f9">6904df8</a>)</li>
</ul>
<h2>1.8.18</h2>
<h3>Bug Fixes</h3>
<ul>
<li><strong>deps:</strong> bump <code>@oclif/parser</code> from 3.8.6 to 3.8.8 (<a href="db059a8623">db059a8</a>)</li>
</ul>
<h2>1.8.17</h2>
<h3>Bug Fixes</h3>
<ul>
<li><strong>deps:</strong> bump <code>@oclif/errors</code> from 1.3.5 to 1.3.6 (<a href="24becbad50">24becba</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/oclif/command/blob/main/CHANGELOG.md"><code>@oclif/command</code>'s changelog</a>.</em></p>
<blockquote>
<h1>Changelog</h1>
<p>All notable changes to this project will be documented in this file. See <a href="https://github.com/conventional-changelog/standard-version">standard-version</a> for commit guidelines.</p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="60fa4d3146"><code>60fa4d3</code></a> chore(release): 1.8.22 [skip ci]</li>
<li><a href="cf08098f12"><code>cf08098</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/oclif/command/issues/357">https://github.com/facebook/flipper/issues/357</a> from oclif/dependabot-npm_and_yarn-oclif-parser-3.8.10</li>
<li><a href="62a4a05991"><code>62a4a05</code></a> fix(deps): bump <code>@oclif/parser</code> from 3.8.9 to 3.8.10</li>
<li><a href="6b9bafea87"><code>6b9bafe</code></a> chore(release): 1.8.21 [skip ci]</li>
<li><a href="8a9f2697e4"><code>8a9f269</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/oclif/command/issues/356">https://github.com/facebook/flipper/issues/356</a> from oclif/dependabot-npm_and_yarn-json5-2.2.3</li>
<li><a href="29dda733e3"><code>29dda73</code></a> fix(deps): bump json5 from 2.2.0 to 2.2.3</li>
<li><a href="e42009f05c"><code>e42009f</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/oclif/command/issues/353">https://github.com/facebook/flipper/issues/353</a> from oclif/dependabot-npm_and_yarn-types-node-14.18.36</li>
<li><a href="1bdeb44b8e"><code>1bdeb44</code></a> chore(dev-deps): bump <code>@types/node</code> from 14.18.35 to 14.18.36</li>
<li><a href="e6f3cf30f5"><code>e6f3cf3</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/oclif/command/issues/352">https://github.com/facebook/flipper/issues/352</a> from oclif/dependabot-npm_and_yarn-types-node-14.18.35</li>
<li><a href="6a25009c2e"><code>6a25009</code></a> chore(dev-deps): bump <code>@types/node</code> from 14.18.34 to 14.18.35</li>
<li>Additional commits viewable in <a href="https://github.com/oclif/command/compare/v1.8.16...1.8.22">compare view</a></li>
</ul>
</details>
<br />
[](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
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/4543
Reviewed By: aigoncharov
Differential Revision: D43905200
Pulled By: passy
fbshipit-source-id: a9b2be74bd3ff52037c53cb9f16abfe544ed1fe7
Summary: The error is non-fatal as it's already handled and it's not actionable by the Flipper team.
Reviewed By: lawrencelomax
Differential Revision: D44054514
fbshipit-source-id: c54c7e935374a1c97e54a5da4daaa3f26b236023
Summary:
The current event label used the event type. The type in itself can have this shape:
`ck:willMountComponent`
The event name is just 'willMountComponent'.
So, extract that piece of data instead.
Reviewed By: aigoncharov
Differential Revision: D43983728
fbshipit-source-id: e232b59cfe3eb0710e56fc9ba7f94b644b07ee74
Summary: Logview reported "Error: Maximum call stack size exceeded" for "getElementLeaves". Apparently, there was a cycle in the graph that caused it. The new implementation should ignore cycles.
Reviewed By: lblasa
Differential Revision: D43976359
fbshipit-source-id: bb5218a3b29706146501241492ee079773d5abc3
Summary: We can't do much if a phone is not setup properly
Reviewed By: lblasa
Differential Revision: D43980508
fbshipit-source-id: 5baf82ae36030b81c7cc90bcf6a5de2af9304fb3
Summary:
I've just packaged Flipper for Gentoo Linux and I wanted to use the system electron instead of bundling its own copy into the flipper executable. To do so I use my custom `electron-builder` and `app-builder` versions, which also allows me to support otherwise unsupported architectures like ppc64. That means skipping the downloading/unzipping/bundling steps for electron, which greatly shortens the overall build process.
Being that fast resulted in countless hours of debugging, because the resulting `app.asar` wouldn't work. At some point I noticed that electron-builder cli was working flawlessly while processing the same exact config through the Javascript API resulted in failure, so I started digging into your scripts and I've noticed that you didn't await `stripSourceMapComment` into `desktop/scripts/build-utils.ts`.
In particular the `compile` function was returning before `stripSourceMapComment` had finished doing its stuff, which ended up messing with electron-builder later.
You didn't notice because you download electron, unzip it, etc which takes enough time to let `stripSourceMapComment` finish its stuff before the actual build starts, but since I skip these steps in order to use system electron I've been able to notice it.
## Changelog
I simply await `stripSourceMapComment` promises in `build-utils`.
Pull Request resolved: https://github.com/facebook/flipper/pull/4586
Test Plan:
`cd desktop && yarn && yarn build` is enough to test this.
## Additional Suggestions
I also suggest to enable the [no-floating-promises](https://typescript-eslint.io/rules/no-floating-promises/) eslint rule in order to ensure similar mistakes won't happen in the future.
Reviewed By: ivanmisuno, mweststrate
Differential Revision: D43974442
Pulled By: passy
fbshipit-source-id: 5acfa3d1479828e9373070c40fe3dd865a862561
Summary:
Add a frameworks events tab. This is currently using the `TimelineDataDescription` component which may ultimately be replaced by something more sophisticated.
In the meanwhile, this does the job of chronologically displaying events with a label.
Reviewed By: mweststrate
Differential Revision: D43948891
fbshipit-source-id: 31ebf8a1d0e126856c3aa5291a1a06d7f2547233
Summary: Make properties optional. Additionally, only show them if found.
Reviewed By: mweststrate
Differential Revision: D43948493
fbshipit-source-id: 0aa77a725663b456f069c717b4ea051008516c9e
Summary: Make this property optional as is not always required to implement it, if not needed.
Reviewed By: mweststrate
Differential Revision: D43948425
fbshipit-source-id: 43ed761c70c4779134f277a4cda53c1e3d326cb8
Summary:
Instead of showing events as inline attributes, just show a badge with the number of it. Event details will be displayed with other means:
- Hover
- Dedicated tab
- Other
Reviewed By: mweststrate
Differential Revision: D43946575
fbshipit-source-id: 762a241040d7fc6afb2c86d129a620ff2bb15feb
Summary: Currently, Flipper server cannot be used with Flipper Launcher on Linux because there is no `flipper` binary in the root of the directory. Adding a quick shell script bridges the call from the checked-in node binary and the server JS file.
Reviewed By: ardavank
Differential Revision: D43837781
fbshipit-source-id: d954ae21d5330aa549d4bc76aefb1d76af8e2c84
Summary: It wasn't exported, instead it was consumed by the 'flipper' deprecated module.
Reviewed By: fabiomassimo
Differential Revision: D43872434
fbshipit-source-id: 70a4a525c660f0779f942739311205417cef3834
Summary: Without the margin, the point is displayed at the top-left which is not centrally aligned with both time and label.
Reviewed By: antonk52
Differential Revision: D43872394
fbshipit-source-id: 087c09e44c65ddaef79cfb25a860d7b4893ba072
Summary: The margin was miss-aligning with the label.
Reviewed By: antonk52
Differential Revision: D43872373
fbshipit-source-id: 8a6ff8104c6e532d8139053aad221244c2cd5feb
Summary:
Set a fixed number of decimals for the 'ms'.
More doesn't give more insights and it messes with the overall layout.
Reviewed By: antonk52
Differential Revision: D43872203
fbshipit-source-id: 343278923ee27dbf884af41c997457bfba337ba8
Summary: Remove the bottom padding as this was not really making it any better.
Reviewed By: antonk52
Differential Revision: D43872178
fbshipit-source-id: 8302385d190c65000afda02b5c8aa9d272ccc271
Summary:
The hover background colour had complete disregard on the selected theme, both light and dark.
This change removes the gradient and instead sets a right hover background.
Reviewed By: antonk52
Differential Revision: D43872161
fbshipit-source-id: 4f0bfd97a2cb6bb9ceb7869dd38b37dc68ad6bb7
Summary: This is firing regularly when people have a broken local setup.
Reviewed By: lawrencelomax
Differential Revision: D43834469
fbshipit-source-id: 1fbc2cf52f93046984e9846f8aed931106542b03
Summary: It has served its purpose, remove.
Reviewed By: LukeDefeo
Differential Revision: D43769239
fbshipit-source-id: 36fb575b15fe9d092c7728a56b735ff98ff78608
Summary:
The goal is to restore the *TimeMachine* functionality in Flipper while the new UI Debugger is working in a revamped version. This version was previously removed in D42573698 (b31f8c8755).
This time machine functionality will only be available for *LithoView* that are backed by a *ComponentTree*.
Below you can find a high-level overview of the current schema:
{F884011465}
Reviewed By: LukeDefeo, adityasharat
Differential Revision: D43574130
fbshipit-source-id: fe9d661e5fcce9655e70be4785652e7048dade54
Summary:
https://pxl.cl/2tKXq
It was reported the feedback prompt title was unreadable.
Reviewed By: mweststrate
Differential Revision: D43533800
fbshipit-source-id: f756a9822c479105dae890159518c05c99405fb7